SpacetimeDB 2.0 makes the database your game server.
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.
This looks very promising. There's a need for persisting game state in a central place, but also have that data streaming in.
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.
ryker2000•1h ago
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-...