Tools and tech for my game written in Rust
I took this Ludum Dare as an opportunity to practice some Rust programming. I used the Ggez engine, which provides APIs for graphics and sounds and an event loop - just what I needed. The project ended up with 667 lines of Rust for the actual game (including the hardcoded story messages), 76 lines of Python (for asset conversion), and 105 lines of Makefile.

I use VS Code as an editor, which with the Rust plugin becomes a pretty good IDE. It's amazing that I can get all of this as open source software. I developed the game on Windows, because the most powerful computer I have is my Windows desktop at work.

For automatic builds, especially for Mac and Linux builds, I used Travis CI that amazingly can build for Mac even on their free tier. Creating software for Mac otherwise requires Apple hardware. I had set up Travis before the contest started, but since building the assets didn't work on the build machines, all builds failed so I didn't have much help from it as a Continuous Integration system. I released the Mac and Linux builds a couple of days after the deadline.

I made the levels in Blender and wrote a script using Blender's Python API to export the meshes and trigger areas as raw binary data to be read by the game. I would have saved time if I had done this before the competition, as that's something I always need. I have scripted Blender before, but this is the first time I ran it from the command-line during the build process, which was very convenient.
Of course, Blender is not installed on the machines Travis uses for building, so for the releases I had to check in the result, something I'd rather not do. (Rule: If a file can be created from what's already checked into the repository, then it shouldn't be checked in.) I later realized that I may be able to make the build scripts download Blender if it's not installed. It's very lightweight for being a powerful piece of 3D software.

I made the "music" in FL Studio. First I started with some bassline, but that sounded a funky and didn't fit the mood I wanted at all. So I slowed that down by about 90% and switched to some FM synthesis sounds, which made me think of some 1960's experimental art music. Perfect!
The rest of the sounds are noise and tone generators in Audacity.

I came up with a story about someone who not only can't control the spacecraft, but also has no recollection of what he/she is even doing there. You start with nothing, not even the possibility to steer.
I usually do level design last, and as this Ludum Dare ended three hours earlier than I'm used to, I had almost no time for that, so the game is short and ends abruptly. But I consider it a success anyway, because I did what I set out to do, which was to learn more about game development in Rust.