Thursday, January 31, 2013

Lessons from the 2013 Global Game Jam

I'm not new to game jams. Having just participated in my third game jam, I'd say I'm pretty well versed in the nature of these stressful competitions. I've seen people break down under stress, and whole teams implode under the pressure of crafting a playable game in 48 hours.

If you haven't yet seen our jam entry, I can't help but shamelessly plug our Youtube gameplay video. We ended up creating a solemn point-and-click adventure game with a short and focused narrative. We used the heartbeat theme as a hot-and-cold mechanic for finding clues and items in the game. It didn't record well, so unfortunately you can't hear it in the video below.


Memory - GGJ 2013 Entry

This year I was lucky enough to participate at the San Francisco jam location at the Yetizen, near the heart of the game development world. I wanted to participate with my team members from previous jams, and some new team members not near my jam location, so my team was spread across multiple locations and countries. This meant that if we wanted to succeed, it was vital we communicated effectively. To do this, we decided to use Google Hangout and Skype during the competition to make sure we were all constantly on the same page.

Jason 'Null' SpaffordProgrammerSan Francisco, California
Michael 'Harbing' HarrisProgrammerOrlando, Florida
Nika 'Dinosaur' CassaroArtistOrlando, Florida
Kevin 'Hoot' PacletArtistSwitzerland
Jon 'Voice' PurdySoundBurlingame, California

As you can see, the team was pretty spread out, so having solid communication was vital. Even though we had the basis of Memory created, we were very much still designing the idea as the jam went on.

Tools and Remote Communication

Using Google Hangout really saved our team from failing. When we first decided to use it, I was afraid that it would be disruptive to the team, because there's no way to locally mute the other people in the Hangout—a feature that is desperately needed. We solved this by using Skype for targeted communication, for example, when I wanted to talk with someone without bothering everyone else on the Hangout. We decided to use Hangout as more of a way to bring us all face to face, even if we weren't working directly with each other. Whenever we hit a milestone, we could have quick meetings by just unmuting our microphones and pulling in everyone that was available. This workflow really allows fast iteration of ideas during a competition when your teammates aren't there next to you.

A rendition of how happy we looked
Normally during a game jam, you have your teammates working directly alongside you. Being able to sit together and see what they're doing at any moment really motivates you to work. It helps you to identify problems early on, as well as to inspire yourself with the skilled work that they produce. The problem is that when your team is spread out, you don't have this type of local motivation from your teammates. In my case, it didn't help that many of the people at my jam location left by 2AM. I was almost always alone during the most productive times of the jam. Hangout helped out a lot, by keeping me in constant contact with my teammates.

Management is Full-time

In order to organize the team, limit scope, and make sure we were hitting our mile stones, I stepped up as the team leader. I've had experience with this in past jams, and love motivating teams.

Unfortunately for me, this meant that a large part of my time was spent managing the team, jumping into quick talk sessions with other team members, and generally handling all the edge cases for our game that weren't well fleshed out. This was problematic because, as one of the only two programmers, I expected to write a lot more code.

Of course, while becoming the manager certainly solved some of our focus woes, it also created issues for our team and project. Even if I had a solution in mind for a particular problem, I had to delegate the task to my co-programmer, so that I could work with a team member on something else. For example, I was pulled away from the project several times to write dialog and guide the voice actor.

It's important to point out that I don't consider our meetings and team management "useless bureaucracy". Every time we spoke, it was for a specific purpose: to clarify something a team member was doing, or to help identify an overall goal for the project. I'd like to think that our meetings and communication were absolutely vital to the projects success, but likewise were the greatest threat to finishing our game on time. It's certainly a double edged sword.

Lack of Quality Sleep

Concept of the "Camp" area

Getting at least a few hours of sleep once a day is pretty important during a game jam. Sleep deprivation affects your mental prowess and your ability to solve problems. Unfortunately, this game jam I was only able to clock 2 hours of sleep over the course of the 48 hours. Our venue locked the sleeping room most of the time, and the main area had freezing cold wooden floors. Even when I tried to sleep, I would wake up shivering from being unprepared for the cold. At one point I even booted up multiple copies of Dead Island and pointed my laptop's exhaust at my body, so that I could try and take a 30-minute nap without being waking up shaking from the cold.

Every game jam I'm always the last to sleep on my team. I usually make it to around 11AM or so on Saturday before I take my first nap. This would have been fine for the jam, if I had been able to actually get any sleep. If you really want to finish your game and succeed at a jam, you need to manage your sleep well. Getting at least a few hours of comfortable sleep a day is pretty vital to your mental well being, which is going to affect finishing your game. Unless you're extremely confident, or don't particularly care about making your game, then you're not going to get a lot of sleep during this competition.

The jammers at the San Francisco location seemed a lot less dedicated to their games than those at the Florida Fullsail jam location in Orlando. In an attempt to finish their games, people at the Florida location tend to stay on site during the course of the jam, and rarely sleep. I particularly liked this; there were always a lot of people around to motivate you, as they were also working. Unfortunately, at the San Francisco location, most jammers had left the location by 2AM. This essentially meant there was never more than a handful of people left working at night, out of around 200 original participants.

This was pretty demoralizing and unsettling. The atmosphere is much different than what I'm used to at the Fuillsail location. It's probably because Fullsail students feel like they still need to prove themselves, while the SF location was filled with a lot of industry professionals that write games for a living. They probably didn't feel that it was necessary to really kill themselves over the competition.


Developing in a New Genre + Developer Roles

There's something that I feel is an important thing to point out. While I was at the SF location, another jammer noticed how much work I was taking on, and that I had not left the building. His suggestion was that I should build a simpler project, and limit my scope to something that wouldn't require me to work the whole jam. I think this mentality was fairly prevalent throughout the jam, as many of the games at the location were very simple, not very complex on a technical level, and overall not as impressive as I had hoped.

That's not why I go to game jams. I subscribe to Jonathon Blow's mentality—that a game jam should be a place where you truly test your skills as developer or designer, creating things that you would not otherwise have believed were technically possible in a 48-hour period. This is one reason why we chose to create a point-and-click adventure game. None of us had ever created such a game, let alone dreamed we could do so in such a short time span. We saw it as an interesting technical challenge—and an artistic one as well, since we needed a lot of quality hand-painted graphics in a very short amount of time.

I personally believe that if you choose simple ideas that you could just do at home in your free time, you're not really exercising the full potential of the game jam. Don't just use it as some free time to work on an idea; let it push you to further your skills.

We're Artisans in Training
Early concepts of the protagonist

After the jam I had a short interview with a journalist about our game. He was very surprised when I explained that I was one of the few who stayed the entirety of the jam. I explained that I believe what I do is a craft, with varying levels of achievement: apprentice, journeyman, and master.

This holds true for programmers and artists alike. I focus every day on how to improve my skills. I may not currently be a master codesmith, but I'm constantly working to improve, and push myself to unlock my abilities as a developer. That's why I work so hard at game jams. An important part of developing your craft is finding opportunities to learn, take criticism, and overcome your weaknesses. It's incredibly stressful, but at the same time it's also an enlightening experience.

If you really use a game jam for it's full potential, you cannot fail to come out having learned something profound about yourself and your profession.