Hey everyone, it's been once again a pleasure to make a game for Ludum Dare!
Link: https://ldjam.com/events/ludum-dare/42/box-rescue
I finally rendered the timelapse for Space Box Rescue:
https://www.youtube.com/watch?v=ymD2m2gupS0
Making the Game
When the theme was announced I immediately thought I should make a grid-based puzzle game, maybe something like the historical Sokoban. The mechanics of the falling tiles and encroaching lava seemed like an obvious start, but little did I know at the time how many other games would also have crumbling floors :stuckouttonguewinkingeye:
I continued my time-honored tradition of using plain text to define levels:

This was the first LD I did with Linux (Ubuntu) as my primary workstation instead of a macOS machine, because I switched recently. I still used the Mac for music though because there is nothing like Logic Pro that works on Linux.
Music and Sounds
At first I just exported each instrument from Logic Pro into its own track, because I wanted the game to mix them down dynamically. However, due to limitations of web audio, I never got this to work without horrible glitches. So in the end I took the song and mixed down/baked a couple of versions of it, literally in the last few minutes before submission. But yeah, limitations to the audio portions are mostly down to the fact that it was a rushed “fix” in the end. I used howler.js, which is a pretty minimal web audio playback library. The sounds are, as usual, just me making mouth noises into a microphone.
"Engine"
About the “engine”: there is pretty much none, it’s really just Three.js (which is a webGL renderer) and some very minimal glue code I’ve kinda been accumulating during the last LDs. It’s available on Github as a starter package, but I’m hesitant to post it before it’s properly documented. What the starter code does is taking care of the boilerplate to set up the scene (apart from some things that I didn’t use in this game, like my own pathfinding lib and such). It also doesn’t yet contain the effect pipeline I used in this game, but I will at some point because it turned out well. Just a matter of unspaghettifying it for re-use.
I'm probably going to continue this pattern of using last LDs lessons and code for the following LDs, because it feels like a nice continuation, but realistically my games don't tend to have a lot of overlap with each other, so it'll probably remain focused on boilerplate scene initialization and convenience functions.
Post-Compo Version?
I'm not a gamedev in my real job, and I'm always a bit short on time. However, this concept might be deserving of a full version. I'll post it here when/if I do it.
Plugs
IRC Channel
Join the #ludumdare IRC channel on afternet.org, it's low traffic, but full of nice people - and it also has the distinction of being the original Ludum Dare IRC channel. I realize Discord is convenient, but there is something to be said for unplugging from the giant (and by necessity somewhat evil) monolithic platforms that dominate our formerly free-for-all internet /end-rant
Programming Streams
If you're interested in gamedev and programming streams, and one that also features LD streams when they happen, have a look at https://programmingstreams.net/ - it's basically the Ludum Dare sidebar, only "better", for a very subjective definition of better :smile:
That's it so far, thank you for making all the cool games I got to play and the many I still need to play over the next weeks!