A downloadable toy for Windows, macOS, and Linux

Download NowName your own price

Tend a colony of bacteria. Poke them, stir them and make them sing their songs.

PETRI is an exploration of emergent organisation. Take some time to play, watch and listen to these creatures.


  • Code, art, samples: me.
  • Additional samples by:  Jade and a mysterious spirit.


  • Interact with the mouse.
  • Left click and drag to stir.
PlatformsWindows, macOS, Linux
Rated 5.0 out of 5 stars
(6 total ratings)
Made withLÖVE
Tags2D, ambient, artgame, emergent, generative, Life Simulation, screensaver, Short, Singleplayer, Virtual Pet
Average sessionA few minutes


Download NowName your own price

Click download now to get access to the following files:

PETRI [win] 40 MB
PETRI [macOS] 42 MB
PETRI [linux] 37 MB


Log in with itch.io to leave a comment.

cool and relaxing game :D

Can I use this game in a Video Game Shop? I would love to showcase and let others download the game


of course!

(1 edit)

Thank you so much!! Could I also have a way to contact you?

And by the way, What is you're Maximum and Minimum Specs for this game, I'm assuming Intel® Core™ i5-1235U, and Intel® Iris® Xᵉ Graphics


That's some nice source code (i'm not going to steal it). A nice game like this shouldn't get reversed engineered, you should try converting it to byte code.


I really don't mind! That's how I learned as well. Most of the things i do are open source for this reason.

Oooh, got it.

Deleted 267 days ago
(1 edit)

Hi, if you get me your twitter/discord (or some other place i can DM) I will give you a key

this is just beautiful, i hate not being able to buy anything

I'll send u a key if you provide some contact info, since itch doesnt allow DMs :>

thanks a lot :DD my discord username is ElNico56#0201


Super interesting little thing! The atmospheric sounds really add to the sense of discovery, it's great!!

When I tried starting the game up, I received an error that said:


Cannot compile pixel shader code:
Line 8: ERROR: 'uniform' : non-matching types for uniform initializer


[C]: in function'newShader'
main.lua : 95: in function 'load'
[C]: in function 'xpcall' 

Tried restarting it but didn't do anything. Is there any way I can fix this? 

I'll look into it. It might be incompatibility with your gpu. Can you send me your specs?

Not sure where specs are but I think these are it? 



Really interesting and fun project

Can you please release a Linux version of this?


working on it! should be included with the next update.

Still waiting on that Linux version ;-;


Oh, I kinda forgot about this, I'm so sorry!

I have some free time so it should be up in the next few days!

Oh, cool! Thanks for supporting!


I added a version just now. It's a bit troublesome because you'll need to install the right version of LÖVE yourself. (I added a link with the install instructions) 

Let me know if it works, since i havent tested it.


Very nice toy, I could be fiddling around with this for hours on a tablet/mobile. Although I was hoping to see those violet cocci turn into Staphylococci and Streptococci at least! Sound treatment also quite nice.