A Week of Geek

Monday · January 31, 2011 · 10:10 PM

Over the weekend I participated in my first “Game Jam”, an event where geeks gather to try and write a video game over the course of a single weekend (while non-geeks stand around and try to figure out why this is considered fun). This event was a Global Game Jam – more than six thousand people participated at 170 locations around the world and almost 1500 games were created.

The weekend before the Game Jam. I learned Flash programming (ish) and threw together a quick game as a test for how the Game Jam would work. I spent four hours coding and about the same amount of time making/stealing artwork (creating the transparent rainbow effect was the single biggest time sink of the project). Overall, it’s not a bad game for the time I put into it.

I spent last week reading about Flash until I had dreams about event handlers. I really felt good about my programming knowledge going into the Game Jam. Little did I know what fate had in store when I showed up Friday night.

The first part of the event, we found out the theme of the games that the 60-some odd people would be creating – EXTINCTION. The group walked around talking to each other about random ideas and then we got back together to share them – about 30 games were pitched. After some more talking, everyone attached themselves to the idea that they were most interested in until all of the teams had a reasonable size.

I picked “Robot Loves Humans”, a game that takes place on a spaceship that has the 9 remaining humans, frozen in cryogenic sleep until a suitable new homeworld is found. A glitched robot decides the cryogenic tubes are trash and that they need to be pushed out a garbage chute, effectively exterminating the human race.

The thing that attracted me to the game was the idea that the payer would control the ship. Like the movie 2001, the ship would spin to create gravity – the faster the spin, the higher the gravity and with no spin things would be weightless. Instead of a standard platform game, this looked to have a slick new gameplay element – you control the environment instead of using a plumber-clone to jump through each level.

The irony of the weekend – after becoming an expert (ish) in Flash development, I ended up on a team that used a 3D technology I knew nothing about (Unity3D) and a language I’d never written in (C#).

Luckily, it went great. Alex was the main coder (he actually knew what he was doing) and we (meaning he) managed to hack together the overall world dynamics in the first half of the weekend (I spent that time getting the number “9” displayed in the upper-left hand corner of the screen). After the world was working, Elliot did some more of his 3D modeling magic and added lighting. We spent Sunday morning tweaking and debugging until it felt like a real game.

The work I’m most proud of is the audio – Sean did a great job of creating perfectly atmospheric effects. I was able to layer several ambient sounds in a way that lets the player sense how far he is from the center of the ship. On top of the ambient layer is the sound of the engines, which pitched up and down based on the speed of the spinning. After dropping in a few other subtle sounds and noise, we figured it was interesting enough that the game didn’t need a soundtrack (to appease the musician, we took one of the songs he created and attached it a radio on the first level).

The thing I’m most disappointed with is the lack of “game” in our game. The way the character moves needs a bit of work (navigation is frustrating when you’re slowly floating around, it takes too long to ramp up/down gravity, etc). The big issue is the lack of “level design” – a lot of the ship was thrown together to test out how things work and I don’t think anyone’s playtested the final project to make sure the game can actually be completed.

Anyway, the game is online (the name was changed to Gravity Bot Blues) and you can see for yourself what a game looks like after a couple days of coding. Note that you have to click the main screen, despite the fact that it tells you to hit any key to start the game.

I’ll fix that at next year’s Game Jam.