Game Jam participation
 
I took part in the global game jam 2018 and made a game for the Tiny Arcade! The game's name is "Killing the Messenger" and is sadly finished without sound (and with very little variation in terms of game play):

In case you don't know what a game jam is: It's an event where game developers meet and form teams to make games within 48 hours - for fun.

My family managed the kids while I was there and I was able to work most of the time on the game. 

I made good progress most of the time, though I also noticed that some workflows are not as good as they should be. I implemented sprite mirroring on Saturday morning for instance simply because I didn't want to make animations facing both ways by duplicating the images... that the sprites use less memory that way was just a bonus.

There are also other things I've noticed that are missing in the set of functions I already have:

  • Animations: I had to code a system to make animations from individual sprite sheets. Since I wanted to have different delays during frames and reusing frames, I needed to store this information. 
  • Animation editor: It would be even better if I could visually edit animations, dragging sprites of the sprite sheet around and so on and then storing it as a C source file, ready to use in code. It would be even better if I could connect this system with sound playback.
  • Creating animations from sprite animations is tedious right now: I have to create individual images one by one. It would have been easier if I could just create one image and let the asset pipeline pack it efficiently for me.
  • Visual finite state machine editing: I utilize state machines to create the unit behavior in the game. It worked well, but I spent much time on designing the state transitions. It would be so much easier if I could edit it visually and hooking up the events in code to the states.

I think if I had these things, I could focus more on working on game related things. The current game is very difficult to play for instance because the enemy behavior isn't well balanced. While my plan is to finish MicroVektoRoids first (it takes too long right now for various reasons...), I would really like to improve my tool pipeline at one point. I actually tried making a sound editor the recent weeks:

... but it's quite painful to code all this stuff in C++... It would be nice if I had my tools using the same code base as my games do since this would save me implementation time, however, I am not sure if this justifies taking this approach. 

Apart from all that - the feedback on the game jam was very positive. Lots of surprised looks when I showed them the hardware. Though - I think an XL variant would be beneficial... many complained being unable to read the texts.

Oh, and in the voting in the end and I actually finished 4th :)