|
|
Bomberman Multiplayer
Authoritative multiplayer networking layer for Bomberman.
|
Authoritative multiplayer networking layer for a Bomberman student project, with dedicated server flow, explicit packet protocol, client prediction and correction, and built-in diagnostics.
Live documentation site: v4lkdev.github.io/BombermanMultiplayer
| Gameplay | Connect Scene |
|---|---|
| |
This project extends a provided singleplayer Bomberman base in SDL2 with a client-server multiplayer architecture built on ENet.
The work focuses on four goals:
My contribution is the multiplayer and networking layer added around the provided singleplayer base.
This includes:
Net/NetCommon.hENet: lightweight UDP-based networking with channels and optional reliabilitySDL2: core client runtime for rendering, input, windowing, and timingSDL2_image: image loading for the clientSDL2_ttf: font and text rendering for the clientSDL2_mixer: audio playback for the clientspdlog: structured logging and runtime diagnosticsnlohmann/json: JSON output for diagnostics and toolingThe client sends gameplay intent, predicts local movement for responsiveness, and consumes authoritative updates from the server.
The server owns shared match state, processes accepted input on fixed ticks, and replicates snapshots, corrections, and reliable gameplay events back to connected clients.
The repository includes CMake presets for Linux debug and release builds, plus Windows MinGW cross-build presets. All other dependencies are vendored in third_party/.
For Windows cross-builds, use the windows-debug or windows-release configure presets together with the matching client build preset: