At the SRT Solutions booth at CodeMash this year, we will be showcasing Paint Wars, which is a Wii remote controlled game built on the XNA Framework. The game was originally developed in C# during the Winter of 2007 by Sean Petty, Marshall Weir, and myself as our senior project at the University of Michigan. During my learning time at SRT Solutions, I rewrote Paint Wars in F# as a learning exercise, and in the coming weeks, I will be blogging about the lessons that I learned while developing the F# and C# versions of the game.
[UPDATE: Check out Paint Wars on YouTube]
Paint Wars The Game
Paint Wars is probably described best as a Real Time Strategy game, but it does not fit very well into most video game genres. It is loosely based on the board game Risk. A game is played by four people, each of which are assigned a color (Red, Blue, Green, or Yellow).
Players guide an army made up of blobs which are little creatures that move on their own and automatically paint the background with that player’s color. Blobs will move towards enemy blobs and attack them, and also prefer to move towards areas on the background that are of an opposing player’s color.
All players also have a spawn point, which produces more blobs every few seconds. The more of the background that is painted by a player, the more blobs that they get for each spawn.
Players can pick blobs up with their cursor and move them around the map, and they can also drop a paint nuke on the canvas every few seconds. Paint nukes will kill any blobs within a small radius of the cursor, and will also paint the background with the controlling player’s color.
Every few seconds, the total amount of each color on the background is calculated. If the ratio of any one color to the rest of the colors is below a predefined limit, the player corresponding to that color is eliminated. The last player standing wins the game.
That’s it! I’m looking forward to sharing more about the game and the code behind it in the coming weeks.