Dungeon Mayhem

Action-Packed Dungeon Crawler RPG

Java Procedural Generation RPG Game AI Combat System
View on GitHub

Project Overview

An action-packed dungeon crawler featuring procedurally generated levels, strategic turn-based combat, and character progression systems. Players explore randomly generated dungeons, battle enemies, collect loot, and upgrade their character's abilities in this roguelike-inspired adventure.

Key Features

  • Procedural dungeon generation with varied room layouts
  • Turn-based combat system with strategy elements
  • Character progression with skills, stats, and abilities
  • Loot system with randomized equipment and items
  • Diverse enemy types with unique AI behaviors
  • Boss encounters with special mechanics

Technical Implementation

Architecture

The game follows an entity-component system architecture for flexible game object design:

  • Dungeon Generator: Cellular automata and room-corridor algorithms
  • Combat Engine: Turn-based system with action queue and effect resolution
  • AI System: Pathfinding (A*) and behavioral decision trees
  • Progression System: Experience, leveling, and skill tree implementation
  • Inventory System: Equipment management and item effects
Technologies Used
  • Java: Core programming language
  • Swing/Graphics2D: Rendering and UI
  • A* Pathfinding: Enemy movement algorithms
  • Perlin Noise: Procedural content generation
  • JSON: Data serialization for save files

Challenges & Solutions

Challenge: Balanced Procedural Generation

Solution: Implemented validation checks to ensure dungeons are playable, with guaranteed paths between rooms and appropriate difficulty scaling.

Challenge: Combat Balance

Solution: Created a spreadsheet-based damage calculation system and playtested extensively to tune enemy stats and player progression curves.

Challenge: AI Performance

Solution: Optimized pathfinding with caching and limited the number of AI recalculations per frame to maintain smooth gameplay.

What I Learned

  • Procedural content generation algorithms and techniques
  • Game balance and difficulty curve design
  • Entity-component system architecture
  • Pathfinding algorithms (A*) and spatial optimization
  • RPG systems design (combat, progression, loot)