I had an idea last night for PvP conflict game mechanics that doesn’t use traditional stats based combat between units. Instead units are unkillable, but they are downgradable (by a upgraded specialty unit) and stealable (through two stage process by two upgraded specialty units). Downgrading is somewhat like killing a unit as the cost paid to upgrade it is lost and it is now useless until upgraded again. Stealing a unit, by first decreasing its loyalty to zero and then imbuing it with some loyalty to you, is actually worse then having it killed since it can now be used against you in the same conflict. There is also an upgraded specialty unit to increase loyalty as a counter to attempts to steal unit, but I haven’t currently included a counter against downgrading, so that means just having lots of downgraders of your own to downgrade all of your opponent’s downgraders before they downgrade yours. A unit can only be upgraded to a downgrader on the players home turf, so that gives a player an advantage when some one goes after them at home, but players are on equal footing when conflict occurs on non-player turf.
Doing it this way means I don’t need to come up with combat related stats for units. I just used the the mind stat I already had. There was a body stat I pulled in from my heavy web strategy game the design of which is now on hold, which I was simply able to remove.
At this point the game design includes exploration, building, PvP conflict, and player score and rank (i.e. what players are ultimately competing for), which seems good enough for a light web strategy game. When I started the design I was doing it by modeling the game state changes for each player action in an speadsheet. This started bogging me down last night, so I designed a number of things out without modeling them, so now I’ve got some spreadsheet grunt work to do. Assuming that exercise doesn’t reveal in glaring flaws, I’ll just need to do some basic code design, and then code up and unit test the mechanics, and then write the Pylons controller and GAE data model code around the game mechanics code.