Karma Keepers - Post morten

:video_game: Play it here: https://ldjam.com/events/ludum-dare/56/karma-keepers
--
My game has reached 60 votes, and I thought it was a good time to share how I made it.
The last time I participated in Ludum Dare or any game jam was 10 years ago. Since then, I didn’t have the time or energy to commit to making a game in such a short timeframe. But this year, everything aligned. I had free time, a quiet house, and a new Rust framework I’ve been working on for the past month. So... LD 56 it is! I chose the compo and used my custom engine, sounds crazy, but I wanted to have fun doing something I enjoy.
For me, the theme reveal was at 11 PM. I brainstormed for a few hours, trying to find an idea that excited me. Interestingly, I had originally voted for Tiny Creatures because I had a concept in mind. However, just a few hours before the event, I changed my vote and removed Tiny Creatures because I’d forgotten my idea :sweat_smile:
Anyway, after discarding a few concepts, I came up with one I liked: an incremental game where you, as a god-like figure, lead tiny creatures to convert corrupted souls to the light.

With the idea settled, I went to sleep and started fresh the next day.
I began by defining the map size, soul spawning system, and a karma system that ranged from -2 to 2, where: * Neutrals: -1 to 1 * Shadows: -2 to -1 * Luminals: 1 to 2

And then added interaction with the mouse:

At this point, I realized that RNG was playing too big a role in determining whether players would win or lose, so I made some adjustments. One change was introducing Eternals, a new kind of soul that’s incorruptible. I also implemented blessings, passive power-ups that increase the chances of winning.


On day two, it was time to work on the visuals. As a programmer, I was a bit worried since I’m not much of an artist. But for my first attempt at art, I think it turned out pretty well! It’s obviously not the same as having a dedicated artist, but I really enjoyed learning Aseprite and creating some simple pixel art.

Suddenly, it was time to submit the game. The compo was ending, and I had to rush. Unfortunately, I didn’t have time to add sound, so my game was released without any audio :pensive:. I also made a few last minute gameplay tweaks to make it easier before submitting. I had some issues embedding the HTML game due to absolute paths in my index.html, but I managed to fix it. Then, I finally went to sleep.
The next day, I noticed the game was really laggy in the mid/late game. I found the issue in my engine, made a fix, and uploaded an update that improved performance. The lag was somewhat expected because the game features thousands of entities on screen, but making the game run smoothly was a priority for me to ensure players could enjoy it as I envisioned.
And that’s it! I’m really happy with the end result, even though the game is challenging, unclear at times, and lacks sound or enough feedback for players to fully understand what's happening.
I’m grateful for the feedback I’ve received and am taking it seriously. While it’s too late to improve this version, I’m planning to develop this game into a “real” project, hopefully one day on Steam. Thank you all!