Bravenbloom - a cozy multiplayer garden game in the browser (React Three Fiber + PartyKit)

Bravenbloom is a cozy multiplayer garden game that runs in the browser. You get a plot in a shared world, plant and water, harvest, decorate a cottage, fish, and wander into the woods when you feel like a fight. Free, no download, guest play in one click.

Play: bravenbloom.io

How it is built:

  • React Three Fiber on Next.js, Rapier for the character controller, PartyKit (Cloudflare Durable Objects) for the multiplayer rooms.
  • Lighting budget: no per-object dynamic lights. Lanterns, fireflies and the hearth are emissive materials plus glow sprites, with a small pooled-light budget for the few things that really need one.
  • Wind is one function shared between the GLSL and the JS side, so plants, grass and the player’s cape agree on the same gust front.
  • Fences, fish and plants are instanced; broadcasts are zone-scoped and movement is batched. There is a live egress meter in the admin panel, because the ceiling turned out to be bytes, not CPU.
  • Models are generated from Blender Python scripts into .glb, so a change is a script edit, not a re-export. Plants are generative: 12 gene families drive both the SVG icon and the 3D mesh.
  • Built-in photo mode with a tethered camera, and a clip recorder that uses MediaRecorder on the canvas.

Honesty note: I am one person, and most of the code, the Blender scripts and the sound synthesis were written together with AI coding assistants. The design and every decision about what stays and what goes are mine.

What I would love to hear from this crowd: how it runs on your machine (fps, GPU, browser) and where it stutters. Also whether the first five minutes make sense; most new players harvest once and leave, and I am trying to understand why.