How danjfarrell/dungeon_2025 works
DUNGEON_AI is a turn-based dungeon game: the player issues keyboard actions, the game resolves movement and combat across turns and dungeon levels, and the result is rendered with a HUD and map views. The tree indicates additional systems for magic, items, enemies, and progression. The README offers no feature detail, and sampled source is limited, so the graph shows only observed calls and documented responsibilities; it omits uncertain wiring between game orchestration, rendering, and other subsystems.
Main entry points: InputController.cpp Input Controller · DungeonManager.h Dungeon Levels · World.h ECS World · main.cpp Game Entry
Components 23
Game Entry
- Game Entry
src/main.cpp - Game Runtime
src/core/Game.cpp
Dungeon World
- ECS World
src/ecs/World.h - Dungeon Map
src/world/Map.h - Map Generation
src/world/MapGenerators.h - Dungeon Levels
src/world/DungeonManager.h - Level Cache
src/world/LevelCache.h - Enemy Spawning
src/spawning/EnemySpawner.h
Turn Gameplay
- Input Controller
src/systems/InputController.cpp - Turn Manager
src/systems/TurnManager.h - Combat System
src/systems/CombatSystem.h - Magic System
src/systems/MagicSystem.h - Stair Navigation
src/systems/StairSystem.h - Consumables
src/systems/ConsumableSystem.h - Enemy AI
src/systems/AISystem.h - Experience
src/systems/ExperienceSystem.h
Presentation
- Game Rendering
src/systems/RenderSystem.cpp - Map Rendering
src/systems/MapRenderSystem.cpp - HUD
src/ui/HudRenderer.cpp - Inventory UI
src/ui/InventoryUI.h - Minimap
src/ui/Minimap.h - Sprite Assets
src/graphics/SpriteManager.h
Other components
- Player
Connections 15
- Player → Game Entry: starts game
- Game Entry → Game Runtime: initializes and runs
- Input Controller → ECS World: reads player state
- Input Controller → Dungeon Map: checks tiles
- Input Controller → Turn Manager: coordinates turns
- Input Controller → Combat System: requests attacks
- Input Controller → Stair Navigation: requests stair travel
- Input Controller → Consumables: uses inventory item
- Input Controller → Minimap: updates view
- Dungeon Levels → Level Cache: reads and saves levels
- Dungeon Levels → Dungeon Map: selects current map
- Dungeon Levels → Map Generation: generates levels
- Dungeon Levels → Enemy Spawning: spawns enemies
- Dungeon Levels → ECS World: adds enemies
- Turn Manager → ECS World: processes components