How We Synchronized Editing for Rec Room's Multiplayer Scripting System
2 months ago
- #multiplayer-synchronization
- #game-development
- #realtime-scripting
- Circuits是Rec Room的多玩家同步实时脚本系统,用于构建互动体验。
- Circuits V1开发迅速,但因数千个游戏对象导致高内存和CPU占用而存在局限性。
- Circuits V2通过将所有Circuits视为单一游戏对象进行重构,降低了复杂度。
- '内存数据库'方法在跨对象操作时引发了同步问题。
- 解决方案受Redux启发,采用单一全局状态和reducer函数处理变更。
- '动作漏斗'机制通过逐条处理动作确保可序列化隔离,避免竞态条件。
- 通过定期发送最新存档数据快照解决了中途加入游戏的问题。
- 采用压缩和分片技术处理大型动作数据及带宽问题。
- 单一代码路径简化了日志记录和自动化,便于调试和测试。
- 针对主机断连和快速编辑等问题,优先采用社交解决方案而非复杂技术。
- 该系统的简洁性使得缺陷率极低且易于维护,即使对新团队成员也是如此。