Settings

Theme

Show HN: A shared 3D Zoo in the browser where everyone sees the same animals

zooki.world

5 points by kagen · 11 comments

Reader

5 threads
kagenOP

Hello HN! Zooki World is a small low-poly zoo that runs in your browser, and is now also available on mobile. You can walk around with other visitors and see the same animals as they do in real time. What makes Zooki World unique is that there is no simulation server. All animal behaviors are deterministic; each two-minute block is used to calculate movement based on an animal's ID, the version of their enclosure, and the current time block.

Therefore, each browser will independently reproduce the exact same movements and pathing. The only role of the server is to synchronize time and send player positions. You can also interact with the animals or purchase treats for them. When you feed an animal, all other visitors will see it happen at the same time. The animals were created using SDF (signed distance field) sculpting instead of traditional blender models. I wrote the simulation, path finding, and server code myself. Claude Code was very helpful, however, I did personally review and refine all of the code. The monetization model is inspired by the "Million Dollar Homepage" where you can "adopt" any enclosure for $1 until someone else outbids you by at least 10%. So far, the numbers are modest: 183 visits since October 9th with one enclosure adopted — by another project of mine. You can view the public statistics here: https://zooki.world/stats I would love to get your feedback: How does it run on your device (GPU, browser, FPS)?

How do the animals look from a standard camera angle?

gus_massa

Is it possible to customize the avatar?

Small feature request: It would be nice to be able to read the signs in front of each pen.

  • kagenOP

    thanks for giving it a try! To some extent, yes: you can choose your character’s gender (female/male) and swap out their entire outfit as many times as you like; you can also add your country’s flag to their T-shirt. Selecting individual colors isn’t an option yet, but that’s something i'm could easily implement in the future. As for the signs—I agree, they’re a bit too small from the default camera angle. I’ll make them larger, and I’ll also add a feature where the enclosure’s name appears when you hover your cursor over it

    • gus_massa

      I think the size of the signs in the game is fine. I expected that when I click them, they become big and cover most of the screen until I click the x.

      • kagenOP

        Ah, that’s a pretty good idea too. I’m planning to update a few things there in a couple of days, and I might just include that as well. Thanks!

insiderprint

Nice project - I liked the loading message "Waking up the animals" :)

sara_kumodeck

whtas happerns to the determinstic paths when you update an enclosure mid block

  • kagenOP

    That’s a good question. The plan depends on the enclosure version: whenever changes are made to an enclosure, its version is updated, prompting every client to recalculate the plans for all animals. To avoid abrupt jumps, an animal enters a special, short-term "return-to-path" mode—moving from its current position to the location dictated by the new plan—before resuming its standard movement. Since different clients receive the update via SSE at slightly different times, their data may diverge for a second or two before synchronizing back to a consistent state.

postmelee

This is cute

  • kagenOP

    thanks for me this is interesting project but I lack the energy to bring it to the state that was originally intended

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection