SpacetimeDB ThreeJS Support
discourse.threejs.org
discourse.threejs.org
You run game logic “inside” the DB, model world state as tables, and expose moves/damage/spawns as reducers. Clients (like Three.js) subscribe over WebSockets and get fine‑grained diffs instead of polling, so the server stays authoritative and the client just renders and interpolates. Generous free tier, paid starts at $25/month.
https://discourse.threejs.org/t/spacetimedb-threejs-support-...
I'm tech lead of UGC at Rec Room and had to do similar work to support live synchronization of UGC content. We essentially built a database in our game engine (Unity) with similar capabilities.
Since it grew out of our production needs, we ended up with a lot of bespoke solutions specific to our game. I'd love to try this out and see if I could make a small UGC personal project with it or exchange notes with the people who built it.
My experience has been that it's critical to frontload "fun discovery" which means taking concessions on 3rd-party technology. If you make something successful you earn the chance to replace 3rd parties with custom solutions. Often they're fine if your margins are high enough. If you fail, you won't be paying those monthly subscriptions long anyways.
I'm wondering about temporary gamestate that doesn't need to persist. Things like terrain or destructible voxels, where the size could be prohibitive to keep in a databases, but would work well in memory or with a cache.
I may explore spacetimedb as a project sometime, although i am reluctant to be tied into a platform that my project cannot work without, that i cannot host myself, that can change their pricing/limits/terms of at any time and for which there is no alternative.