Fizzle Fighters
Fizzle Fighters is the current evolution of the multiplayer architecture I developed for earlier bomber-arena games. It is built in Unity and is being developed around SmartFoxServer 3.
The project is designed around lightweight server synchronization, keeping the computationally expensive parts of the simulation on the clients whenever the gameplay allows it.
Synchronization architecture
The synchronization model is intentionally lightweight on the server. Clients perform most of the simulation work while the networking layer provides the information required to keep the different simulations aligned.
- Movement and actions are confirmed by the server. The client can react immediately instead of waiting for a round trip before presenting the result.
- Client prediction is reconciled with authoritative information. When a confirmation differs from the local prediction, the affected state can be corrected.
- Rollback is part of the synchronization strategy. Instead of requiring the server to reproduce every expensive operation, the client can rewind and replay the relevant sequence of actions.
- The server remains deliberately lightweight. The architecture avoids making the server responsible for reproducing the entire simulation when the gameplay rules do not require it.
This led to a close relationship between game mechanics, deterministic behavior, movement design and network protocol: mechanics that are expensive or difficult to synchronize are deliberately designed around representations that can be reproduced consistently by the clients.
View Fizzle Fighters on Steam