Petri Dish
Controls:
- Anything can be dragged. Break the loops by dragging fast.
- Draw new loops with the right mouse button
The game will end if you have a monoculture, or if the petri dish gets overpopulated.
Made in 48 hours for Ludum Dare 47. The theme was "Stuck in a loop".
The font is Quicksand.
Status | Released |
Platforms | HTML5, Windows, macOS, Linux |
Rating | Rated 4.5 out of 5 stars (4 total ratings) |
Author | Johan Helsing |
Genre | Simulation |
Made with | Unity |
Tags | Ludum Dare 47, Sandbox |
Average session | A few minutes |
Inputs | Mouse |
Links | Ludum Dare |
Comments
Log in with itch.io to leave a comment.
Blue keeps harassing all others LOL
Nice, I managed to get to 13 generations
Awesome
cool =)
Ended up playing this after having trouble publishing a game for GMTK 2021. Your post on the Unity forums saved me! Great Ludum Dare game!!!
this is actually so addictive as soon as I figured out what the objective of the game is. BTW, how did you accomplish that blending effect between the pieces of the drawn things? It looks like a blending effect caused by ray marching but this appears to be 2D... Very well implemented mechanics, and very nice gameplay.
Thanks :) Glad you enjoyed it!
I’m using 2d signed distance fields and exponential smooth minimum.
https://www.iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm
https://www.iquilezles.org/www/articles/smin/smin.htm
The cool thing about the exponential smooth min is you can add an arbitrary number of sdfs together smoothly and very efficiently.
The parts of the rings are vesica sdfs transformed by the first part of exp smoothmin with additive blending into a framebuffer. I then do a second pass to “decode” the framebuffer, applying the last part of exp smoothmin and colorizing it.
Sorry if that was a very dense explanation.
Btw, I almost ended up not submitting the game because I spent most of the game jam fiddling with those sdf rings and had no idea what to use them for until the very last hours.
That is seriously awesome. That's what I expected, since I've been experimenting with distance functions recently as well! (Raymarching is pretty much what you did but in 3D) Don't worry, I understand what you're talking about ;) Funnily enough, I used the exact same website when researching how to implement my raymarching code (https://replit.com/@01000001/Raymarching#main.py). It's cool to know others find the same things interesting! Also, thanks for the resource on the smooth min function. I might be able to improve that bit of my code (you can try it out in my code by setting blendObjects to True).
best game ever
I think you should be able to destroy things on your own, so you can delete loops or those little things with the eye
(Anyone there?)
yes lol. You can sort of temporarily delete things if you fling them off the side fast enough. They disappear for a while because they seem to phase through the collider, but if they are the organism things, they end up coming back eventually. Be warned though. They will continue to multiply out of sight were you can't do anything about it and the game will eventually end even when it seems like it shouldn't