Monday, December 29, 2008

Board game simulator

To create a board game from stratch there seems to be several basic steps.

1) Idea!
2) Create board, "borrow" pieces from other games, and design the rules.
3) Play test
4) Goto Step 2, tweaking to make the game better.

Play testing involves playing your game over and over looking for issues. A user on bgdf.com wrote up a quick summary of how to play test. Many of the things listed are things you can only do in person, but something I have been pondering is how you often here the hundreds of times designers have played games. One game I got for christmas Agracola someone said the designer played it more then 500 times before the first production run. Part of the reason a designer play tests is to make the game as good as possible and to find the flaws. Even simple things like the first player can always win could take several games to discover. As different strategies are noticed it would be nice to be able to quickly apply them in a computer in hundreds of runs of the game to see if the game has a flaw and how tweaking rules would help or hinder. Rather then spending two hours playing a game with a fundamental flaw it would be nice to be able to discover that automatically and use the two hours to play good versions of the game. This would hopefully reduce the total number of play tests.

There are a few board game software programs on the internet, but they seem to be leaning to helping you visually see a board game on a computer, or setting up some website where users can play a board type game on the web (such as a quick and dirty flash movie tie in game).

So the idea would be to create a simulator (doesn't even need graphics) where after creating a game and inputing different strategies you can have the computer run the game many times over. Every game would be fully recorded so they could easily be compared. With the computer playing thousands of versions of the game it should help to discover flaws that make the game unbalanced (and thus unfun). It should help spot that a player who does action X ends up always winning/loosing a game. Or even something as simple as the first player always wins. Try tweaking rules and re-running the simulations to see what changes. Or graphing parts of the game such as victory points to notice that the game is mostly over half way through and last few rounds don't matter. All this information would be to help guide and maximize the time consuming real world play testing.

The simulator could not say if a game is "fun", but it could help to discover that the player who doesn't buy "item X" before round 4 will never win the game and even worse will be so far behind that at they will go bankrupt/loose/starve only half way through the game. Then one could tweak the rules so everyone can get a chance to buy item X before round 4 even if there are 5 players.

Of equal, but different value would an online version of this that people can play test the game. All games are completely logged. There will be way less games played, but you can see how often they reference the rules, how long they wait between turns and notice new strategies that are taken. The logged information can be inputted back into the system to more accurately determine play times, statistics and even base simulated game play upon what real players do such as with Bayesian filtering.

Disclaimer: I have never designed a board game nor done much research into this hobby. I have only thought about it from time to time as it seems like something fun to do and having a tool like this would be helpful. If you design board games please feel free to point out why this ideal is silly (or might even be useful) in the comments.

No comments: