Hi,
I’m planning to develop a multiplayer chess game using the coherence SDK in Unity and could use some advice on the best networking approach. Since chess is a turn-based, deterministic game with no physics, I’m considering a lightweight approach and have a few specific questions about using coherence features effectively.
- Distributed Authority vs. Server-Authoritative Setup:
Is it viable to use distributed authority to manage game states and timers in a chess game, or would a server-authoritative setup be more reliable? I understand chess doesn’t require complex physics or real-time simulation, but I want to ensure fairness and consistency across clients. What are the pros and cons of each approach for this use case? - Sending Player Actions as Networking Commands:
Since chess is deterministic, would it be sufficient to send simple networking commands for each player action? For example, transmitting a move like “Player A moved piece B from square (1,2) to (1,4)”? Would this approach minimize bandwidth while keeping clients in sync, or are there better ways to handle game state updates in coherence? Should I use the CoherenceInput component for this, or is there a more suitable method? - Handling Player Disconnections with Distributed Authority:
If I use distributed authority, what happens when a player disconnects mid-game? How can I ensure the game state remains consistent, and what’s the best way to handle reconnection or resuming the game? Are there specific coherence features or patterns (e.g., rollback, state synchronization) that can help manage this?
I’d love to hear your insights, recommendations, or any examples of similar turn-based games built with coherence. Thanks in advance for your help!