A dark, medieval high-fantasy roguelike adventure game. Procedurally generated, tile-based dungeon crawler built with Python and Pygame.
- Infinite progression: Each dungeon is randomly generated and traversing a door at the end leads to a new dungeon.
- Tile-based movement: Classic grid movement inspired by old-school RPGs.
- Dynamic camera: The view scrolls to keep the player centered within the dungeon bounds.
- Room and corridor generation: Multiple rooms per dungeon, connected by corridors.
- Interactable doors: Doors at dungeon edges and at the farthest point allow transitions to new dungeons.
- Extensible architecture: Ready for future features like items, inventory, NPCs, and magic.
-
Clone the repository
git clone https://github.com/nterrel/mythic-depths.git cd mythic-depths -
(Recommended) Create a virtual environment
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies
pip install --upgrade pip pip install -r requirements.txt
-
Run the game
python pygame_test.py
-
Troubleshooting
- If you see errors about missing packages, ensure your virtual environment is activated.
- If Pygame fails to initialize, make sure your Python version is 3.11+ and you have the latest Pygame.
- Move: WASD
- Interact: E (to open doors)
- Quit: Close the window
pygame_test.py— Main game loop and renderingdungeon.py— Dungeon and room generation logicplayer.py— Player movement and collisioninteractables.py— Interactable objects (doors)config.py— Game configuration constantsinventory.py,items.py,npcs.py— Stubs for future features
- Add new interactables (keys, chests, etc.) in
interactables.py - Implement inventory and items in
inventory.pyanditems.py - Add NPCs and combat in
npcs.py - Tweak dungeon generation in
dungeon.py
- Python 3.11+
- Pygame 2.6+
Created by nterrel. Powered by Python and Pygame.
