Loading...

Group Adventure: Building a 4-Player Cooperative Dungeon Crawler

3 min read
by
Node.jsSocket.IOThree.jsECSMultiplayerGame DevelopmentReal-time NetworkingWebGL

Group Adventure

Gameplay Preview

Group Adventure - 4-Player Cooperative Dungeon Crawler

Overview

Group Adventure is a 4-player cooperative dungeon crawler built from the ground up to explore real-time networking, scalable game architecture, and advanced 3D rendering. This project demonstrates my ability to design production-grade systems while still delivering an engaging player experience.

Goals

  • Build a real-time multiplayer experience with server authority and client-side prediction
  • Showcase mastery of the Entity-Component-System (ECS) pattern
  • Implement advanced features such as delta compression, procedural generation, and skeletal animation blending
  • Optimize for performance and scalability while deploying in a cloud-native environment

Tech Stack

Backend

  • Node.js + Express – REST endpoints and server orchestration
  • Socket.IO (v4.7.5) – real-time communication
  • Custom ECS – server-side game logic, AI, and state management

Frontend

  • Vanilla ES6+ – lightweight, framework-free client
  • Three.js – 3D rendering, lighting, materials
  • FBX/GLTF pipeline – character and environment assets
  • Custom animation FSM – blending, layering, and combat sequences

Infrastructure

  • Dockerized build – portable and reproducible
  • Fly.io deployment – scalable hosting
  • Ping & jitter simulator – network condition testing

Architecture

Dual ECS Design

  • Server ECS – authoritative logic (combat, AI, health, loot, dungeon state)
  • Client ECS – rendering, animation, player UI
  • Shared schema – ensures both client and server "speak the same language"

This design achieves separation of concerns, prevents cheating, and supports scalability.

Key Features

🔹 Delta Compression

  • Intelligent update system categorizes data (HIGH / MEDIUM / LOW frequency)
  • Sends only changed components instead of full states
  • Reduced bandwidth usage by up to 80%

🔹 Procedural Dungeon Generation

  • Cellular automata for natural cave formations
  • Flood-fill connectivity analysis ensures playable layouts
  • Endless replayability through unique dungeon seeds

🔹 Advanced Animation System

  • Custom finite state machine for idle, movement, and combat
  • Blended animator for seamless transitions
  • Layered animation control for equipment and abilities

🔹 Multiplayer Session Management

  • Lobby system for 4-player coordination
  • Real-time synchronization of combat, loot, and dungeon state
  • Network simulation tools for testing lag and packet loss

Developer Experience

  • Modular ECS – easy to add new systems (e.g., Ranged Attacks, Magic Projectiles)
  • Network simulator – built-in debugging for latency, jitter, and loss
  • Performance tools – FPS tracking and bandwidth profiling
  • Clean codebase – readable, maintainable, and extensible

Results & Impact

  • Demonstrated mastery of real-time multiplayer and network optimization
  • Created a scalable architecture for future expansion
  • Built a project that serves as both a game prototype and a technical showcase

What I Learned

  • Balancing server authority with client smoothness is critical for multiplayer games
  • ECS architecture provides unmatched scalability when building complex systems
  • Debugging under simulated network stress is invaluable for real-world resilience

Conclusion

Group Adventure is more than a game — it's a proof of concept for how I approach large-scale, networked, real-time systems. By blending clean architecture with advanced graphics and networking, I created a project that demonstrates both engineering discipline and creative design.