Two dungeon exploration games with different gameplay styles and graphics engines.
Classic 2D dungeon crawler with ASCII-style graphics and strategic gameplay.
Features:
- Procedurally generated dungeons with rooms and corridors
- Turn-based movement system
- Difficulty levels (1-5) with larger dungeons
- Time limits and restart functionality
- QZSD movement controls (AZERTY keyboard support)
- Simple terminal-based graphics
Controls:
Q- Move upZ- Move downS- Move leftD- Move rightR- Restart gameESC- Quit
Requirements:
- Python 3.7+
- No external dependencies
Immersive 3D dungeon experience with real-time combat and advanced graphics.
Features:
- 3D raycasting engine with textured walls
- Real-time first-person shooter gameplay
- Enemy AI with movement and shooting
- Health system with potion collection
- Mouse-controlled shooting with crosshair
- Bullet physics and collision detection
- Line-of-sight mechanics
- Audio feedback for actions
- Animated enemy sprites
- HUD with health and inventory display
Controls:
Q- Move forwardZ- Move backwardS- Turn leftD- Turn rightMouse- Aim and shootP- Use health potionESC- Quit
Requirements:
- Python 3.7+
- Pygame library:
pip install pygame
# Clone repository
git clone https://github.com/codingame-team/dungeon-explorer-3d.git
cd dungeon-explorer-3d
# For 2D version (no dependencies)
python dungeon.py
# For 3D version (install pygame first)
pip install pygame
python dungeon_3d.pyThe 3D version supports custom enemy sprites:
- Place PNG files in
assets/enemies/directory - Supported:
orc.png,skeleton.png,goblin.png,troll.png - Fallback sprites generated automatically if assets missing
Navigate through procedurally generated dungeons. Choose difficulty level for larger, more complex mazes. Race against time to explore the entire dungeon.
Survive in a 3D dungeon filled with enemies. Collect health potions, shoot enemies, and try to clear all rooms. Features realistic line-of-sight and bullet physics.
Both games use the same procedural generation algorithm:
- Room Placement - Random non-overlapping rectangular rooms
- Corridor Creation - Connect rooms with L-shaped corridors
- Difficulty Scaling - Larger dungeons with fewer corridors at higher difficulties
- Raycasting Engine - Classic Wolfenstein-style 3D rendering
- Texture Mapping - Wall textures with distance-based shading
- Sprite Rendering - 2D sprites in 3D space with scaling
- Collision Detection - Precise wall and entity collision
- Efficient raycasting with early termination
- Sprite culling for off-screen entities
- Optimized texture rendering
- Frame-rate independent movement
dungeon-explorer-3d/
├── dungeon.py # 2D top-down version
├── dungeon_3d.py # 3D first-person version
├── load_assets.py # Asset loading utilities
├── assets/
│ └── enemies/ # Enemy sprite assets (optional)
└── README.md # This file
- Captures d'écran du gameplay : docs/screenshots.md (exemples et vignettes)
- Bestiaire (fiches et vignettes) : assets/bestiary-sublist.md
- Statistiques structurées des monstres (JSON) : assets/bestiary-sublist-data.json
- 2D Version: Modify movement logic, add items, implement combat
- 3D Version: Add new enemy types, weapons, or rendering effects
Create 64x64 PNG sprites for enemies and place in assets/enemies/ directory. The game will automatically load and use them.
- Pygame not found: Install with
pip install pygame - Performance issues: Reduce window size or disable audio
- Controls not working: Ensure AZERTY keyboard layout support
Both games print debug information to console for troubleshooting.
Part of the D&D 5th Edition API project. See main repository for license details.