Multiplayer Arena Game
C++17RaylibEmscriptenWebSocketsTCP Protocol
A cooperative top-down action game built in C++17 with Raylib, where up to eight players meet in a shared hub and fight timed arena waves against goblin enemies. Combat includes combo melee attacks, team XP progression, and unlockable skills across DPS, shield, and support branches. The stack spans native desktop and browser builds: CMake compiles a Raylib client for Windows (and Emscripten/WebAssembly for the web), while a headless authoritative server runs in Docker on Railway. Networking uses a shared JSON protocol over TCP for desktop clients and WebSockets (IXWebSocket) for the browser, with a fixed 20 Hz server tick: clients send inputs only, the server simulates movement, combat, pathfinding, and session flow, then broadcasts world state so gameplay stays consistent and cheat-resistant across platforms.
Assets used:
- Knight art: FREE - Knight 2D Pixel Art
- Goblin: Monsters Creatures Fantasy
Audio credits:
- Background music: Multi-Media Loop Music -Updated
- Sound effects: RPG Essentials SFX — Free
Multiplayer Arena Game
Team up and survive the arena waves