Skip to content

Global Game Jam

February 26, 2009
tags: ,

It’s been a long time since I wrote my last post here. To celebrate the return I’ll write about a recent experience I had in game development: The Global Game Jam.

The 1st Global Game Jam was quite an event. 40+ universities around the world hosted a tour-de-force where small teams of around 3 students had to design, develop and present a complete game in only 48 hours. That’s it: 48 hours…

There were no impositions on genre, tools or previously-coded-stuff, only the theme, that was set to be announced at the beggining of the contest. Here in Niteroi-RJ-Brazil we had ~40 students locked inside the computer science department for the whole weekend. In our site, we were limited to use Microsoft’s XNA 3.0 tool chain due to licensing and practical issues for the lab staff… Besides, that served as a fair environment for the local teams to compare against each other.

When the contest started, we all saw a video of the contest organizers and attended to a local keynote about game design. Pictures of this keynote and the whole event can be seen by clicking THIS LINK. So, lets start talking about what matters… First the team:

The Team

Our team was composed of a lead programmer (me) and two graphic artists: Micheli Knechtel and Carlos Ranna. Me and Micheli already had experience in game develpment, while that would be the first one for Carlos, a gifted 2D artist.

I met Carlos that day (he lives in another city and came specially to the Game Jam) and we had to rush in making the asset pipeline work for the three of us. We all worked as game designers and soon started talking about the ideas for the just-announced theme…

Theme

When the theme was announced, some people started having chills, since it was a bit odd:

  • “As long as we have each other, we will never run out of trouble…”;
  • 5 minutes maximum gameplay session;
  • include one of the following adjectives in the design: tiny, busy, traveling.

Our team had some stuff already set up and the first thing we thought was if what we already had could fit in that theme somehow. We had prepared a flexible (code) framework that could still be used, which included the excelent  Farseer 2D Physics Engine.

We also had a decided before that we were (probably) going to do a 2D platformer, so we had previously designed a (generic) character sketch  with tile based animation (early prototypes):

Early run animation sketch for the game character

Early run animation sketch for the game character

Jump Animation Sketch

Jump Animation Sketch

Early prototype for the animation tile - without the proper coloring scheme

Early prototype for the animation tile - without the proper coloring scheme

The Game

To make a long story short, we decided to create a simple puzzle platformer where tiny creatures do not get along well with each other, and have to be led (pushed) out of a pipe system by a special one (player). We decided to create the maps with a tile based approach to simplify level design and physics integration. After a couple of hours of prototyping (and character refinement in the art department) we decided through testing that the concept was good enough to carry on and started talking about setting.

It was a tough decision, but we finished with a Old/Rusty Pipe System which eventually led to the game title: Pipe Mayhem.

These are the core mechanics of the game, along with the explanation of how it relates with the theme:

  • The leader creature has to lead the other to the exit by pushing them (they are TINY, related to the setting);
  • You have a time limit to finish a level and the small creatures do not get along well, so every time they touch each other a fight is started and the time runs out faster (as long as we have each other…never run out of trouble);
  • The first levels are supposed to be easy and become more difficult as the player progresses. Each level take from 30 seconds to 2 minutes to finish (5 minutes game session);
  • If any of the creatures (including the player) falls through a hole, the level is restarted, until the player run out of lives.

The following screenshots better ilustrate the concept art:

in game screenshot

in game screenshot

release picture

release picture

I personally liked the art finish, specially considering the 48h time schedule. We used some parallax for the background pipes and a lot of alpha transparency.

Post Mortem

Just a list of what went right and wrong with the experience…

What went right:

  • Previously coding a flexible architecture: I adapted my beloved game object component system that I wrote about in the past to the XNA 3.0. It helped keeping things small and organized, allowing fast modifications and ajustments in the code;
  • Tile based levels: by using a general tilemap editor, such as Tiled, enabled fast composition of layered levels (physics, visuals, exit), and also helped the artists visualize when some tiles were missing on the tilesets;
  • Early prototyping: we decided long before starting that we were going to meet and put ideas on paper and then code a prototype to see if thing were going to worked or not. After having done it, we were confident enough to keep on the chosen design;
  • Intra-team integration: listening to everybody’s opinion and getting along is key to a good game development (or any other kind of teamwork);
  • Inter-team Integration: the amount of shared ideas, code and “testers” was a good indicator of how was the whole experience was for everybody.

What went wrong:

  • Sleeping: since it was a one-of-kind experience for all of us, nobody had a clue about how to manage time, and I finished up sleeping only 3 hours in the period. That ended up being very counter-productive, since in the last ours I was spending some 5 to 10 minutes to realize a simple FOR LOOP. Most of the time during the course of the Game Jam I was just wandering around and could have slept more without any prejudice in the coding of the game;
  • Lack of experience with tiles: none of us (my background is 3D game development) had made a tile based game before (only some directions and ideas) and this proved to be the main bottleneck of our asset pipeline. Having to re-assembly a whole level (or every level) on the tilemap editor just because of a misplaced (or lacking) tile is very counter productive. I will write a whole post on this subject together with the artist Carlos Ranna just to explain good direction we didn’t find online.
  • Lack of testers feedback: since all the teams were really busy on their own games, the play tests we performed were good but not sufficient. I’d take some more to really got helpful feedback from them. Due to the small time schedule, the tests were also too near the deadline, and only minor modifications could be done (not that many were suggested). A advice is to prototype agressively and spend some time on testing these prototypes with outside players early in the development.

Conclusion

The overall opinion was that the game jam was and unforgetable event in all aspects. As for our game, Pipe Mayhem, we were so happy about what we accomplished in 48 hours that we are porting it to flash and soon I’ll be posting about the process of trying to make it comercially successful.

Advertisements
One Comment leave one →
  1. g0dkar permalink
    March 13, 2009 6:56 pm

    Really impressive report! That really sound like a one-of-a-kind experience. When’s going to be the next one? =]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: