Game of Life: Total War - an analysis
Approximately 4 weeks ago, I launched a side project, called Game of Life: Total War. It is a multi-player, competitive variant of Conway's Game of Life. It spent some time on the front page of Hacker News, and some time on the front page of /r/programming on Reddit.
Apart from Linode sending me emails at 3AM telling me that my CPU usage was too high (thanks, HN), it all held up pretty well. So far there have been over 3000 challenges created, almost 2000 armies, and about 300 user accounts created (you can create an army and play without creating an account, but accounts let you create and keep multiple armies).
So I've decided that it's about time to start analysing all this data, and see what patterns emerge.
About the Data
From this data, which I took a week ago, there are 2,588 games across the five 'board sizes' available in GoL:TW. For simplicity's sake, I've decided to focus on the most commonly used board (120 x 80 cells). The data here represents 1,868 challenges that managed to play out (there were a number of games where either attackers or defenders did not submit their starting placements). To examine the data, I analysed the starting and final positions for these 1,868 games, and turned them into 'heatmaps'.
Attackers (red) had a fairly even starting positions, while the defenders (blue) took a more marked strategy. The Civilians (yellow) were weighted towards the centre, but appeared to take a slight (and entirely unintentional) bias against the attackers. A possible reason for the really intense defence strategy is that a number of people built bots to play for them, and the bots tended to take the defensive role rather than starting new games.
All together, the complete picture of life start points looks like this:
The defender starting strategy is still very visible, but the attackers appear to have a much lower concentration of force anywhere.
There's nothing spectacularly unexpected here. It appears that no matter what the starting strategy, the GOL rules seem to even things out (more or less) in the end.
When we highlight the 'dead' cells, we can see that the civilian barrier seems to have kept the two sides fairly (although not completely) separate, but the civilians themselves have managed to spread out (noticeably) to both edges of the board. In fact there are only seven cells on the entire board that didn't finish with a single civilian.
It also appears that defenders made it further into attacker territory on at least one occasion.
By the numbers
Of the 2,588 games:
- Defenders won outright 1,675 times.
- Challengers won outright 906 times.
- There were 7 ties (which were decided in favour of the defender).
- The civilians were entirely wiped out 7 times.
- The defenders were entirely wiped out 24 times.
- The attackers were entirely wiped out 35 times.
There were a few battles that were actually very interesting to watch play out (and the additional live statistics make it easier to keep an eye on the progress of the teams).
- DoubleMalt's Bottles vs. Dickbutt had some good interaction between the teams, nearly wiped out the civilians, and ended as a nail-biter.
- Pew Pew vs Army of winners had a really great start from the defenders, but it proved to be unstable as soon as it ran into the civilians
- Rangers vs Siege Masters was the very first battle played on the site. My team, Rangers, were pretty ill-fated, and lost all but three of their battles before I retired them.
Sam, you suck at analysis!
Why yes! I do! Thank you for noticing! However, if you're actually good at analysis, then you can download all the challenges as an sqlite3 database (38MB). I'm keen to see what interesting things other people come up with when looking at the data.