Game Jams: 3 Perspectives, 3 Lessons Learned

Last weekend I took part in my 3rd game jam, the Global Game Jam at NC State University. For those of you who aren’t familiar with what a game jam is, I think the official Global Game Jam summary says it best:

Think of it as a hackathon focused on game development. The weekend stirs a global creative buzz in games… while at the same time exploring the process of development, be it programming, iterative design, narrative exploration or artistic expression. It is all condensed into a 48 hour development cycle. Although the event is heavily focused on programming, there are many other areas where people who don’t code can contribute to a game.

Mind you, the Global Game Jam format started it all, but there are many different jams with different formats, sharing the common thread of getting a game done under a time constraint.  Like I said, this was my third rodeo; the other two times I participated were not official Global Game Jams.  I had different roles in each of the game jams and I wanted to share what I learned.

Game Jam #1: A 48 Hour Game Development Challenge with both Red and Green
Lesson Learned:  Experimentation is OK.

My first round was nowhere near my comfort zone:  I participated in the New Mexico Game Jam, run by the one and only Jon Whetzel, with people I had never worked with on games, having no knowledge of the programming language everyone on my team wanted to use (JavaScript), in an area I wasn’t familiar with.  However, the aforementioned list of items were not a detriment to my game development.  Quite the opposite – I was as eager as ever to lay down some code.  I volunteered to handle AI and was excited to really get down to business, which is why I was a bit bummed when several members (I’ll call them subteam A) on our team wanted to pursue an idea that I felt was…well, bland.  Not just bland, but large in scope, and complex to finish.  By contrast, the subteam B wanted to pursue quirky, experimental games, which I felt were not only doable, but would have made really interesting experiences; at the very least, they would have been funny to play through.  Subteams A and B debated a while, but subteam A won out – and we embarked to develop a complex game.  48 hours later, there was barely something you could interact with.  My AI was very adept at spinning in place, which I think is hilarious since, in retrospect, the in-place spinning could have been viewed as a metaphor for our progress on the game.

Subteam A’s rationale for picking the design that we pursued was simple: they wanted to make a game that would be memorable and that people would play.  Given the format of the game jam, I think that that goal is admirable, but ridiculous.  We would all love to be the next Minecraft – but why not take a chance on a crazy idea that may or may not be a hit?  If you’re going to be crunching to get something done, that probably won’t be worked on beyond the jam, why not take the risk?  Subteam B all saw it my way too; Subteam A was just louder, I guess.  My point in this story is this: when you’re in a game jam, go ahead and experiment!  You’ve got nothing to lose anyway.

Game Jam #2:  Game jam in the NC Triangle Area
Lesson Learned:  Cut your scope by half before you begin.

My second round was ever more exciting than the first.  Given that I had not finished a game my first time around, and that I had gotten a taste of what a game jam was, I was ready to start and finish a game at the Triangle Game Jam, run by professional developers Nick Darnell and Michael Noland.  This time around, I was working with my lovely wife, Allison, and a super awesome close friend, Ian, under the banner of our yet-to-be-formed-but-trademark-pending Sweet Carolina Games.  After having settled on a theme to pursue, we decided to implement after a tower defense game, with 3 different types of towers and 3 different types of enemies.  The premise was simple enough.  Instead of JavaScript, I was doing iOS, and was way more of a generalist; whenever we needed something, Ian and I were pretty good about sharing the load.  As we started coding however, we realized that what we thought was going to be a quick and easy game had ballooned to a art/asset heavy application.  In addition, the mechanics of a tower defense game are simple enough to play, but vastly more complex to code (at least, the way we pursued the implementation).  48 hours later, we relied on the magic of video to make the game seem playable, but it was little more than a simulation of what could have been.

We thought to have controlled for scope issues when we started.  Allison, Ian and myself had been adamant about not wanting to pursue a complex game for fear of not finishing.  We sadly still underestimated the scope and missed our mark by about several days’ worth of work.  So remember kids, whenever you think a project scope is simple, think again.  Please don’t think that you should pursue games that aren’t artistically fulfilling for fear of not finishing.  Ian and I had only begun our quest to master cocos2d (our weapon of choice), and so, the real reason we had to scale back the project was because of our novice status.  If you are adept at using any particular game development kit, then you should have a reasonable idea of what you can accomplish in 48 hours or less.  However, a general rule of thumb is that when you’re in a game jam, you should probably cut your scope by half before you begin.  Do more with less!

Game Jam #3:   The world’s largest game jam event
Lesson Learned:  You need to sleep.  Sleep is not optional.
Bonus Lesson Learned (to potential game jam organizers):   Have an online backup site.

I lied:  In truth, there are four lessons in this post.  The bonus lesson however, applies to those of you who might be interested in organizing a game jam.  I had the pleasure of organizing the NC State Global Game Jam of snowy hell™ and I learned a ton of things.  Due to inclement weather, we couldn’t all physically make it out to the Global Game Jam site.  We had to kick off the event virtually (streaming from Justin.tv and later through the use of a Mumble Server), and it would have been an absolute nightmare to coordinate had we not had a collaborative wiki site (we used Piazza and it is fantastic…and free!).  So, be sure to have a backup web presence that you can post to to keep everyone in the game jam on the same page.

My third round was definitely the most interesting of the three.  In addition to managing iOS programming duties (which I feel Ian definitely took the lead on) I had to manage the Global Game Jam site itself.  The duties weren’t extremely tiring, but they did consume time.  Being extremely cautious time-wise paid off, but we’ll get to the results later.  When we started the jam, we must have gone over 4 different game ideas that we liked, but weren’t too thrilled because of scope.  We finally settled on one idea that we thought was both cute, and do-able given all the time constraints.  We also had matured regarding our self-management:  we had to sleep – we all have commitments outside of the jam, and so, we needed to be realistic of how much time we could pour into the effort so that we wouldn’t die by the end or so we wouldn’t show up as zombies to work on the Monday after the jam.  We settled on a minimum amount of sleep time (6 hours at least), break time (to cool off), and food time and planned around the leftover time:  we had (realistically) approximately 30 effective hours to finish a game.

And we pulled it off.  The final result, (Space Thing IV:) The Heart Attack from Outer Space was uploaded with great form and complete function.  Resting really keeps you alert and helps avoid the stupid hour that will inevitably creep up on you as you get fatigued.

Three Game Jams, Three Four Lessons, and plenty of memorable experiences.  I hope this gives you some ideas on how to succeed in game jams.  It paid off for me in the end, hopefully it can pay off for you too.