How We Synchronized Editing for Rec Room's Multiplayer Scripting System
tyleo
29 points
15 comments
March 22, 2026
Related Discussions
Found 5 related stories in 83.9ms across 8,303 title embeddings via pgvector HNSW
- Lessons from building multiplayer browsers alejandrohacks · 23 pts · April 26, 2026 · 49% similar
- 'Seeking connection': video game where players stopped shooting, started talking andsoitis · 57 pts · April 15, 2026 · 47% similar
- Parallel coding agents with tmux and Markdown specs schipperai · 139 pts · March 02, 2026 · 46% similar
- The Case Against Gameplay Loops (2024) coinfused · 58 pts · April 14, 2026 · 45% similar
- Show HN: I built an open-source MCP server that parses game save files Veraticus · 11 pts · March 22, 2026 · 43% similar
Discussion Highlights (4 comments)
giovannibonetti
I find it fascinating when different people independently arrive at the same architecture when working on a hard problem like this. In my company we built our offline-first apps with PowerSync, which has the same idea of optimistic local changes while waiting for the central server to acknowledge the definitive changes. In PowerSync's case, the sync engine reads Postgres replication logs directly.
wpietri
For those interested in a keep-everything-hot approach like this, it's worth checking out the 25-year-old library Prevayler. Full ACID guarantees, and radically faster than a database. I happily used it for a project forever ago and was disappointed to see it so thoroughly ignored.
davidanekstein
I’m surprised there was no mention of operational CRDT’s, or CRDT’s generally.
forrestthewoods
Cool post! I don’t quite understand the “funnel” section. Users see some change local immediately (S1->S2). And all users send all commands to the host. The host then effectively chooses the sort order and broadcasts back. So does the initial user effectively rewind and replay state? If action applied to S1 was actually from another player they rewind to S1 and apply the sequence? How many state snapshots do they need to persist? There was no mention of invertible steps. I feel like I’m missing a step.