Global Gamejam 2011: Things to remember

I decided to participate on the Global Gamejam 2011 at Barcelona with three of my best friends.

We make “something” that barely can be called game, but it was fun. You can try it here:

The game has no gameplay at all but the atmosphere is cute. You just walk around a city and if there is more people logged to the game you will see them. Thats all. We wanted to force the people to interact between them somehow, but we never made it.

You can read a small post-mortem about it following this post.

The Event

The GGJ is an international competition where people from different countries gather in their cities (like small LAN parties) to code a game in 48 hours, but all using the the same topic, and simultaneously.

The organizers of this event have an amazing website to check all the games from previous editions, to know more about the teams, and they use it to coordinate all the jams so the groups spread around the globe can experience the same feeling.

On the local part, the guys from the VGAUPC (a gamedev students association from the Universitat Politecnica de Catalunya) organized the Barcelona event. They promote the jam, they found the place and they ensure everything was perfect for the compo. Amazing work.

The Why

Why would we want to be closed in a room for 48 hours coding something that probably will end up in a folder where nobody can see it? Well, there are lots or reasons:

  • We are talented people and we love videogames, why not to try to make one?
  • Despite some stressful moments, it is fun!
  • When coding something from scratch the first steps are the harder ones, so if you have some people backing you up and a close deadline, those steps can be exceeded with ease. The rest will come without much effort.
  • As Miguel Angel said, most of the problems related to big projects are also present in small projects when the time is limited. So you can learn lots of lessons in just 48 hours.
  • It is a nice excuse to do something you have been delaying for a long time (try that language, library, sdk, etc).
  • And the most important, because to create something with a group of friends is always amazing, and we dont have the chance to do that very offten.

The Team
So I went with three of my best friends, Miguel Angel (codename debiatan), Graham (codename ravelite) and Anna (codename sugarmuffin), and me Javi (codename tamat).
The idea was to split the work in four different fields so we could create faster without having to wait till someone finishes his part. We arranged the work this way:

  • Anna would make all the art, she is a good designer, with no experience in game design but a good profesional that doesnt get scared when she has to explore new fields.
  • Miguel Angel would make the server side, he is a great programmer and when it comes to control a server he is the best. He can also create scripts to resolve easily annoying tasks so he could create also some of the data for the game like procedural generated maps, so I can focus on the client side.
  • Graham would be in charge of the audio and music. He knows a lot about music and procedural music so he is the best candidate. The challenge for him was to create the score for the game but adding some procedural ideas.
  • Javi (me), I have plenty experience coding games so I would code the game using the graphics from Anna, interacting with the audio code from graham and connected to the server of miguel angel.

As you can see everybody had its field and during the first 24 hours we barely interact with each other, only to talk about game mechanics, gameplay and so.

The Idea

The topic gave by the organizers of the Global Gamejam was E X T I N T I O N

As soon as we could we started brainstoorming, proposing crazy ideas, some using non-obvious meanings of the word, others too close to what we thought everybody would make. There were ideas about language extintion, about a metal band killing people with its music, about matting animals, about taking care of your plants, about zombie apocalipse, tribes, city painting, etc.

My idea was to create a city where nobody lives (so humanity is extinct) and you have to walk around trying to find other people alive. But the city has to be so big that you need to put marks on the walls to coordinate with the people. When you find people you get points by standing together, or you stop loosing “loneliness points”. The more people together the better.

I pushed my idea further because it was the idea I knew I could code, I was afraid that picking up other idea would make the game too hard to code for me.

Miguel Angel put all the ideas together and create a nice game mechanic:

You will be in an empty city and you will have to find other players (other online gamers), to find them you can shout, and other players could see indications on the map telling them that somebody shouted. When you find them you will have to go together to a point on the map where interacting all together will make one of them reach the exit of the map, he then will see the game ending and if he wants he can come back to help the other people to see the ending (the funny thing is that everyplayer gets a different ending).

It sounded great, so we all started to work.

The Technology

Before the event I made took some decissions about which technology, framework and visual style we will follow according to the context of the compo.

First, we need to decide if the game will be 3D or 2D. But for a 48 hours compo 3D will be too hard, and the designer in our team didnt have any experience with 3D modelling so 2D would be the best option.

From the point of view of the code, I decided before hand that the game would be coded in flash. I like actionscript, its a nice language with great API and a good IDE, and I feel really confortable coding in flash. On the other hand, we wanted the game to have as much visibility as possible, and the best way to achieve that is to use flash, people can play it without downloading anything and it is powerful enough to make any kind of 2D game.

The server could be make in any language but I knew that Miguel Angel will go with python which was perfect for me.

From the artistic point of view, I thought that pixel art was the best choice, because less pixels means less work, and because pixelart animations are a lot easier, people dont care too much of how many frames the animation has.

The first steps

So this is how we started working:

  • Anna creating a character and making some animations for him (walking, talking) and also creating a couple of buildings for our city.
  • Graham coding a sound engine in flash (he never coded in flash before!) so the game score could fade to another song in a seamless way.
  • Miguel Angel coding a python app that could hold a representation of whats going on in the world, like streets, crossings, people and important information. So when I have my game working I could read information from his side instead of creating it.
  • Me creating a small app in flash where a character can move around the map.

I wanted to use flixel because is a nice library to create simple games, I have had some experience before and it goes straight to the point for a 2d game.

And here comes my first big mistake, to go there without having the main tools not even installed nor tested, it wouldnt have been a problem if I had used them before but I haven’t. So I wasted two hours trying to compile the demo application of Flixel under Flex Builder due to some problems with the configuration of the compiler, two precious hours that would have make a huge difference at the end.

The Development

Do not sleep, do not sleep, code code code, do not sleep… woah, its been 24 hours coding without stop…

The Last Minute Call

They said you dont need to polish the game if it is a 48 hours compo, but I didnt wanted ‘to ship’ the game without an intro, so I asked Anna to create a nice image, we will scroll it to create a small narration with the name of the game at the end.

The Conclusion
After handling the game we all were dead, we barely slept during the last 30 hours and we all need a shower and some rest. So the team was dismantled.

Now looking back I can say that I had a wonderful team, all of them did their job in a complete professional way, and somehow I feel I wasnt at the same level as them, because I wasted lots of time in stuff that could had been done much faster/better.

Anna was incredible, it was the first time she worked on a game and I couldnt notice it. She understood the constraits of the project all the time, always using the limitations I gave her, handling the assets faster than I could integrate them on the game, and expending the rest of the time polishing every one of them or creating new ones ‘just in case’.

I love to work with Miguel Angel, we understand each other

The Tips

When planning, think in the simplest possible version of your game, the one that achieves the gameplay without anything else, but when coding leave the option to improve it once you have time. For instance, we created a procedural generated map with lots of info about the map, but at the end we could have work with something like a char string where every character is the type of building and nothing else.

Bring all the tools installed in your laptop, with all the libraries that you could need, no matter the kind of game you are going to do. Tools like Photoshop, nice text editors, Dropbox, svn clients, python compiler, whatever you could need.

Gather your team before the compo to create something really simple in a couple of hours, like a ball bouncing on the screen. At least you will know that you are ready to do something bigger.

Give your artist a way to test the assets without having to interact with the coders, or even a config text file so he can change a little bit the behaviour of the game. Something simple, it is not necessary to use XML. That would save some time.

Do not waste time in things that do not add gameplay, those things can come at the end. First try to achieve the gameplay (we totally failed in this point).

Leave a Reply

× 7 = sixty three