Bomberman Multiplayer
Authoritative multiplayer networking layer for Bomberman.
Loading...
Searching...
No Matches
Client Multiplayer Netcode

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.
 

Detailed Description

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:

The important design boundary is simple: this subsystem owns multiplayer netcode behaviour on the client, while MultiplayerLevelScene owns presentation and match scene flow.

Ownership

The client has to do three things at once:

That is why transport, prediction, and diagnostics are kept adjacent but distinct.

System View

Client multiplayer netcode boundaries between scenes, NetClient, prediction, diagnostics, and the authoritative server Client multiplayer netcode boundaries between scenes, NetClient, prediction, diagnostics, and the authoritative server

The scene reads authoritative state from NetClient, while prediction and diagnostics stay in adjacent client-netcode helpers.

Code Layout

Client multiplayer netcode code layout showing NetClient split into connection, runtime, and protocol responsibilities Client multiplayer netcode code layout showing NetClient split into connection, runtime, and protocol responsibilities

NetClient stays one class, but its implementation is split by concern: connection, runtime, and protocol/cache handling.

Relevant code: