All notable changes to the NCurses implementation will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Build System - Complete multi-OS build system with PyInstaller
main.spec- PyInstaller config for console versiondungeon_menu_pygame.spec- PyInstaller config for pygame versionbuild_all.sh- Automated build script for macOS/Linuxbuild_all.bat- Automated build script for Windows- Optimized executables (33% smaller than integrated approach)
- See
docs/GUIDE_DEPLOIEMENT.mdfor instructions
- Documentation - Complete deployment and architecture guides
docs/ANALYSE_DEPLOIEMENT.md- Detailed analysis (13 pages)docs/GUIDE_DEPLOIEMENT.md- Step-by-step deployment guidedocs/ARCHITECTURE_JEUX.md- Games architecture documentationdocs/DECISION_DEPLOIEMENT.md- Deployment decision summary
- Requirements - New requirements files for different use cases
requirements-dist.txt- For production (with dnd-5e-core from PyPI)requirements-dev-new.txt- For local development
- populate_functions.py - Updated to use dnd-5e-core collections module
- Now uses
dnd_5e_core.data.populate()when available - Automatic fallback to local collections if dnd-5e-core not found
- 100% backward compatible, no code changes required
- See
test_populate_migration.pyfor validation
- Now uses
- README.md - Updated with new build instructions and download links
- Trading post implementation (buy/sell equipment)
- Character status detailed view
- Party reorder with interactive UI
- Character rename with validation
- Enhanced inventory system
- Sound effects (terminal beep)
- Custom color themes
All main.py functions have been fully implemented in NCurses:
Castle Services:
- ✅ Gilgamesh's Tavern - Complete party management
- Add/Remove members
- Divvy gold (equal distribution)
- Disband party
- Character status (structure)
- Reorder (structure)
- ✅ Adventurer's Inn - Full rest system
- 5 room types (Free to 500GP)
- HP recovery based on room quality
- Age progression (weeks)
- Spell slot restoration
- Gold deduction
- ✅ Temple of Cant - Complete resurrection services
- PARALYZED/STONED/DEAD/ASHES healing
- Success chance based on Constitution
- Gold cost by level
- Party member contribution
- 🚧 Boltac's Trading Post - Placeholder
Edge of Town:
- ✅ Training Grounds - Character creation
- Create new character (interactive)
- Create random character
- Delete character with confirmation
- Character status (structure)
- Rename (structure)
- ✅ Dungeon Exploration - Full combat system
- Text mode integration
- Complete explore_dungeon() call
- Monster encounters
- Death handling
- Auto-save after exploration
- Text/NCurses mode switching
- Proper curses.endwin() / reinit
- Seamless transitions
- Error handling
- Enhanced error handling
- Protected saves
- Fallback stubs
- Try/catch everywhere
- Auto-save system
- Save after every important action
- Character file management
- Party state persistence
- 11 new draw functions
- 11 new input handlers
- 15 total game modes
- Context-aware menus
- Real-time feedback
- Mode system expanded (4 → 15 modes)
- Handler architecture refactored
- Import system with fallbacks
- Load game data with collections
- Duplicate function definitions
- Return type consistency
- Import error handling
- Curses reinitialization
main_ncurses.py- Main NCurses interface implementationrun_ncurses.py- Launcher scripttest_ncurses.py- Test suite for NCurses compatibilityconfig_ncurses.py- Configuration file
NCURSES_README.md- Complete documentationNCURSES_COMPARISON.md- Comparison with original main.pyQUICKSTART.md- Quick start guideIMPLEMENTATION_SUMMARY.md- Implementation overviewCHANGELOG.md- This file
- Main menu navigation
- Castle menu with 6 options
- Edge of Town menu
- Party & Roster management interface
- Dual message system
- Terminal size verification (80x24 minimum)
- Color support detection
- Keyboard navigation
We use Semantic Versioning (MAJOR.MINOR.PATCH):
- MAJOR: Incompatible API changes
- MINOR: New functionality (backwards compatible)
- PATCH: Bug fixes (backwards compatible)
Focus: Basic infrastructure and navigation
This initial release provides the foundation for a complete NCurses-based D&D 5E game interface. While core gameplay features are not yet implemented, the architecture is solid and ready for expansion.
What works:
- Complete menu navigation system
- Party/roster display
- Message system
- Terminal handling
What's next:
- Character creation (v0.2.0)
- Combat system (v0.3.0)
- Dungeon exploration (v0.4.0)
Target: Q1 2025
- Full character creation wizard
- Race selection with subraces
- Class selection
- Ability score rolling/assignment
- Equipment selection
- Name and appearance
- Character sheet display
- Edit existing characters
- Delete characters from roster
Target: Q2 2025
- Turn-based combat implementation
- Combat animations
- Dice roll visualization
- Damage calculation display
- Status effects
- Combat log
- Flee mechanics
- Victory/defeat handling
Target: Q2 2025
- Maze rendering
- Player movement on map
- Enemy placement
- Random encounters
- Treasure chests
- Trap detection
- Mini-map
- Fog of war
Target: Q3 2025
- Tavern recruitment system
- Inn rest and recovery
- Temple resurrection and healing
- Trading post buy/sell
- Equipment comparison
- Price negotiation
- Inventory management
Target: Q4 2025
- Save/load system
- Multiple save slots
- Character import/export
- Custom color themes
- Sound effects
- Achievements
- Statistics tracking
- High scores
Target: 2026
- All core features implemented
- Comprehensive documentation
- Full test coverage
- Performance optimizations
- Multi-language support
- Tutorial mode
- Modding support
-
Report Bugs
- Use the issue tracker
- Include terminal type and size
- Provide reproduction steps
-
Suggest Features
- Check the roadmap first
- Open a feature request
- Explain use case and benefits
-
Submit Code
- Fork the repository
- Create a feature branch
- Follow coding standards
- Add tests if applicable
- Update documentation
- Submit pull request
- Follow PEP 8 style guide
- Use type hints where appropriate
- Add docstrings to all functions
- Keep functions small and focused
- Comment complex logic
- Handle curses.error exceptions
- Test on multiple terminals
Before submitting:
- Code runs without errors
-
test_ncurses.pypasses - Tested on at least 2 different terminals
- Terminal resize doesn't crash
- ESC key works in all menus
- Documentation updated
- Config file updated if needed
- DnD-5e-ncurses - Architecture and design patterns
- DnD 5th Edition API - Original game logic
- Python 3.10+
- NCurses library
- D&D 5th Edition ruleset
- Initial implementation: 2024-12-16
Same license as the main DnD-5th-Edition-API project.
Legend:
- ✅ Implemented
- 🚧 In Progress
- 📋 Planned
- ❌ Deprecated