Hacker News new | past | comments | ask | show | jobs | submit login
Orb Farm (orb.farm)
783 points by thunderbong on May 19, 2023 | hide | past | favorite | 101 comments



:) Love seeing this at the top of HN! This project, along with sandspiel (by the same creator), are some of my biggest inspirations!

If you're not aware, there's a relatively deep technical explanation of how sandspiel was built which I found interesting. If you're into orb.farm then you'll probably find it interesting, too: https://maxbittker.com/making-sandspiel

And, shameless plug, I've been teaching myself Rust/Bevy/ECS lately and am creating a simulation ant farm. The project is still in its infancy, and is nowhere near as cool as these, but https://meomix.github.io/symbiants/ for some ants that scurry around and emergently create piles of sand. Pan/Zoom launching in a couple of hours, feeding them hopefully in the next week or so. If you have ideas for simple features I'd love to hear them or if you want to follow along with the project check my profile for a Discord link.


I love ants and replicating their behavior in code!

You might like these projects:

"Coding Adventure: Ant and Slime Simulations" by Sebastian Lague:

Video: https://www.youtube.com/watch?v=X-iSQQgOd1A

Code https://github.com/SebLague/Ant-Simulation

"C++ Ants Simulation 1, First approach" by Pezzza's Work:

Video: https://www.youtube.com/watch?v=81GQNPJip2Y

Code: https://github.com/johnBuffer/AntSimulator


Thank you for the resources! I'll add them to my list of bookmarks. :)


This is maybe a bit too specific to Clojure and more generally about concurrency in it, but Rich Hickey introduced Clojure with an ant simulation demonstration. The video quality is not great, but there's an article (sadly not up anymore, but on the way back machine):

https://web.archive.org/web/20160409080236/http://juliangamb...

Video directly: https://youtu.be/dGVqrGmwOAw


Discussed here:

Making Sandspiel - https://news.ycombinator.com/item?id=34555913 - Jan 2023 (10 comments)

Making Sandspiel - https://news.ycombinator.com/item?id=19793835 - May 2019 (9 comments)

Sandspiel – A falling sand game built in Rust and WebGL - https://news.ycombinator.com/item?id=18696291 - Dec 2018 (185 comments)


I am a sucker for falling sand games, thanks for making this. Makes me want to make my own, I've been brainstorming ideas of complex "ecosystem" games for a while but never thought to just use a sand engine!


If you haven't been exposed to it, check out Noita. It's a falling sand action roguelike where the entirety of the world is simulated.


Haha, already got it! Super hard though, if it wasn't for mods I'd never play that game.


Always backup your saves


Also check out Sandspiel Studio, which lets you explore, edit, and define your own rules with a Scratch-like block visual programming language!

https://studio.sandspiel.club/

Making Sandspiel (maxbittker.com):

https://news.ycombinator.com/item?id=34555913

https://maxbittker.com/making-sandspiel

https://news.ycombinator.com/item?id=34561910

DonHopkins 3 months ago | parent | context | favorite | on: Making Sandspiel

I am a huge fan of Sandspiel, which Max described in this article from 2019, and recently I was delighted to discover that he and TodePond have been doing a huge amount of wonderful work since then.

What happens when you combine Sandspiel with a Scratch-like blocks based visual programming language that lets you look inside and see how rules work, tweak and modify them, and even define your own rules for different types of particles? And then form a community around it for sharing and learning from each other and building on top of each other's work.

Here is Max's and TodePond's brilliantly ambitious visually programmable sequel, Sandspiel Studio!

https://studio.sandspiel.club/

Here's my profile, where you can play with the version of Max's flower growing rule that he shows here:

https://www.youtube.com/watch?v=ifyYITDq1oo

...to grow underground potatoes and fancy flowers:

https://studio.sandspiel.club/user/clanzgor8006109mtjooi348t

I've written more about Sandspeil Studio and related topics of artificial life, cellular automata, and visual programming, and quoted some interesting discussion with Max and TodePond from their Discord server (they actually already knew about most of this stuff, but they love it as much as I do), in the "Ask HN: What weird technical scene are you fond/part of?" discussion, in reply to api's comment about Digital Artificial Life:

https://news.ycombinator.com/item?id=33698163

api 67 days ago | parent | context | favorite | on: Ask HN: What weird technical scene are you fond/pa...

Digital Artificial Life -- as in evolving program ecosystems, artificial chemistries or cellular automata that can manifest life-like phenomena, etc.

Haven't done much with it in a while but was very into it in college. It's both a minor scientific field (would probably be grouped under both theoretical biology and AI research) and a hobbyist field with some really interesting projects.

DonHopkins 67 days ago | prev [–]

That's one of my long time interests and hobbies, which I write about on HN and discuss with other people frequently. I'm supposed to be doing something else right now so I'll quickly drop a few disorganized quotes and links here. (Sorry I didn't have time to be more concise!)

A few years ago I ran across Max Bittker's beautiful "Sandspiel", which is a delightful cellular automata toy that simulates sand and other rules:

https://sandspiel.club/

A few days ago I saw him tweet some amazing stuff that resonated with me, which then led me to discover what he's been working with Lu Wilson (TodePond): Sandspiel Studio -- user definable rules using a block based visual programming language.

https://twitter.com/maxbittker

"working on goth fungus kidpix":

https://twitter.com/maxbittker/status/1593868837111451649

Lu Wilson (TodePond):

https://twitter.com/TodePond

Sandspiel Studio:

https://studio.sandspiel.club/

Sandspiel introduction:

https://www.youtube.com/watch?v=ecCVor7mJ6o

Sandspiel Studio in 60 seconds:

https://www.youtube.com/watch?v=qOA-lR3Xc34

Rainbow Sand:

https://www.youtube.com/watch?v=PGTsy79wx4U

Huegene:

https://www.youtube.com/watch?v=ltpkO7jcFOY

Flower:

https://www.youtube.com/watch?v=ifyYITDq1oo

TodePond's Spellular Automata:

https://www.youtube.com/watch?v=xvlsJ3FqNYU

We had a great discussion on the Sandspiel Studio Discord server, where I posted some interesting links:

[lots more links and info in the original post:]

https://news.ycombinator.com/item?id=34561910

Also be sure to check out TodePond’s amazing videos and software!

For example, "Screens in Screens in Screens":

https://www.youtube.com/watch?v=Q4OIcwt8vcE

"Top 9 Ways to Make Sand":

https://www.youtube.com/watch?v=BDyvjkAs5-Y

"Top 9 Ways to Make BIG Sand":

https://www.youtube.com/watch?v=9mbs0sx3z2A

"Tourism 2: Off-Road":

https://www.youtube.com/watch?v=xvlsJ3FqNYU

"Spellular Automata":

https://www.youtube.com/watch?v=xvlsJ3FqNYU

There's so much more, and I think you’ll love it all as much as I do:

https://www.youtube.com/@TodePond/videos

London Creative Coding - Feb 2023: The Spatial Programming Pipe Dream - Lu Wilson:

https://youtu.be/L2U_Sd1qMJ4?t=2579


> For example, "Screens in Screens in Screens":

WTF. What starts out as boxes turns into some kind of recursive self-referential nightmare which can generate IFS fractals and then... wait that's not affine, stop, help, and now it's totally destroyed all frames of reference.

That's not a tech demo, that's an epistemological nightmare, that is.


Hi, glad you enjoyed(?) it! It was a fun video to make!


I watched your video and definitely enjoyed it. :) Thanks for making it.


thank you Sean Anderson! glad you liked it


Very much so! I’ve been going through the rest of the SandPond videos, they’re great.


The balancing seems a bit off. But oh man, this thing is so mesmerizing and addictive :)

Daphnia are too aggressive eating algae and produce too many eggs when doing so, so the algae population gets constantly suppressed in most settings.

Fish also barely eat daphnia so it is hard to control their population with them.

It is also too hard for daphnia to eat grass. It slowly grows uncontrolled to fill a lot of the tank, significantly reducing mobility and blocking light. Grass also produces too little oxygen.

Bacteria always end up dying off quickly because there is not enough material for them to decompose. It's unclear where the stuff they eat comes from and how the nitrogen bacteria produce affects plant growth.

As a result of all of this, oxygen is always fluctuating at the minimum, going into the red at night often. Which means fish always die eventually, which seems to be making people sad :(

But again, really entertaining and beautiful :)


You have to tinker a bit. I haven't figured out the role that the bacteria play yet, but too low of oxygen means you need more algae/grass to generate more O2 during daylight hours. (And yes, it will crash at night when there's less photosynthesis)

Don't put too many critters in there either. Mine is pretty stable for a few hours now with 3 fish, and ample grass and algae.

Side question: Is it in my head, or are the fish slowly growing?


For bacteria: I believe their role is to provide nitrogen in the sand by eating algae poop. Nitrogen in the sand is required for plants in that sand to grow.

You can test this a bit:

1. Create a new sphere and fill it with water. Add a bit of sand at the bottom

2. Add algae and fastforward.

3. The algae will multiply, causing the o2 to shoot up.

4. The algae will die off because of the high o2. Their dead bodies (purple dots) will litter the sea floor.

5. Put in some bacteria.

6. You can watch the bacteria eat the purple dots. Note that the sand changes color slightly as they do - I think that's the sand becoming nitrogen-rich.


Yes the sand seems to darken a bit under where bacteria were eating, that might be the nitrogen, although it doesn't seem to spread over the rest of the sand, not sure if the plants are getting it.

Also you need to keep adding bacteria because the keep dying off. They don't have the mobility to find all the dead algae, so they are gone pretty quickly.


You need a nice wood tree in the tank, can increase your grass area a lot


Yeah, they grow.


Adding a lot of algae always makes daphnia reproduce a lot and eventually they eat all the algae.

But I think I figured out the solution: many fish. With enough fish you can keep that initial wave of daphnia under control, so that they don't eat all the algae and crash the oxygen, so the fish don't die.

This seems to last, although it is still right on the edge of oxygen.


I figured out you can limit the living area of Daphnia using glass and sand, and then feed the fishes with only grass.


I tried this out and it works, but it felt like cheating. The algae production counts towards o2 balance, but that doesn't make sense if their water is sectioned off.


Yeah it's like cheating, and I cheat myself by thinking O2 can exchange through sand :D


I love these kinds of sandbox games, Orb Farm is super nice to have it running directly in the browser for a little procrastination break. Although my favorite is probably The Powder Toy [0], I've been following this project for years.

[0] https://powdertoy.co.uk/


The guy that created orb.farm[0] is the same guy behind sandspiel.club[1], which is a browser-based Rust/WebGL powdertoy-like implementation. I added it to my phone's home screen so my kids have been playing with it for years!

[0]: https://maxbittker.com [1]: https://sandspiel.club


You should check out Noita on Steam. :)


Windows only, unlike Powder Toy.


Works well in proton


Do you happen to know if powdertoy is using the GPU for the simulation or do they manage it all on the CPU?


FYI you can use "glass" selection to build walls/cliffs at the start, so all your sand and stone isn't piling into a hill at the bottom.


Who else has figured out that you can expand the orb into a square?


Oh yes, I've also added secret passages in which fish seem to die trying to find their way out :/


In a similar vein, grass floats, and supports rocks, which are water tight. The rocks can support sand, and therefore more plants. The rocks also stack.

I now have a glass-free orb (square).


Nicely done take on the form. The original game of this type was a Japanese Java applet known as "Falling sand game". I'm not sure it's preserved anywhere though.

https://en.wikipedia.org/wiki/Falling-sand_game


I'm pretty sure I played a similar game in like '95. It was called Logo. It had a turtle, and you could use the turtle (and your imagination) to draw pretty things on the screen. You probably played it too.


How is it similar?



One of my fish died and I don't know why :(


You need to build a stateless fish tank via replicas. It's pretty common that a new feature gets introduced into the upstream. You never even see it until one of your tanks crashes. That's why it's critical to have a backup strategy, n+1 redundancy, and a robust change control process to limit contagion risk.

I used to have a roommate that had like 12 tanks going all the time. I couldn't even complain, because I hosted my own kubernetes cluster, so I understood exactly why he needed them.


Welcome to the world of fish keeping.


Related:

Orb.Farm - https://news.ycombinator.com/item?id=31321645 - May 2022 (3 comments)

Orb.Farm, a Virtual Aquatic Ecosystem - https://news.ycombinator.com/item?id=23218186 - May 2020 (6 comments)


Can the fish multiply? If so I have failed them


They can! It takes a while for them to grow to adulthood though


Mine die after a while...


I got a little microchip. Maybe an easter egg? Put it in my farm although it doesn't seem to do anything.


I think on every reload it's a different item. It seems to be an ornament, like a castle or ship one might put in a fishbowl.


Fun! Also funny because I've gotten into container ponds, medaka (Japanese ricefish), daphnia/moina and other microfauna over the last 2 months. It's an interesting hobby. The biggest thing I've noticed is how much local bees need a water source.


If you like honey, water sources is one of a few things that might disconcert you.


Man, I had stuff I had to work on today!


You should deepfake Leonard Nemoy's voice for the characters. ;-)


Like Yoot Saito's "Seaman"! (Which has The Real Nimoy.)

Seaman on the Sega Dreamcast - Leonard Nimoy's intro on the day podman will give birth:

https://www.youtube.com/watch?v=gdIO41Blysg

Seaman (Dreamcast) - Angry Video Game Nerd (AVGN):

https://www.youtube.com/watch?v=-IV8hCvsXy0

Seaman creator Yoot Saito on the fishy Dreamcast AI that was way ahead of its time:

https://www.theverge.com/2019/9/6/20850674/yoot-saito-interv...

>Sega’s Dreamcast was ultimately a failure, as Sony came to dominate the early-2000s market with the PlayStation 2. But Sega’s machine left behind a library of uniquely innovative and influential software. And perhaps no title was as memorable as Yutaka “Yoot” Saito’s iconoclastic Seaman, a virtual pet simulator that had you use a microphone to converse with a moody, sarcastic man-fish, with help from a narrator voiced by Leonard Nimoy.


So much nostalgia seeing an "interface" like that :)


Win95 was my first!


Really nailed the 90’s aesthetic!


Needs to count days in the green or some other success metric to accumulate.


Daphnia should poop instead lay eggs all the time, or alternatively the bacteria should be able to decompose eggs. Maybe fish should lay eggs too?


Just seeing a black screen. Is my sin Firefox, or adblock?


Firefox and uBlock Origin are not a problem for me. Maybe noscript?


Needs wasm. Some privacy settings may disable that (my Mull browser configuration series)


I'd say adblock (or maybe some other extension) - it works fine for me in Firefox.


Works fine on Firefox 113.0.1 with uBlock Origin for me


neither. Firefox 104, uBlock Origin, works perfectly.


I got a placeable Earth globe after playing for a while. Anyone knows what it means?


I got a placeable fax machine...


Makes my laptop fan run noisy.


"procratinating, my mind quiet and feels calm, processor on fire"


Hah. 16 syllables; I thought haikus were supposed to be 17, but I know nothing.


Schrodinger wrote a book on the relationship between life and entropy that explains this connection pretty well.


And?


the universe continues, it seems


that's a feature


PSA: The "clear" tool can clear the wall of the orb as well.


What are the bacteria supposed to eat? Unless they are cyanobacteria?


They eat waste from algae, but they seems to devour it too quickly, and may even spur more algae growth. The balance and influences seems to be a bit of a mystery, despite the documentation.


If you create an isolated section where the top 1/3rd is algae and there's a tiny bit of bacteria at the bottom it's trivially self sustaining, until CO2 runs out. So these can be sort of "Oxygen generators" to power the rest of your system.

This seems to form the overall basis of the system since during the day the O2 rises and during the night the O2 falls. Further, at night the daphnea awaken to eat the algea, and the fish can eat the daphnea. In theory this should balance but in my experience daphnea are absolute monsters and need to be tightly controlled.

I create small stable environments and then a larger middle environment. The small stable environments regulate O2 and CO2 with algea and bacteria.

The middle environment is then some sand, grass, and fish. There's also algea, a very very small number of daphnea, and bacteria.

The middle is the chaotic one but if your 'regulators' are doing their jobs you can keep things stable. Make sure there's some shade so that your fish can hide from the sun (a thing?) and so far I think my system is ~indefinitely stable. I have 4 or 5 fish at a given time, although I have 7 at the moment but I suspect that's a peak value. edit: OK, I have 9 fish actually, so maybe I can sustain more than I had though. I may need a bit more O2 output for this many, but there's plenty of grass for them to eat.


That was very calming - your project?


This is so cute and fun. Thank you!


sea world tycoon!


Super cool!


Great gui!


Bait


cooool


(2020)


Could do without the Windows UI elements, barf.


What alternative did you come up with?

The source code is there.

ps. not my downvote, corrective upvote BTW


Background image is distracting, otherwise, very good ! It could be gamified with points and fish reproducing, like try to find a way so that users have to maximize some kind of goal while making tradeoffs. Like city building games


Game probably needs some way of making the player feel more invested in the game. Maybe you can only place so many particles per day, and then you have to wait until the next day. Or you can pay to get more particles now.

If you could pay for some bonus materials that would be great too. Though I'd rather unlock them randomly from a kind of loot box system.

And how come I can't level up? I don't feel like I'm making any progress without an XP bar. Clearly this person does not understand game design.


I hope this is sarcasm.

Not everything needs to be a fully developed game. Sometimes people make things for gasp the fun of it and not to build a comprehensive game that will appeal to everyone and their demanding cousins.


It is.

OP is stating his love for the worst parts of games. This would be like someone saying they love pages filled with ads, chat bots, pop-ups, auto play and scripts which take seconds to load.


Or like someone who watches the Super Bowl for the football game.


Still would love to see some graphs of the populations and maybe also nitrogen.


>Clearly this person does not understand game design.

I think you're being a bit too critical for what just seems like someone's fun little project.


Clearly you don't understand Hacker News comment design.


The two responses to your comment missed your sarcasm, so perhaps some of the onus is on you as well.


I usually like to get to know someone better before we start talking about my onus.


My dude - I think you have mistaken this website with www.reddit.com


Clearly HN is head and shoulders above that other web zone.


Also it could use more full motion video cut scenes!

It also needs swag: cute little square plushie stuffed animals for each type of element.


or it couldn't! i think exploratory play is much more in the spirit of an ecosystem




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: