A text-based dungeon adventure game where players explore rooms, fight monsters, and manage resources to reach the boss room.
-
Multiple Character Classes
- Knight: Balanced warrior
- Archer: Ranged specialist
- Wizard: Magic user
- Worker: Resource management specialist
-
Resource Management
- Collect copper and wood for factory upgrades
- Manage money for item purchases
- Build ladders for quick boss room access
-
Factory System
- Upgrade various factories (Armor, Arrow, Axe)
- Build Magic Towers
- Special abilities unlock at higher levels
-
Dynamic Gameplay
- Monster encounters
- NPC interactions with class-specific dialogues
- Shop system for item purchases
- Monster respawn system (every 60 turns)
- C++ compiler (g++ recommended)
- Make
- Clone the repository
- Run
maketo build the game - Execute the game with
./dungeon
To clean build files:
make cleanDungeon/
├── src/ # Source code files
│ ├── main.cpp # Program entry point (24 lines)
│ ├── Dungeon.cpp # Main game engine and logic (796 lines)
│ ├── Dungeon.h # Game engine class definition (89 lines)
│ ├── Player.cpp # Player character implementation (153 lines)
│ ├── Player.h # Player class definition (52 lines)
│ ├── GameCharacter.cpp # Base class for all characters (54 lines)
│ ├── GameCharacter.h # Character base class definition (30 lines)
│ ├── Monster.cpp # Enemy implementation (17 lines)
│ ├── Monster.h # Monster class definition (17 lines)
│ ├── NPC.cpp # Non-player character interactions (61 lines)
│ ├── NPC.h # NPC class definition (25 lines)
│ ├── Room.cpp # Room system and navigation (20 lines)
│ ├── Room.h # Room class definition (20 lines)
│ ├── Home.cpp # Home base implementation (144 lines)
│ ├── Home.h # Home class definition (24 lines)
│ ├── Factory.cpp # Resource and upgrade management (122 lines)
│ ├── Factory.h # Factory system class definition (36 lines)
│ ├── Object.cpp # Game object base implementation (40 lines)
│ ├── Object.h # Object base class definition (26 lines)
│ └── map.txt # Map layout configuration file (25 lines)
│
├── obj/ # Object files generated during compilation
│ ├── main.o # Compiled main.cpp
│ ├── Dungeon.o # Compiled Dungeon.cpp
│ ├── Player.o # Compiled Player.cpp
│ ├── GameCharacter.o # Compiled GameCharacter.cpp
│ ├── Monster.o # Compiled Monster.cpp
│ ├── NPC.o # Compiled NPC.cpp
│ ├── Room.o # Compiled Room.cpp
│ ├── Home.o # Compiled Home.cpp
│ ├── Factory.o # Compiled Factory.cpp
│ └── Object.o # Compiled Object.cpp
│
├── png/ # Screenshots and game images for documentation
│
├── Makefile # Build configuration for compiling the game
├── dungeon.exe # Executable game file
└── README.md # Project documentation
Dungeon: Main game enginePlayer: Player character managementRoom: Room system and navigationFactory: Resource and upgrade managementGameCharacter: Base class for all charactersMonster: Enemy systemNPC: Non-player character interactions
- Start game and create player
- Explore rooms and collect resources
- Interact with NPCs for guidance
- Upgrade factories and build ladders
- Fight monsters and reach the boss room
- Initial game screen with title and welcome message
- Displays the game's main menu interface
- Shows available options to begin the adventure
- Player name input screen
- Choose your character's name before starting
- Sets up your initial character identity
- Main game interface showing room layout
- Displays available movement directions
- Shows current room status and surroundings
- Safe haven where players can:
- Rest and recover health
- Access factory upgrades
- Change character class
- Build ladders (requires Worker level 3)
- Monster encounter interface
- Shows combat options and status
- Displays health, attack, and defense information
- Allows for strategic combat decisions
- Factory upgrade interface showing:
- Available factory types (Armor, Arrow, Axe)
- Current factory levels
- Required resources for upgrades
- Special abilities unlocked at higher levels
- Resource gathering interface
- Shows collected items (copper, wood)
- Displays inventory status
- Resource management system
- Final challenge interface
- Boss room entrance
- Shows ladder placement option
- Displays final battle preparation
- NPC dialogue system
- Class-specific conversations
- Quest information and guidance
- Item purchase system
- Available equipment and upgrades
- Currency management
- Character progression
- Level-based abilities
- Class-specific upgrades
- Class-specific powers
- Wizard's fire ability
- Worker's resource gathering bonus
- Monster regeneration system
- 60-turn respawn timer
- Dynamic dungeon population
This project is released into the public domain under the Unlicense. See LICENSE for details.













