Video Games

Cooperative Multiplayer Dungeon Crawler

Action RPG with procedurally generated dungeons, real-time combat, and 4-player online co-op. Built in Unity with custom networking and AI systems.

UnityC#Mirror NetworkingPhotonShader Graph
Cooperative Multiplayer Dungeon Crawler

Cooperative Multiplayer Dungeon Crawler

Action RPG combining procedural dungeon generation, real-time hack-and-slash combat, and seamless 4-player online cooperation. Built for PC with plans for console ports.

Game Concept

Players form parties of up to 4 characters, delving into procedurally generated dungeons filled with monsters, traps, puzzles, and loot. The twist: dungeons adapt based on party composition and player skill, creating unique challenge levels for each run.

Core Pillars

  1. Satisfying Combat: Fast-paced action with dodge rolls, combos, and impactful hits
  2. Meaningful Cooperation: Mechanics that reward teamwork over solo play
  3. Endless Variety: Procedural generation ensures no two runs are identical
  4. Progressive Depth: Easy to learn, deep mastery curve

Technical Implementation

Networking Architecture

Chose host-migration enabled peer-to-peer architecture:

  • Host authority for game state (prevents cheating)
  • Client-side prediction for responsive controls
  • Lag compensation for hit detection
  • Auto host migration if host disconnects
  • Matchmaking using Photon Cloud

Average latency: 50-80ms with smooth gameplay up to 150ms.

Combat System

Real-time action combat with:

  • Animation-driven hitboxes: Attacks connect based on weapon animation frames
  • Dodge mechanics: I-frames and positional avoidance
  • Combo system: Chain attacks for increased damage
  • Ability cooldowns: Class-specific skills with strategic timing
  • Enemy AI: Behavior trees with flanking and coordination

Critical challenge: Synchronizing fast combat across network. Solution: Authority model where host resolves hits, clients predict damage numbers instantly.

Procedural Dungeon Generation

Dungeons generated using:

  1. Room templates: Hand-crafted rooms with multiple variations
  2. Graph-based layout: Rooms connected using constraint solving
  3. Content placement: Enemies, traps, puzzles placed algorithmically
  4. Difficulty curve: Rooms get harder deeper in dungeon
  5. Adaptive scaling: Difficulty scales with party size and level

Average dungeon: 15-25 rooms, 20-40 minutes to complete.

Character Progression

Four classes with distinct playstyles:

  • Warrior: Tank with crowd control and area damage
  • Rogue: High mobility, burst damage, traps
  • Mage: Ranged AoE damage, elemental effects
  • Cleric: Healing, buffs, resurrection

Progression systems:

  • Levels: Traditional XP and stat increases
  • Skill trees: Unlock and upgrade abilities
  • Equipment: Procedurally generated loot with stats
  • Masteries: Long-term progression across runs

Visual Style

Stylized low-poly aesthetic:

  • Hand-painted textures
  • Dynamic lighting with shadows
  • Particle effects for abilities and impacts
  • Custom shaders for magic effects
  • Post-processing for atmosphere

Target: 60 FPS on mid-range hardware (GTX 1060 level).

Gameplay Features

Cooperation Mechanics

Designed systems that encourage teamwork:

  • Combo damage: Sequential hits from different players multiply damage
  • Revive system: Downed players need teammate revival (can't self-revive)
  • Class synergies: Abilities that combo (e.g., Mage ignites oil placed by Rogue)
  • Shared loot pool: No fighting over drops, automatic fair distribution
  • Ping system: Non-verbal communication for marking targets, items, locations

Dungeon Modifiers

Random modifiers keep runs fresh:

  • Elemental affinity: All enemies gain fire damage, players get fire resistance
  • Speed run: Timer with bonus rewards for fast completion
  • No healing: Increased risk, increased reward
  • Boss rush: More elite enemies, better loot
  • Cursed run: Permanent debuff, significantly better drops

Players choose difficulty via modifier selection.

Meta Progression

Persistent progression across runs:

  • Achievement system: Unlocks new items and abilities
  • Mastery points: Permanent small stat bonuses
  • Cosmetic unlocks: Skins, effects, emotes
  • Dungeon journal: Lore and monster information discovered

Ensures players always make progress, even on failed runs.

Technical Challenges

Challenge: Network Synchronization of Physics

Ragdoll physics and knockbacks need to look similar across all clients.

Solution: Deterministic physics simulation on host, clients receive transform snapshots. Clients interpolate between snapshots smoothly. Trade visual perfection for consistent gameplay.

Challenge: Procedural Content Balance

Some generated dungeons were trivially easy, others impossibly hard.

Solution: Post-generation validation pass. Algorithm analyzes dungeon difficulty (enemy density, room complexity, path length) and adjusts or regenerates if outside acceptable range.

Challenge: Cheating Prevention

Client authority allows players to modify their own stats/inventory.

Solution: Server-authoritative validation. Host verifies all item pickups, damage dealt, ability cooldowns. Invalid actions rejected. Not perfect but prevents casual cheating without invasive anti-cheat.

Challenge: Performance with Many Entities

Dungeons could have 100+ enemies, particles, projectiles simultaneously.

Solution:

  • Aggressive object pooling (zero GC allocations during gameplay)
  • LOD system for distant enemies (simplified AI, reduced updates)
  • Frustum culling and occlusion culling
  • Spatial partitioning for collision and AI queries

Result: Maintained 60 FPS even in large battles.

Playtesting Learnings

Learning 1: Players Split Up

Initial design assumed players would stay together. Players actually explored separately, making cooperation mechanics irrelevant.

Fix: Added mechanic where spreading out reduces damage dealt. Incentivized staying within range of allies.

Learning 2: Loot Distribution Caused Conflict

Even with "fair" distribution, players got salty about who got what.

Fix: Changed to token system. Loot drops tokens, players spend tokens in shared shop. Everyone gets equal tokens regardless of who picks them up.

Learning 3: Difficulty Spikes Felt Unfair

Procedural generation occasionally created brutal enemy compositions.

Fix: Added composition rules. Maximum of 2 ranged enemies per room, minimum spacing between elite spawns, etc.

Learning 4: Players Wanted to Show Off

Natural desire to share accomplishments wasn't supported.

Fix: Added screenshot mode (hide UI), end-of-run summary screens, sharing to Steam, highlight reel generator from gameplay.

Current Status

Development: Alpha build, active playtesting Content: 4 classes, 50+ unique enemies, 200+ items, 5 dungeon tilesets Players: ~500 alpha testers, 4.2/5 average rating Performance: Stable 60 FPS on target hardware

Next Steps

  1. Balance pass: Enemy health, damage, player progression curve
  2. Content expansion: More classes, dungeons, bosses
  3. Endgame systems: Challenge modes, leaderboards, seasonal content
  4. Console ports: Controller support is done, need platform approvals
  5. Early Access launch: Q2 2025 target

This project showcases the complexity of building multiplayer action games: tight combat feel, fair procedural generation, solid netcode, and cooperative mechanics that actually encourage cooperation. Each system needed to work individually and harmonize with the others to create a cohesive experience.