I pretty much finished up the design for my light web strategy game the evening before last. Yesterday I hammered out the data model and found a few small things missing from the game design, which were easily rectified. I just reviewed both the game design and the data model and only managed to find one more small thing to correct in the data model, so I think the initial game design is done. That isn’t to say its perfect and will now be etched into diamond never to be changed again, but it does mean the end of the game design phase.
I decided do try something non-standard with the ranks and scoring. When a player starts the game they enter the currently open heat and they exit the heat (to immediately join the now currently open heat) upon taking their 1000th turn since joining that heat. A heat will also terminate on its own when 10% of the players have exited, the current round ends, or its been open for 30 days. Players get four ranks for a heat. One is based on # of territories created since entering the heat, one on population acquired since entering the heat, one is on prevailing in PvP conflict since entering the heat, and the fourth is the based on the sum a players other three ranks (not the values that determine those ranks, but the ranks themselves). The idea behind making the value going into the ranks relative to just the start of the heat is to provide for more direct competition between new players and long time players. The idea behind having multiple ranks is allow different playstyles to be rewarded. Those are the ideas anyway. We’ll see how it actually works out in the game. Could be that heats favor either new or long time players to much or the top players will dominate all of the ranks. If that turns out to be the case there it may be possible to salvage this system with some tweaking, but if not then heats can simple be cut.
All players are ranked together for the round, which ends when the first player exits their 5th heat. When a round ends the world is reset excepting alliances. All players are also ranked together for the game, which ends when the fifth round ends. Alliances are also rank by round and game in the same way that players but by the average values of all of the players in the Alliance (that’s right average values, so simply being the biggest alliance doesn’t guarantee coming out on top). As with heats there are multiple ranks for rounds and games.
I also added what I’m calling exploits to the design, which are not dissimilar to 360 acheivements, but they do have an impact on the a players game score (this is unique at the game level and not present at the round or heat level). There are competitive exploits such as achieving one of the top 3 ranks in a heat or round, being the first to create a territory in a heat, round, or game, being the first to create 25 Minions in a hear, round, or game. There are also personal exploits such as creating your first territory and creating 25 minions that can be achieved once in a game. Yes the be-the-first-to and the first-time-you exploits you identical criteria, but the competitive ones are worth more when achieved for the round (2x) or game (5x).
Anyway, now that the initial game design is complete its time to do some code design and then get on with the coding.