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
- Satisfying Combat: Fast-paced action with dodge rolls, combos, and impactful hits
- Meaningful Cooperation: Mechanics that reward teamwork over solo play
- Endless Variety: Procedural generation ensures no two runs are identical
- 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:
- Room templates: Hand-crafted rooms with multiple variations
- Graph-based layout: Rooms connected using constraint solving
- Content placement: Enemies, traps, puzzles placed algorithmically
- Difficulty curve: Rooms get harder deeper in dungeon
- 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
- Balance pass: Enemy health, damage, player progression curve
- Content expansion: More classes, dungeons, bosses
- Endgame systems: Challenge modes, leaderboards, seasonal content
- Console ports: Controller support is done, need platform approvals
- 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.
