Petri

  • Simulation
  • Jon Drobny
  • 4 weeks ago
  • 56th

Description

Far from Earth, a lone rover has detected signs of life. From your humble workstation on Earth, manipulate the conditions and use your sample tool to observe new stable lifeforms! Try to find small, fast creatures or large, all-consuming monsters, it's up to you. Each cell's color determines its behavior; cells will die only if they are alone.

Notes: Here are some tips for making new life-forms: when you have a sample that looks like it's starting to form clusters, turn the viscosity up to help them stick to each other. If particles are too far apart and are dying, you can force them together by increasing the pressure. Increasing the temperature causes small, random fluctuations in cell velocities, and can force two otherwise repulsing cells together, perhaps to find a new stable configuration. Good luck!

Controls:

R to collect a new sample (randomize cell properties and positions)

P to freeze and unfreeze the sample container (pause simulation)

When frozen, scroll wheel to change manipulator tool size.

Click LMB to isolate the sample in the manipulator tool.

Click RMB to destroy the sample in the manipulator tool.

Sample Container Buttons:

Click buttons on right side of screen to change Pressure, Temperature, and Viscosity.

High temperature will transfer momentum to the cells - at high temperatures lifeforms can boil away!

Pressure forces cells towards the center of the container - high pressure will force cells together.

Viscosity changes the amount of friction - high viscosity will slow cells down.

Feedback
11

You must be logged in to leave feedback
Register or log in to start writing.
  • Jupiter Hadley
    Jupiter Hadley Jupiter Hadley 9
    1 week ago

    Interesting game. I included it in my GM48: Colors are Important compilation video series, if you’d like to take a look. :) https://youtu.be/vn9B8Izpgw4

  • voxeledphoton
    voxeledphoton voxeledphoton 3
    2 weeks ago

    It would be nice to have value sliders instead of buttons for more control. you can also use draw_set_alpha() before draw_circle_color() to make them transparent if that's what you were looking to do instead of using sprites and image_alpha. It was a lot of fun watching all the formations when toying with values and I just wish there was some goopy audio for this little sim. Great work! ;D

    • Jon Drobny Jon Drobny
      Jon Drobny 2 Developer

      That's a good point - sliders with the value next to the slider would be a waaaay better UI. Using sprites came about as a result of intending to replace them with much fancier little sprites for each color, but that never materialized, so alas, the circles remained. Thanks for playing and thanks for the feedback!

  • Croaks
    Croaks Croaks 4
    3 weeks ago

    I think I'm scared of you now. This game (toy?) is very intelligent. How you managed to think of this and pull this off is beyond my active comprehension. Good job. Wow.

    You've already talked about gamification with the others and I read your comment on the interaction factors. I guess I'm curious, how did color play a role? Is each color a different species? Was there every any thought of color mixing through reproduction?

    I'm curious what this could turn into. The Game of Life always interested me and I could see this heading down that path with more time. Again, incredible job.

    • Jon Drobny Jon Drobny
      Jon Drobny 2 Developer

      Haha, thanks! I can't take full credit for the idea of continuous, particle-based cellular automata, but the particular interactions were my design through much trial and error (and some reliance on computer algebra software to make sure my math was correct!)

      Yeah, each color is a different species, and each color has different interactions for every other color. For example, blue may want to only be next to blue, or yellow may want to keep red at a particular distance while red wants to be closer to yellow, leading to a back-and-forth snappy oscillation between the two low energy states.

      I definitely considered color mixing and hybridization of species. I also want to figure out a way to encode the color interactions into something I can present to the player visually as "DNA" or chromosones to click on and modify via sliders or, if it's possible, typing out strings of ATGC etc.

      Thanks for playing, and thanks for the feedback!

  • FrogWax
    FrogWax FrogWax 5
    3 weeks ago

    This was fascinating to play with. The little sentient beings you've generated in this well thought out simulation had me mesmerized for quite some time.

    I also wanted to say thank you for your extended reply to previous feedback. It's a good starting point to try and understand this. A really unique entry that doesn't have much 'gameplay' to speak of, but definitely deserves your time.

  • TobyMoby
    TobyMoby TobyMoby 3
    3 weeks ago

    I think this game is too clever for me :D It was fun playing aroung with the cells, destroying the ones I deemed unworthy of existance, but, as others have pointed out, the system behind it or the goal were not really clearly communicated.

    I think if I would see the code for this, my brain would start melting, tho!

  • Fachewachewa
    Fachewachewa Fachewachewa 32
    3 weeks ago

    Interesting game. Too bad there isn't really any feedback for the player. It seems you made a relatively complex system, but we can't really see or understand what's really happening :( It was still fun to play around the parameters for a while.

    • Jon Drobny Jon Drobny
      Jon Drobny 2 Developer

      Thank you for playing - if I continue work on the game my main goal is to give the player more information and more control. Just gotta figure out what and how it should look. I appreciate the feedback!

  • Tero Hannula
    Tero Hannula Tero Hannula 14
    3 weeks ago

    It was fun time killer without really any goal, but hey, that's simulators for! I am just thinking how you did this codewise, that would be interesting to know.

    • Jon Drobny Jon Drobny
      Jon Drobny 2 Developer

      Thank you for playing! I appreciate the feedback. I definitely had plans for some gamification, but ran out of time to implement any of them. I'll write a little about the code below in case anyone else is interested!

      For reference, this is essentially a "simple" molecular dynamics code with fictional interactions. Every cell species has a set of 16 parameters that define its interaction force (based solely on distance, r) with each species, including its own. All cells repulse each other very strongly at close range (1/r dependence), but have randomly chosen attraction/repulsion at further distances to each other (this is a sin^3 curve, cut off after 1/2 or 1 wavelength - not at all based in reality!). Two additional forces are a velocity-squared drag force ("viscosity") and a 1/r central force ("pressure"). Using the sum of these forces, I compute acceleration, velocity, and position at each step.

      There were a lot of physics bugs to handle. I had to constantly check for NaNs coming from the interaction force, bouncing off walls sometimes shoved particles too close to each other and the whole thing would explode, and some seeds produced just pure nonsense. Thankfully, I've written simple MD codes before, so I knew what I was getting into when I started, even though I'd never thought to try it in GameMaker until now.

      There are a handful of other particle-based life sims out there that inspiried me - CodeParade on YT made one, the developer of Star Guard is working on one and sharing stuff on Twitter, and the "Artificial Biology of Lenia" paper on arxiv.org was a big inspiration too. Thanks for reading!

  • kris24
    kris24 kris24 4
    3 weeks ago

    I didn't really know what was happening, but it was interesting to watch, haha! Super impressed with all the work that must have gone into making this happen; this seems really well thought out for a game jam project. A fun way to kill some time, seeing what shapes form out of the madness when you crank the parameters one way or another.

    • Jon Drobny Jon Drobny
      Jon Drobny 2 Developer

      Thank you for playing! If I can put some more time into this post-jam I'd love to be able to give the player both more information and better tools, as part of adding at least some gamification of the simulation.

  • Virtu
    Virtu Virtu 8
    3 weeks ago

    Finally, after slaughtering countless populations by pushing the container to ridiculous conditions, usr@rover managed to arrange the colorful beings in a pattern that resembled a cat. Almost.

    Fun game! Clumps on max pressure are amusing to watch. Now I've just got a massive restless one full of yellows and blues that kept charging around frantically and eating anything in the way. Fascinating!

    • Jon Drobny Jon Drobny
      Jon Drobny 2 Developer

      Glad you liked it! My original, far-too ambitious for a game jam idea was to allow players to capture, save, name, and share individual creatures, so it really makes me glad to see that even without those mechanics in place you still took to that task with glee. Thank you for the feedback!

  • Nosiri-N
    Nosiri-N Nosiri-N 2
    3 weeks ago

    A simulation of new life its actually very fun to play and experiment with tho it took me a like an hour before i knew what i was doing

    • Jon Drobny Jon Drobny
      Jon Drobny 2 Developer

      Thanks for giving it a go! You make a very good point - it definitely needs a lot more guidance for the player. Each time R is pressed it randomly picks ~100 parameters that control the simulation, so until I add some more fine-tuned control even I don't know exactly how the little life forms work!

  • Panda-K
    Panda-K Panda-K 9
    4 weeks ago

    This was pretty interesting to play around with, but I had no idea what I was doing. A little more guidance about how to create new strains would have been nice. A great little collection of tools to play around with, though :)

    • Jon Drobny Jon Drobny
      Jon Drobny 2 Developer

      Thank you for the feedback! I had wanted to give the player detailed tools for building and modifying cells (copy+paste, saving and naming species for points/achievements, directly modifying their "DNA", etc.), but there wasn't enough time due to extenuating circumstances. That's the nature of game jams, I suppose! Thanks again; I really appreciate the rating and feedback, especially since this is my first game jam game ever.

Post-mortem

There doesn't seem to be anything here.