Somehow, it’s been over a year since I took part in Ludum Dare 51, which resulted in me creating a game called Catacombs 51. I’m actually reasonably proud of this game, but being made in 48 hours meant it was very rough around every possible edge and pretty barren of content. In the past month or so I’ve been revisiting this game, with the goal of greatly smoothening out those edges, and eventually adding more content. This project is being tentatively titled Catacombs Plus.
First off, I am still using GameMaker as the engine. With the recent Unity drama I am a little hesitant about basing it on a proprietary engine, but as much as I actually like writing my own engine tech I’m purely focused on making a game for once, and I already got the basics down on this one a year ago. GameMaker have at least promised they won’t do anything similar, and even say they’re taking steps to ensure you can continue to use the license attached to a given version - so that gives me peace, I suppose. At least my perpetual licenses still work after they switched to subscriptions some time back.
Most of the changes are technical, a lot of code refactoring has been happening over the month or so I’ve been working on this. Gameplay-wise, the most immediate thing is that the ten-second countdown is gone! Now you can explore the level and progress at your own pace. The countdown will remain in a separate “51 Mode”.
All of the other changes are technical… Were you to sit down and play it, probably the first thing you’d notice compared to the Ludum Dare version is the framerate. Originally, the game used a fixed time step of 60 fps, meaning it was not only locked at that framerate, but all logic and movement was written with the assumption it was running at 60 Hz. Catacombs Plus can now run at any arbitrary framerate, and most stuff is no longer bound to a fixed timestep. Some code still uses a fixed 60 Hz clock, like weapon cooldowns, but anything that moves - players, enemies, bullets - now uses delta time, meaning it’s smooth regardless of the actual frame rate the game runs at, and won’t go slow-motion when framerate drops.
Also immediately obvious is the lighting system: it actually has one. Catacombs 51 just used a shader that tinted the world a random colour and made the level get darker the further away from the player, but Plus has an actual lighting system. It’s primitive and probably needs more work, but it’s fine right now. It’s also not terribly efficient - making it a post-processing shader would probably be best, as right now it calculates all the lighting every time something is drawn. However, performance is pretty good on my PC and my M1 Pro MacBook, the two things I have to test.
Another nice change is resolution. While the game still uses a 448×252 camera, it will now render that camera at whatever size the window is, whereas Catacombs 51 would always render the game at 896×504. This means that the game will always be nice and crisp instead of becoming a horribly pixelly mess at anything over than the default resolution. Additionally, the camera now adjusts to your aspect ratio, instead of being locked at 16:9, meaning it’ll work on whatever crazy display you throw it on:
I’ve also reworked the enemy AI significantly. Previously, the enemy logic was incredibly simple: it would check line of sight to the player, and if it had seen them at any point, it would continuously plot a path to the player and follow it. The zombies wouldn’t collide with anything, they would phase through not only each other but even the player, which was especially annoying as it wasn’t particularly easy to shoot a zombie that was inside you… Plus has scrapped this old crappy code for an actual AI system based on behaviour trees, making the AI code much more flexible, modular, and overall easier to work with. Right now, regular zombies basically retain the same behaviour, but gun zombies see actual improvement: they now only shoot when the player is in their direct line of sight, and will start strafing around the player when they get close.
Not only that, but zombies and the player have collision now, so they’re less likely to walk through eachother. It still happens, unfortunately, as the collision code throughout the entire game is still a mess. But that’s something I’ll work on.
Catacombs Plus won’t just be limited to technical improvements, I also intend to add more content: more levels, more enemies, more weapons, more powerups, and balance everything hopefully nicely. It’d also be nice to add multiplayer - both co-op and maybe even a competitive mode - but that’ll be difficult, so we’ll see.
If I do see this project through to completion then it’ll be a paid product, but I’ll probably only sell it for a fiver at most.