I just completed my first round of Maintenance Releases, starting with my Ludum Dare Games.

As described previously, I intended these maintenance releases to be simple and quick updates taking no more than a few hours to finish. Unfortunately I ran into some complications which got me rethinking my plan for keeping old projects up to date. But maybe now that the initial update is over, future updates won’t be so painful. We shall see.

But actually, some projects may not receive future updates, or I may scrap the idea of maintenance releases altogether. I’ll explain why below. Here’s a rundown of what I’ve accomplished:

LD23 – Be Tiny, World!

I already updated Be Tiny, World! a couple months ago, so I didn’t do anything with this project at this time. I also don’t usually think of this game as a Ludum Dare entry since I’ve worked on it so much since the original Ludum Dare jam. But it does have its origins in Ludum Dare 23, so I’m writing about it here for the sake of completeness. The next maintenance release for Be Tiny, World! is planned for next year sometime. . . if I’m still doing maintenance releases then.

LD29 – It Came From… Beneath!

I had some major problems with this project. When I tried to upgrade it, Unity warned me to make a backup of the project in case anything broke. I confidently ignored that warning because I use version control software which lets me revert the project back to any previous state I want to. But when things inevitably broke and I tried to revert the project to try a different approach to upgrading things, I found that my version control repository was corrupted. And for some reason I had never pushed my repository to Bitbucket like I have for literally every other project I’ve created in the past 8 years or so. So I don’t have another, non-corrupt copy of the repository.

This means that the project is currently in a broken state. I can’t revert it back to a working state, and it was taking me too much time and effort to try to figure out how to fix things. So this project didn’t get updated, and it probably will never be updated. The project is kind of dead now, due to its broken state.

I probably shouldn’t feel as much of a loss for it as I do, considering it was created in a single weekend within 72 hours. I could just recreate it if I really wanted to. Nevertheless, I’m dispirited and demoralized by this turn of events.

LD30 – Planetary Devourers

I spent quite a few hours on Planetary Devourers, getting everything functional and working with Unity 2017.2. I even fixed a bug or two that I found on one of the levels. I had the builds all ready to go and was just testing out the WebGL build to make sure everything worked, when I discovered a big problem: I used USFXR to create all the sound effects in Planetary Devourers, and it seems that USFXR doesn’t work in the latest version of Unity’s WebGL builds. Maybe it never did work in WebGL builds. But since the primary purpose of doing these updates was to get the game playable in WebGL, and the WebGL version works but is missing all the sounds, I felt it was pointless to continue with the update.

I suppose I could use a known-working version of SFXR and generate the sounds and export them as WAV files and import them into the project and change all the code to use the WAV files instead of USFXR… But I’d already spent more time than I wanted to getting the project to where it was. Maybe next year if I attempt to upgrade the project to Unity 2018 I’ll have few enough compatibility fixes to worry about that I can devote the time to changing the sounds over. But for now, there is no update released for Planetary Devourers this year.

LD31 – Worm Wars

It seems Unity’s physics system has changed in a way that fundamentally alters the way collision detection works since whatever version of Unity I used to make Worm Wars originally. It took me quite some time to get the collision detection back into a mostly workable state, but this update actually introduces some bugs into the gameplay. Consequently I didn’t make new, buggy desktop builds since the old ones are technically superior. I only made a new WebGL build since I figured a mostly working but slightly buggy WebGL build was better than no web-playable version at all.

You can play Worm Wars in the browser here.

LD32 – Time Bomb

Again, something about the physics seems different from the old version. This leads to a strange effect where you sometimes get pushed up into the air when the enemy robots touch you, and you can get away from them, instead of them killing you and ending the game. Also it seems something broke with the animation of the robots, so now it looks like they’re limping on a gimpy leg. Weird. But the good news is that I finally added proper keyboard & mouse controls to the game. So it’s much more playable that way instead of practically requiring a gamepad to play. Hooray for that.

You can play Time Bomb in the browser here. Updated downloads are available on Itch.io.

In Summary

I’m unhappy with the results. Upgrading LD29 and LD30 was a complete failure, and upgrading LD31 and LD32 resulted in buggy versions which are arguably worse than the original releases. At this point in time I’m not sure I want to bother with updating any of my other older projects. Only time will tell what happens in that regard.