Garbage collector's minion by Mibi88

[raw]
made by Mibi88 for Ludum Dare 58 (JAM)

A small game where you are an allocator and the garbage collector asks you to perform some tasks. Made for the Ludum Dare 58 (jam category).

I had way less time this time as I nearly forgot the Ludum Dare! I noticed it at 1pm on Saturday!

~~A Linux build is here, and web and Windows builds are coming soon.~~

EDIT: I just made a Windows build on my school laptop, it's crazy how many DLLs the SDL requires.

EDIT2: The web build is here!

~~A timelapse is also coming soon, I just need to find the time to put it together… Which isn't easy…~~

EDIT3: It's finally done!

I opted out of audio as my game simply has no audio at all.

How to play

(this help can also be seen in-game)

requests.png allocate.png realloc.png fail_alloc.png free.png corruption.png lag.png

 Known bugs

Resizing the window is kinda broken on X.Org (however it works on Wayland and on Windows), so it's probably SDL's fault.

Changes

11th October 2025: Made a web build of the game (required fixing the size of some textures to make them power of two sized and square). I didn't updated the other builds.

Timelapse

https://youtu.be/yUBdYKr2OOI

Ratings

Overall 694th 2.981⭐ 28🧑‍⚖️
Fun 694th 2.731⭐ 28🧑‍⚖️
Innovation 172th 3.635⭐ 28🧑‍⚖️
Theme 552th 3.385⭐ 28🧑‍⚖️
Graphics 695th 2.481⭐ 28🧑‍⚖️
Humor 592th 2.435⭐ 25🧑‍⚖️
Mood 759th 2.442⭐ 28🧑‍⚖️
Given 18🗳️ 28🗨️

Feedback

LDJam user 374028
Oct 07th · 22:02 UTC
I managed to get to the end. At first I thought that the final levels were troll levels, never intended to be cleared, given how little time is given for actions. But it seems that the requests given and their amount are completely random, and so I beat the final level by getting a good roll in which the level only asked for 1 total request which was to allocate space, and so I beat the game. It's a simple and fun game, especially for low-level programming enjoyers. Approved!
JohnStarich
Oct 08th · 05:36 UTC
I tried running on Linux, but I'm hitting a dependency missing error:
![Pasted image.png](///raw/9f7/56/z/6ed81.png)

Perhaps the web build will be good enough for me to try again :slight_smile:
🎤 Mibi88
Oct 08th · 12:40 UTC
> But it seems that the requests given and their amount are completely random

They aren't completely, but it's really hard to try to fix.

Thanks for your comment.

I just added a Windows build.

I can't write more, I have very little time.

> I tried running on Linux, but I’m hitting a dependency missing error

Yes you need to install SDL_image.
🎤 Mibi88
Oct 08th · 16:26 UTC
> > But it seems that the requests given and their amount are completely random

> They aren’t completely, but it’s really hard to try to fix.

My code to find the tasks is really messy, I should've taken another approach. I had less time than the other times I participated to the Ludum Dare, and I tried to make it less random in the last minute, but the whole logic of it is bad.

I'm happy that you enjoyed playing it!
YibiRabbit007
Oct 11th · 09:12 UTC
There seems to be a problem, I am waiting for your new version!
🎤 Mibi88
Oct 11th · 12:21 UTC
@yibirabbit007, what kind of problem?
🎤 Mibi88
Oct 11th · 20:42 UTC
@johnstarich, I just finished the web port. It can be played at https://mibi88.itch.io/garbage-collectors-minion.
Keith Wang
Oct 11th · 20:59 UTC
Got the end, yey.
Garbage collector was one of the first thing came to my mind but I didn't know what to do with it.
So I am glad to see someone else choose the theme and make a good simple game.
Silas Reinagel
Oct 11th · 21:39 UTC
Nice, clean design! This was fun!
JohnStarich
Oct 12th · 06:30 UTC
@mibi88 Thanks for the web build! It made getting started way simpler, faster, and safer.

I did get hung up on the 3-region level, where the lag shot past my ability to click fast enough. I think with a little balancing and sound effects this could be really great.

Good concept, control scheme, and gameplay loop!
🎤 Mibi88
Oct 12th · 14:25 UTC
Thanks for all your constructive feedback.

> Got the end, yey. Garbage collector was one of the first thing came to my mind but I didn’t know what to do with it. So I am glad to see someone else choose the theme and make a good simple game.

Funny coincidence.

> I did get hung up on the 3-region level, where the lag shot past my ability to click fast enough. I think with a little balancing and sound effects this could be really great.

Yes, I know it is quite unbalanced, especially with the number of actions that need to be done and the speed. The latter is hard to make balanced as I got too used to the speed of it :joy: .
ScrapMetal
Oct 14th · 18:43 UTC
I think I'm too dumb for this game. :grimacing: :joy: I managed to get through a few levels, but I didn't actually understand what I was doing. lol

Watching you build the code for this was crazy impressive though. :raised_hands: And I loved how snappy and streamlined it all felt.
LDJam user 416351
Oct 14th · 22:35 UTC
The concept is very nice and has potential, but in the current version tasks seem to be missing variety. In the final levels I thought you're supposed to allocate in different regions, but I've still been tasked to allocate in only the first one. Also, I thought you're not supposed to overwrite already allocated memory with resizes, but looks like that wasn't punished.
🎤 Mibi88
Oct 15th · 10:09 UTC
@keyjale,

> In the final levels I thought you’re supposed to allocate in different regions

No you aren't tasked to allocate in the first region, you can choose what's the best. When reallocating it only tells you where it currently is.

> Also, I thought you’re not supposed to overwrite already allocated memory with resizes, but looks like that wasn’t punished.

You are punished: it increases the chance that you may loose (it's random), i.e. it increases the chance of a "crash". Failing allocations also increase the chance of a "crash".
LDJam user 416351
Oct 15th · 10:20 UTC
Ah, I see now, thanks for clarification! Missed those details in my playthrough.
Ausstein
Oct 20th · 15:57 UTC
Some more user feedback would have been nice. Like some indication as to why I died or how the crash chance is increasing. it was quite unintuitive.

But I liked the overall concept of the game. Good Job!
🎤 Mibi88
Oct 20th · 16:01 UTC
The crash chance is shown in a progress bar on the right.

> Like some indication as to why I died or how the crash chance is increasing.

Yes I should have added a message telling one why they failed.
LDJam user 411567
Oct 20th · 17:02 UTC
quite a innovative game you got here!

Was fun allocating some blocks :D
volcanoeyes
Oct 20th · 19:02 UTC
Love the concept. Really shows how much the garbage collector needs to do under the hood. It woulda been nicer if the mistakes were a bit more punishing and the timer a bit slower because in the end I just kept allocating blocks as close as possible to reduce the distance I need to click.

Anyway great game! It makes so much sense that this game is written in C too haha!
tinykidtoo
Oct 20th · 19:43 UTC
It took me a few minutes to understand what to do on the first level. And I like how the difficulty ramps up from there, I felt like I was learning. But quickly I stopped understanding and kept failing. It's a neat idea and given more time could be a fun puzzle game. Great job!
Ueighti
Oct 20th · 20:06 UTC
Unfortunately, I couldn’t play it. I tried the web version on Itch.io, but the screens are different from the tutorial, so I couldn’t follow the steps.

Edit: I managed to play it, but it was me. I don't understand the game. :sweat:
🎤 Mibi88
Oct 20th · 22:24 UTC
@letmebeme, @volcanoeyes, @tinykidtoo,

Thanks for all your feedback!

@ueighti,

The "HELP" menu only shows images that describe the different tasks etc. It doesn't show steps: it just explains what the different things on screen do and isn't interactive.

> I tried the web version on Itch.io, but the screens are different from the tutorial, so I couldn’t follow the steps.

Could you send a screenshot?
Kash
Oct 20th · 23:29 UTC
It might just be me, but I would've liked for the game to hold my hand and really explain the mechanics a little bit longer. I was confused how I ended up winning past the 5th round. I enjoy learning on my own by failing and trying again, but this felt a bit too complicated to just figure out by playing. Overall though it seems like a really unique concept and I am very excited where it can go if you decide to take it further.
RubixNoob13
Oct 21st · 05:45 UTC
As someone who has programmed in C and had to do manual memory management with allocating, deallocating, reallocating, etc. This still made my brain hurt :stuck_out_tongue:

Was fun, would have loved any type of sound effects though to add to the experience!
Helen
Oct 21st · 08:08 UTC
Nice little game :)
🎤 Mibi88
Oct 21st · 11:19 UTC
@kashn @rubixnoob13, @helen,

Thanks for all your feedback!

> I was confused how I ended up winning past the 5th round. I enjoy learning on my own by failing and trying again, but this felt a bit too complicated to just figure out by playing.

Yes, the end is quite unbalanced, I should have made it a little bit more progressive.

> Was fun, would have loved any type of sound effects though to add to the experience!

True, they would have made it even more polished, but I was a bit short on time so I preferred improving the UI by e.g., animating the text showing the tasks, as I discovered that before, when letting others play my game that it sometimes really wasn't obvious that there was a new task, when e.g., the game asks you twice in a row to allocate 1 block. I also used this time to fix some bugs, there were surprisingly many. It can be seen in my timelapse.
megalukes
Oct 23rd · 03:45 UTC
Very creative I can see how you got there! It took me a while to figure out what was going on in the game, and I’m not sure I fully understood it since the web version was a bit buggy for me as well. Overall, it was worth the effort to finish it. Congratulations!
🎤 Mibi88
Oct 23rd · 16:47 UTC
@megalukes,

Thanks for your feedback!

> the web version was a bit buggy for me

What kind of bug was there? Was the clicking not working (it's an issue I had previously with the full screen button on itch.io preventing clicking on the canvas)?

EDIT:

Oh, I just noticed that the UI is a bit cramped when not playing in full screen so I made it bigger by default when not being in full screen.
Mamboman
Oct 24th · 14:38 UTC
very nerdy and very fun to play! It took me a while to understand what to do. I think the instruction made me think it's more complicated, than it actually was :D Overall well done!
🎤 Mibi88
Oct 24th · 21:25 UTC
@mamboman,

I'm happy that you enjoyed playing it!

> It took me a while to understand what to do.

That got mentioned very often, I'll need to see how that can be done better to not have a similar problem next time.