So, the 23rd GM48 just ended. This post is going to be somewhat rambling about what I did, what I learned and why, ultimately I didn't actually submit.
For those that don't know, GM48 is a quarterly game jam. You have 48 hours to make a game using Game Maker (any version), based on a theme voted for by the community over at r/gamemaker. I've entered 4 times previously. You can see the games I've submitted here. There will be posts in the future talking about those games on an individual basis. All you need to know for now is that none of the games are actually "good", although 'Drawn In' is based on my first entry.
The theme for this GM48 was "sacrifice". A fairly interesting premise that could go in a lot of directions. After some initial brainstorming I settled on the concept of rescuing people scheduled to be sacrificed. Developing the idea further I wanted to give the player a reason to actually perform the sacrifice themselves creating some moral conflict.
The final idea for the game was a squad based, procedurally generated, "single stick shooter", with zombies and child sacrifice. Easy right?
I wanted to use steering behaviours, because... well, I always want to use steering behaviours. Seriously though, I wanted to test the progress I've made since the first public release and also see how they do in a new context. Most of my usage of steering behaviours thus far has been entities in free space with few obstacles. I wanted this game to be set in a (procedurally generated) city, with lots of smaller spaces and obstacles. I settled on zombies as the enemies as they are very suitable for steering behaviours and they don't need advanced AI. So the final concept is that the city is overrun with Zombies and the citizens have decided to sacrifice some magical children to satisfy the zombie god and make the zombies go away. You play as a magic kid that has escaped their sacrificial altar and wants to rescue the remaining imprisoned sacrificees (real word).
What Went Wrong
- City generation wasn't very good and took too long to code.
- Hacking steering behaviours to accommodate pathing and separate factions was harder than expected.
- The "steering behaviour" for manual control is super clunky.
- Making background graphics was going to be hard due to the way I coded the city generation.
- Team and enemy buff/debuff system needed to be planned a lot better than it was.
- General trouble shooting taking way longer than expected.
The last point is possibly the main reason I ended up not submitting anything. The other big reason is of course, I tried to do too much with the limited time. The biggest time sink in regards to trouble shooting was handling collisions with steering behaviours. I'm not sure if the implementation needs reworking or if I just couldn't find the sweet spot for the setting used in the implementation as is. This is something I will be focusing on as I want to improve the public version and use steering behaviours for many game ideas in the future. Another big time sink was making the line-of-sight system so the player characters knew when they could shoot zombies. The initial coding went well, but then when I tried to package it up as a script it just broke. Still haven't figured out if it's my coding or a Game Maker bug/feature that broke it.
What Went Right and What Did I Learn?
- The game concept is solid (I think).
- Steering behaviours are fairly easy to integrate into different situations.
- Found a bunch of new tools and resources for game jams and development in general.
- Made some half decent sprites given the little time I spent on them.
- Solved some minor, but recurring code design problems for the future.
I'd be lying if I said I wasn't disappointed at not submitting, but ultimately the process is still valuable. I definitely need to work on time management; most of my game dev sessions vary wildly in time scale and I don't often log how long things take to implement/solve. It's only when it comes to game jams that I have a temporal restriction. This is good and something I need to adapt to.
Scope is another point that I struggle with. I think this is why I was able to submit in my first jam as I knew I was inexperienced and aimed low (just make a twin stick shooter), although I had a unique mechanic, it was still simple. Now I'm more familiar with game development and Game Maker itself, I always think "Oh hey, let me make Skyrim!".
Going forward I'm going to seek out some longer game jams. I really feel like a jam with a week or two would be better for me to actually make something, and something that could even be good. For the next GM48 I'm going to try to wrangle my desire to make things too big and try to get the meat of the game done in the first half of the first day.
So yeah, GM48 was a fail in terms of making an actual game, but still a worthwhile experience. I highly recommend participating in game jams to any and all developers. Let me know if there are any jams you think I should join.