Sunday, February 7, 2016

Global Game Jam

Last week was held Global Game Jam. I was there with my team Pixel Farmers, especially assembled for the event. Matej was first to apply for the event, then me, maybe 10 days before the event and then Dario applied just 3 days before the event.

As we applied, we started picking on LibGDX. That Java gaming framework looked good: it's open source, cross-platform, community is active, documentation comprehensive and thanks to Gradle it works with several IDEs easily. We went there to have some fun, learn and experience something new. We achieved all of that and more.

As I sad, we didn't have much time to prepare due our daily work and late apply, so we had to type code whole day to get ready for the event where we will type code for two whole days and good part of nights :) Luckily I have an account on Packtpub and they have like 5 or 6 books about LibGDX. They even have a book titled "The Game Jam Survival Guide". That one is pretty interesting. It has some good tips and funny ones like "How to save your relationship/marriage during game jam". Well, it's not a joke for some people I guess. :)

No one in the team was experienced game maker, but we are seasoned developers working at FIVE so we had confidence. My confidence was little bit shaken after we could not agree on the game for four hours after the theme was announced!! Less then an hour before midnight we decided that we gonna save a goat. I was very excited with the idea. I never created top down shouter but I always wanted too. Something like Crimsonland. Sure, "top-down-shooter" is not very original, but it's a fun genre and we can give it charm with fine story, humour, twists and so on.

We started working. At least we didn't lose additional time on creating a project and Github repo. Skeleton project with few basic classes like GameScreen and methods like render, update and draw was set 2 days before. Well, we should have added more, things like asset manager, logic for screen transition, logic for cut scenes... Oh well, next time!

We came to the jam straight from work, so we were a bit tired. At the end of that first day, we had just black screen with white circle and one white rectangle inside that circle. Circle obeyed WASD keys and rectangle rotated in direction of mouse pointer so it wasn't that bad. We were among first to go home to sleep around 1:30 am.

Next day was a big day, we had to push hard. White circle and rectangle are not very exciting. Class room at Faculty of Electrical Engineering and Computing (FER) was filled with jammers. I wondered who worked whole night. My team recharged their batteries so we were ready to rock, but what pumped spirits high were first sprites. I wasn't sure about graphics style of our game, since officially we were all devs, but it turned out that Dario, beside being a great dev, has also awesome artist skills. Commits were flowing. Every 15 mins when I typed git pull, something new was added to the game and you could see it on a screen. Matej added bad guys, Dario added walls and tiles and I added means to fight bad guys. Before lunch we had core mechanics, so we felt good and awarded ourselves with a walk around faculty to stretch legs and enjoy daylight.

List of features was long and we had a good laugh when throwing ideas on it. While day was turning into night, we polished animations, corrected hit boxes and collision detection. Although we wanted to go to sleep around usual hours, we stayed longer because of other jammers, because that's how jammers roll, they drink tons of energy drinks, eat pizza and sleep later. We went to sleep around 3:30 am :P

Next morning when we started working it was barely morning and our game still didn't have head
and tail. By head I mean introduction to the game story. By tail I mean end game mechanics with goat and end game screen. Although overall we didn't have difficulties with LibGDX, some stupid things were more complicated to implement then they should. Things like classic UI elements, because they require "skin" JSON file. Anyways, one hour before dead line we had head and tail. We spent last hour polishing and testing the game.

Teams produced 10 games and every team had 10 minutes to present their game. After that, 3 judges from prominent Croatian game companies (Croteam, Little Green Man, Lion Game Lion) played games, talked with teams and at end decided which games are winners. Their criteria was: game completeness, ease to understand game rules and playability. When I heard that, little voice in my head followed with "check, check, check". And really, they liked our game and gave us this fancy piece of cardboard:
Picture from Vidi.hr
This was the first GGJ in Croatia and I hope that it will become tradition. Like I said, we had fun, learned new things and meet interesting people. Organizers did a pretty good job, we had food and drinks. They also provided laptops but majority of people brought their own, so what almost everyone could use was an extra display.

You can check Goat Rescue HERE and all games made for GGJ Zagreb 2016 HERE.

No comments:

Post a Comment