Two weekends ago I did two gamejams in one weekend, and it was. Freaking. Awesome. What makes it even better is that I got two timelapses out of it, altough both in a very different context. In this post I'll shortly go over the first jam, and then do a post-mortem of the other jam. The post is kind of long, so if you just wanna see and play the good stuff, scroll on down!
Inter-Actief Hackathon Gamejam
The primary gamejam I attended was the gamejam organised by my study association, Inter-Actief. It is the association of the Computer Science study at my university, and it is quite the active association. A normal week for Inter-Actief usually means more than one activity, and it has a large core of enthousiastic members. You might wonder why I use the word "attend" instead of "participate". Well, that is because I helped organize the gamejam! We started a few weeks in advance with a group of 8 people, and worked hard to make the weekend happen. Looking back we actually should've started way earlier, but there were only a few free weekends left so we couldn't be too picky.
Organising the jam was a lot of fun and I learned a lot by doing it. The two most interesting things for me were:
- Ordering food for 30 people. Even when you think you've got everyone covered, people always show up or forget to tell you their choice of food. Everyone got their food in the end though so I'm pretty pleased.
- Grading all the games. Most of the participants were pretty new to gamedev and jams. Combined with missing the deadlines, the way they sent us the games was quite... Inconvenient. Python scripts which required all sorts of packages, uncompiled c cources, you name it. However in the end we managed to play all the games (at some point we just walked over and used their dev pc's) and chose the right winner.
All in all it was a really cool experience organising the jam. I would definitely do it again if I get the chance! However, there's one downside to organising it: you cannot submit your game for the contest. Luckily there was another jam that weekend...
The Arbitrary Gamejam #20 Post mortem
Ofcourse I didn't spend all weekend organising the jam. Inbetween figuring out what people want for dinner and defying heavy eyelids there was plenty of time for gamedev! I was planning on making a game in that weekend anyway, even though I couldn't participate in our own competition. You can imagine I was very pleased to find out that the arbitrary gamejam was planned for the same weekend! Three other organisers of our jam joined me in my quest to finish a game in less than 48 hours.
It didn't go very smoothly for me. In the end I used SDL2 and C++ for my game, but that wasn't the plan initially. First I was set on using Cocos2d-x. Then I noticed that Willem (one of the organisers of our jam) was using SDL2 and plain ol' C for his game. Seeing that immediately turned my determination around, and I switched back to SDL2, C++, and my good old but slightly dusty Nuts 'n Bolts framework. It felt very good to make a game in a way I'm very comfortable with, but the decision came with a few drawbacks.
My compiler was a mess. Some time ago I had been experimenting with different compilers, resulting in a lot of working experience with the MinGW family of compilers. However, this experimentation had also left me without a functioning compiler. This meant I had to redownload all that stuff to actually compile C++ code and set up all the paths. This wasn't a lot of work, but definitely something I could have done in advance. It gets worse though: to make games you need libraries. Specifically, I need SDL2 and it's sattelite libraries SDL_ttf et al. While I was screwing around with my compiler anyway, I thought, the heck with it, I'm just going to compile those libs myself! And so I did. 10 hours later I could finally start coding my arbitrary gamejam entry. That might seem quite long. And, well, it is. But I also did something else in those 10 hours.
In those 10 hours I also managed to switch build systems! Before I was using a strange mix of Tup and vanilla makefiles. You can imagine how that clunky mess absolutely doesn't work, and is to top it off not really computer independent. So I switched to CMake. My own library Nuts 'n Bolts now uses CMake, and my "default project" also does. I'm really happy I did this for two reasons:
- I finally using a common way to build my projects. This means if I ever run into problems, I'm very likely to find a solution by just googling a bit.
- I now have some practical experience with CMake which I think is very good to have for future endeavors.
So, that's the part about my development environment. Now on to the development of my game!
I had a hard time starting. The Arbitrary Gamejam required one the following themes: bending the laws of physics, different moods, catastrophy, discovery. It also required you to generate your game name with the Video Game Name Generator. I think all in all it took me 1.5 hours to find a nice video game name. After that I spent 30 minutes juggling mandarins (which afterwards were totally inedible :( ) But eventually I came up with a game idea to make!
For me personally, development environment aside, that was hardest part. Once I got rolling I was unstoppable, and everything went pretty smoothly. I had zero compiling issues (!), and everytime my code didn't compile it was because of a syntactical misstake. I also had zero spontaneous unexplainable crashes (!!!! holy stroustrup) which usually happen quite often. I had to fix a few bugs here and there in my framework, and I found out that the way I designed nnb::TextureContainer make some edge cases really iffy to work with. But all in all making the game was a smooth ride.
The two features I'm most proud of are polishing and the highschores. Personally I think, even with the game being simple in principle, the game is pretty polished. The textures and color palette is consistent, it has a well defined menu structure (well, except for the broken "tutorial" button - I should've removed that lol) and and the menu works somewhat like the primary gameplay mechanic. The highscores are probably really fragile (I haven't even tried entering weird characters, I'm quite sure it'll break in even the most minor of edge cases) but they're there! I think it's definitely a feature which you don't see often in gamejam entries.
Ofcourse there are also things I could've spent more time on or which I just could've done way better. Some of the textures are really ugly and don't fit - for example, the triangle texture looks inconsistent with the rest of the game. Looking at the game-technical side of the game, I heard quite often that the game makes no sense and could really use some context. I kind of saw this coming but I didn't put in the work to make a storyline. This partly should've been fixed by including a tutorial, but that turned out to be one of the few things I couldn't find time for. Lastly, it could've used some sounds & music. Another point of improvement.
The weekend turned out to be pretty productive: I made one game, two timelapses, and more than 10 games were created during the weekend by all the participants! Let's start with the most important thing: you can find my game No one can stop the mutant terror here. If you decide not to read the readme, at least let me tell you this: use both the mouse and the keyboard.
The entries for the Inter-Actief gamejam can be found here. The page is in dutch and some games will be unusable (or do you have a C compiler lying around somewhere?) but most will work by just clicking download, unzipping and starting the executable. The Arbitrary Gamejam games can be found here. I can especially recommend the games Underground Chef Castle and Flying Turtle from Outer Space. They're both games from fellow organisers. Underground Chef Castle is starting to get picked up by indie game media. Also, I heard Walnoot is working on some sort of sequel, so be prepared to hear more of that game!
The final two products are ofcourse the timelapses! The first timelapse is one of the on-site event of our gamejam. You can see the sun going down, the sun coming up, and a few teams working like die-hards from start till end!
The second timelapse is of my development process of my arbitrary gamejam entry. It has a bit of a high fps because there were a lot of frames, but it should still be fun to watch. Sorry for bits of Osu! inbetween the gamedev periods :)
I really should find suitable background music for those timelapses... Dubstep, maybe?