VS: Fire & Ice

Fire creates fire. Ice creates ice. The only way for each to truly win is to completely eradicate the other. This is my Global Game Jam 2011 game, created by our team of 4 people (myself, another programmer, an artist, and a musician) during a single 48-hour period. It runs on PC and was built using the XNA Framework.

VS: Fire & Ice
Platform PC XNA
Released 2011
Language C#
Credited Role Programmer
Web Site http://www.globalgamejam.org/2011/vs
Notes Developed in 48 hours at Global Game Jam 2011!

This was my first time ever participating in Global Game Jam, and I'm thrilled with how it went. I found myself on a team of four: myself, another programmer, an artist, and a musician. This year's Game Jam theme was "extinction," and we were encouraged to be creative in our interpretation of the theme, and throw out our first few ideas. Like most other groups, our first few ideas involved dinosaurs, viruses, zombies, meteors, and similar stuff. Finally, we boiled down what the meaning of extinction is: the very last of something going away. Whatever it is, as long as there's a little bit of it left, it's not extinct. But once that last little bit is gone, it's over.

We pictured two opposing colors vying for control of an area. As long as some of your color existed, you were still alive. We came up with the mechanic of only letting you drawing your own color from within your own color as a way to organically explain the "extinction" metaphor: if you can only create your color FROM your color, then once it's gone, obviously you can't create any more. We also added the idea of surrounding an area with your color pretty early on, as a way to capture a larger area at a time. It all seemed to fit together well, and we had a pretty solid concept less than two hours into the Game Jam.

Our musician pushed us to come up with a context for the game early, so he could compose some pieces of music for each side. We discussed opposing themes—light versus dark, nature versus technology, good versus evil, ying versus yang—but quickly decided that the theme of fire versus ice was the simplest to show visually and the most compelling and straightforward. And thus, VS: Fire & Ice was born.

The tasks divided pretty evenly. The other programmer would work on the characters, their controls, animation, movement, etc., and I would work on the board. That first night, I implemented a fast flood-fill algorithm, as well as a way to apply variable-sized stamps onto the board to create an organic appearance to the painting action. The second day, with a little help from another friend at the Game Jam, we came up with a nice algorithm for determining an enclosed area by adapting the flood-fill algorithm (with various optimizations to minimize the areas that would need to be examined), and some late work the second night brought the game into a not only playable, but fairly polished state by the end of the second day. On the third and final day, we added a tutorial and a power-up, to help give a player who was falling behind a chance to catch up.

We decided pretty early on to use XNA for several reasons. First, we wanted the game to be playable with the Xbox 360 controller. Second, I knew XNA fairly well, and the other programmer, while new to the framework, was experienced with C# and an extremely quick study. Prior to the Game Jam, I had researched places we could obtain free Subversion hosting, as I knew I wouldn't want to work without version control. Funny story: I overheard one group late in the weekend saying, "we didn't have time to set up version control, so we just passed along source files via Dropbox, and we only lost data a few times." I remember thinking to myself, you didn't have time NOT to set up version control! Using SVN effectively was so crucial to the success of our project that its beneficial effects cannot be overstated. I wish more academic programs would highlight the importance of source control—ANY source control—to the success of team project development.

By the way, VS: Fire & Ice is available to install for Windows systems. It plays best with 2 or 4 Xbox 360 controllers, but if you have another type of gamepad you can assign the buttons to keypresses and play it that way (see the help overlay in the game for the exact keys). For more information, see the project page on the GGJ web site.

Global Game Jam was a draining experience, but amazingly fun and absolutely inspiring, and I can't wait to do it again next year.

← Back to My Projects