|
|
Bomberman Multiplayer
Authoritative multiplayer networking layer for Bomberman.
|
Client-side connection, prediction, correction, and diagnostics layer for multiplayer play. More...
Files | |
| file | ClientPrediction.cpp |
| Implementation of client-side local prediction, replay, and recovery helpers. | |
| file | ClientPrediction.h |
| Client-side local prediction history, correction replay, and recovery state. | |
| file | NetClient.Connection.cpp |
| Connection lifecycle and transport teardown for the client-side multiplayer connection hub. | |
| file | NetClient.cpp |
| Shared construction and common state access for the client-side multiplayer connection hub. | |
| file | NetClient.h |
| Client-side multiplayer connection lifecycle and packet endpoint. | |
| file | NetClient.Protocol.cpp |
| Authoritative message caching and protocol handlers for the client-side multiplayer connection hub. | |
| file | NetClient.Runtime.cpp |
| Network pumping and outgoing runtime messaging for the client-side multiplayer connection hub. | |
| file | ClientDiagnostics.cpp |
| Client-side multiplayer diagnostics recorder and report writer. | |
| file | ClientDiagnostics.h |
| Client-side multiplayer diagnostics data model and recorder. | |
Client-side connection, prediction, correction, and diagnostics layer for multiplayer play.
This is the core of the client networking work.
It is the layer that turns server-driven multiplayer state into something the game can actually use:
NetClient handles transport, handshake, message intake, and cached authoritative stateClientPrediction handles owner-local prediction, replay, and recovery after correctionClientDiagnostics records what happened so networking behaviour can be inspected and testedThe important design boundary is simple: this subsystem owns multiplayer netcode behaviour on the client, while MultiplayerLevelScene owns presentation and match scene flow.
The client has to do three things at once:
That is why transport, prediction, and diagnostics are kept adjacent but distinct.
The scene reads authoritative state from NetClient, while prediction and diagnostics stay in adjacent client-netcode helpers.
NetClient stays one class, but its implementation is split by concern: connection, runtime, and protocol/cache handling.
Relevant code: