Skip to content

Commit

Permalink
The Schemaverse v1.0! Changes to Stats and Trophies
Browse files Browse the repository at this point in the history
  • Loading branch information
Abstrct committed Feb 23, 2012
1 parent d593ca7 commit cc73135
Show file tree
Hide file tree
Showing 33 changed files with 2,043 additions and 107 deletions.
39 changes: 39 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,42 @@
# 2012 02 23

create_schemaverse.sql - v1.0.0 <--- Awwwwww yeah. That's nice.
stat.pl - v1.0

Gameplay / System Changes
[Trophies]
- Trophies now have a Weight and Run Order
- Trophies can now be back-run for older rounds
- ROUND_CONTROL() calls the new trophy_script_#(_round_id integer) instead of trophy_script_#()
- 29 New trophies were created to take advantage of the Weighting
- You can see who is currently in the running for a trophy by issuing a select against trophy_script_#((SELECT last_value FROM round_seq)); where the # is the trophy ID.

[Stats]
- Stat Tables: player_overall_stats, player_round_stats, round_stats
- Stat Views: current_player_stats, current_round_stats, player_stats
- player_round_stats are updated 1 by 1 over time in stat.pl
- round_stats is updated after every 100 player updates in stat.pl
- player_stats shows both stats for the current round as well as aggregated stats from previous rounds
- players have access to SELECT on all stat views and tables. The table results will not be as fresh but will be returned much faster compared to the views
- ROUND_CONTROL() updates the stats before issuing trophies
- ROUND_CONTROL() prepares the new stat rows for the new round in player_round_stats and round_stats

[Misc]
Changed where the Variable related functions were created within create_schemaverse.sql so that the script actually works

# 2012 01 23

Bug Fix
- ships_in_range.health now returns a numeric value rather than an integer. Represents the percentage of a ship's remaining health.

# 2012 01 15


Gameplay change / Bug Fix
- Ships can no longer create ships at location (0,0). This was how the rule was intended during the recent map changes but I missed commenting out a line in create_ship
- A ship's first coordinates are also now added to the ship_flight_recorder during create_ship_event


# 2012 01 13

create_schemaverse.sql - v0.14.2
Expand Down
33 changes: 8 additions & 25 deletions README
Original file line number Diff line number Diff line change
@@ -1,39 +1,22 @@
What is Schemaverse?
The Schemaverse is a space-based strategy game implemented entirely within a PostgreSQL database.
Compete against other players using raw SQL commands to command your fleet. Or, if your
PL/pgSQL-foo is strong, wield it to write AI and have your fleet command itself!
The Schemaverse is a space-based strategy game implemented entirely within a PostgreSQL database. Compete against other players using raw SQL commands to command your fleet. Or, if your PL/pgSQL-foo is strong, wield it to write AI and have your fleet command itself!

Why?
Originally, I just wanted to see if I could actually pull it off. Now that I know I can,
I am developing the game further to make it actually fun and challenging to compete within.
Originally, I just wanted to see if I could actually pull it off. Now that I know I can, I am developing the game further to make it actually fun and challenging to compete within.

Quite a bit of effort will also be put into making this project fit to be used as a teaching
aid for all levels of database lessons. If you would like to help with this please contact me :)
Quite a bit of effort will also be put into making this project fit to be used as a teaching aid for all levels of database lessons. If you would like to help with this please contact me :)

Schemaverse was tested on Postgres 9.0. For the most, the game is working but I am
still testing some functions. I have put it online so that others can help me test it
more thoroughly.
Schemaverse was tested on Postgres 9.1. For the most, the game is working but I am still testing some functions. I have put it online so that others can help me test it more thoroughly.

Yes, a lot of my queries are a bit ugly at this point. Optimization will come after
the game is working.
Yes, a lot of my queries are a bit ugly at this point. Optimization is now being tackled.

IMPORTANT NOTES

I created this game to learn more about security in postgres. This means that this game,
in it's beta state, is probably extremely insecure. DON'T RUN THIS ON SOMETHING IMPORTANT.
I created this game to learn more about security in postgres. This means that this game is probably extremely insecure.

I really suggest you create a user named schemaverse which should have most rights over
the schemaverse database. If you choose to use a different username you will need to
change some spots of the create script which reference this user.

Each player has their own postgres user account. Keep this in mind so you don't
accidently allow a user to take over high privileged accounts.

The create script will also create a group called players automatically. Obviously, if you
already have a user named this in your installation this will cuase problems.

Once the game hits a stable release I will write a script to allow for more custom installations.
DON'T RUN THIS ON SOMETHING IMPORTANT.

-Abstrct
www.schemaverse.com


Loading

0 comments on commit cc73135

Please sign in to comment.