Colyseus
Issues
- Ability to serialize/deserialize Schema on the server side
- "So I guess the option at this point would be to serialize the state to the database continually, but only as a backup. If the server crashes it can reread the state and would send the full update to the clients to ensure they are back in sync. Which is probably what you want anyway."
Best Practices Limitations
- Keep your room classes as small as possible, delegating game-specific functionality to other composable structures.
- Keep your synchronizeable data structures as small as possible
- Ideally, each class extending
Schema
should only have field definitions. - Do not implement heavy game logic inside
Schema
structures. Some logic is fine, specially if they're self-contained within the scope of the structure itself, mutating only its own properties.
- Ideally, each class extending
- Rooms should have as little code as possible, and forward actions to other structures
- Your game logic should be handled by other structures, such as:
- Custom external functions
- The Command Pattern.
- An Entity-Component System.
Resources
Learning Resources
- https://drive.google.com/file/d/19EyfO5xQUNx4ejxFTz1KYDjzfGo7UPHA/view
- Making Online Multiplayer Game Experiences
- Tetrolyseus
- Real Time Multiplayer Colyseus Tutorial
- https://blog.logrocket.com/building-a-multiplayer-game-with-colyseus-io/
- https://www.smashingmagazine.com/2021/10/real-time-multi-user-game/
Implementations
Wsl
- netsh interface portproxy add not necessary
Backlinks