A comprehensive simulation engine implementing D&D 5th Edition rules with multiple interface options.
This project uses dnd-5e-core package for all D&D 5e game logic. Most games import from dnd-5e-core for entities, combat, spells, equipment, etc.
See docs/ARCHITECTURE_JEUX.md for detailed architecture documentation.
Full D&D 5th Edition rules implementation with character creation and combat simulation.
Run using:
- Recommended:
python ./main.py(requires Terminal and Python β₯ 3.10.0) - Debug mode:
python ./main_pexpect.py(for IDE debugging, may have minor display issues)
Text-based interface (ncurses) - ncurses adaptation of main.py with full D&D 5e features.
Run using:
python ./main_ncurses.py
Features:
- Castle services (Tavern, Inn, Temple, Trading Post, Training Grounds)
- Dungeon exploration with combat
- Character creation and party management
- Inventory management
Complete graphical game with multiple modules:
Main Menu: python ./dungeon_menu_pygame.py
Modules:
- dungeon_pygame.py - Dungeon exploration and combat
- boltac_tp_pygame.py - Boltac's Trading Post (buy/sell equipment)
- monster_kills_pygame.py - Monster kill statistics
Features:
- Spell casting
- Inventory management
- Melee & ranged combat (D&D 5th Edition rules)
- Graphical interface with mouse support
Basic arena with simplified custom D&D rules (does not use dnd-5e-core).
- Single-character dungeon exploration
- Multiple dungeon levels
- Treasure collection
- Simplified D&D ruleset implementation
Run using:
python ./dungeon_tk.py
Graphical interface using Qt Designer framework with full D&D features except training grounds.
Run using:
python pyQTApp/wizardry.py
Basic gameplay with collision detection (Simplon gamejam inspired)
Run using:
python ./lab_games/rpg_pygame.py
Text-based arena with basic combat and enemy movement
Run using:
python ./lab_games/rpg_ncurses.py
Download pre-built executables from GitHub Releases:
- Windows: dnd-console-1.0-windows.exe, dnd-pygame-1.0-windows.exe
- macOS: dnd-console-1.0-macos, dnd-pygame-1.0-macos
- Linux: dnd-console-1.0-linux, dnd-pygame-1.0-linux
Just download and run - no installation required!
- Python 3.10+
- pip
- Clone repositories:
git clone https://github.com/codingame-team/dnd-5e-core.git
git clone https://github.com/codingame-team/DnD-5th-Edition-API.git- Install dnd-5e-core:
cd dnd-5e-core
pip install -e .- Install game dependencies:
cd ../DnD-5th-Edition-API
pip install -r requirements-dev-new.txt- Run games:
python main.py # Console version
python main_ncurses.py # Ncurses version
python dungeon_menu_pygame.py # Pygame version
python dungeon_tk.py # Tkinter version
python pyQTApp/wizardry.py # PyQt5 version./build_all.shbuild_all.batExecutables will be in dist/ folder.
See docs/GUIDE_DEPLOIEMENT.md for detailed instructions.
DnD-5th-Edition-API/
βββ main.py # Console version (main frontend)
βββ main_ncurses.py # Ncurses interface
βββ dungeon_pygame.py # Pygame dungeon crawler
βββ dungeon_menu_pygame.py # Pygame main menu
βββ dungeon_tk.py # Tkinter version
βββ ui_helpers.py # UI utility functions
β
βββ pyQTApp/ # PyQt5 application
β βββ wizardry.py # Main PyQt interface
β βββ Castle/ # Castle modules
β βββ Inn_module.py
β βββ Tavern_module.py
β βββ ...
β
βββ docs/ # Documentation
β βββ ARCHITECTURE_JEUX.md # Architecture guide
β βββ GUIDE_DEPLOIEMENT.md # Deployment guide
β
βββ manual/ # User manuals
β βββ manual_console_version.md
β βββ manual_ncurses_version.md
β βββ ...
β
βββ tests/ # Test scripts
β βββ README.md
β βββ test_*.py
β
βββ archive/ # Development history
β βββ README.md
β
βββ data/ # Game data
βββ images/ # Graphics
βββ sounds/ # Audio files
βββ sprites/ # Sprite assets
See INDEX.md for complete navigation guide.
Run all tests:
pytest tests/Run specific test:
python tests/test_dnd_core.pyValidate migration:
python tests/validate_migration.pySee tests/README.md for details on all test scripts.
- Install PyInstaller:
pip install pyinstaller
- Run platform-specific installer:
- macOS/Linux:
./install.sh - Windows:
install.bat
Required: Python 3.11+
Use IntelliJ PyCharm 2022.3 Community Edition's package manager
- Update pip:
pip install --upgrade pip- Install dependencies:
pip install -r requirements.txt