Why a Wargame?🔗

  • They are fairly easy to understand and infer behavior of but they are very difficult to fully master.
  • It has strict rules to guide success/failure. Almost all of the information (inputs & outputs) is knowable & well-defined.
  • As Diplomacy proves, you can play them completely async.
  • They can provide interesting data to analyze about strategy/game-theory.
  • The players are fiercely loyal and dedicated to testing/validating your code.
    • Unspecified behavior WILL be tested by players, methodically for exploitable mechanics

What makes this one different?🔗

  • Minimal, Reliable, Fast: User experience should be modern, fast and minimal where ever possible. Icons should be used sparingly and be informational. Somebody should be able to pull it out, quickly click 3 things on their phone and put it away without getting accused of "playing a game" in class/meetings/etc.

  • Async. Wargames are a time consuming act. Played poorly they can take hours, played well days. And who has time for that? Instead, by using timers/cooldowns, the game can play like a board game at each user's own pace over the course of ~30-90 days. Ideally, the average player checks in for ~5-10 minutes a few times a day, maybe less. Extremely active players would still be able to maintain an active job, play from school/university, etc. Not only does this allow players time to form an informal social network, it allows players time to devise interesting and creative strategies over the course of days/weeks.

  • Analysis of EVERY action. Players interested in strategy also tend to be players who would enjoy seeing a replay of why a war was lost. Allowing for this replay during the game gives exploitable advantages to those willing to spend the time to analaze the data. During the game, stats (such as exact damage per unit, per force, per battle, etc) may be hidden. After the game is over, however, a "ledger" of all actions within the game is provided to users for deeper analysis. Think of this as the highlights reel of a sports game.

  • In-game calculations actually in-game: A player should only be making a spreadsheet for this game when they're proposing a new feature. Anything that can be fairly pre-computed for the player, should be. Anything that cannot be fairly computed should be computed for the "post-round analysis".

  • Many parallel games with varying rule-sets and varying team sizes: Many times, a round is just a "dud". The random number generator gives one side too many advantages and it'd be nice to be able to move on to "next round" now. By allowing a single player to join multiple "game rounds", it reduces the urge to "switch sides" and create an account on the winning team. It also allows for rounds to be locked after its too late for new players to "catch up".

    • This is where Kubernetes comes in.
    • Crafting rules can be its own meta-culture as well.