This document outlines the clean, professional structure of The End The Beginning - Dungeon Escape Game.
TheEndOfTheBeginning/
├── .git/ # Git version control
├── .github/ # GitHub configuration
│ └── ISSUE_TEMPLATE/ # Issue and feature request templates
├── .gitignore # Git ignore rules (enhanced)
├── CHANGELOG.md # Version history and changes
├── CODE_OF_CONDUCT.md # Community guidelines
├── SECURITY.md # Security policy and reporting
├── LICENSE # Project license
├── README.md # Main project documentation
├── RELEASE_NOTES.md # Detailed release notes with template
├── TODO.md # Task tracking, bugs, and roadmap
├── PROJECT_STRUCTURE.md # This file - project structure overview
├── FXGL_INTEGRATION.md # FXGL integration guide (HISTORICAL - FXGL removed in v3.1.0)
├── GAME_ENGINES.md # Game engine evaluation and decisions
└── TheEndTheBeginning/ # Main application directory
├── Launch-Game.bat # Windows quick launch script (portable)
├── pom.xml # Maven configuration (Pure JavaFX, no FXGL)
├── run-game.bat # Windows run script (portable)
├── src/ # Source code
│ └── main/
│ ├── java/ # Java source files
│ │ ├── gameproject/
│ │ │ ├── package-info.java # Package documentation
│ │ │ ├── TheEndTheBeginning.java # Main application
│ │ │ ├── MainControllerNew.java # Game controller
│ │ │ ├── SaveManager.java # Save/load system
│ │ │ ├── Monster.java # Monster class
│ │ │ ├── Balance.java # Difficulty constants (v3.1.0)
│ │ │ ├── InputUtil.java # Input normalization (v3.1.0)
│ │ │ └── Settings.java # Settings persistence (v3.1.0)
│ │ └── main/model/
│ │ ├── package-info.java # Package documentation
│ │ ├── Player.java # Player class (renamed from player.java in v3.1.0)
│ │ └── Item.java # Item system
│ └── resources/ # Game resources
│ ├── game.fxml # UI layout
│ ├── game-style.css # Default theme
│ ├── high-contrast.css # Accessibility theme (v3.1.0)
│ └── icons/ # Game icons
└── target/ # Compiled output (auto-generated)
- README.md - Main project overview, installation, and quick start guide
- CHANGELOG.md - Chronological list of changes between versions
- RELEASE_NOTES.md - Detailed release information with template for future updates
- TODO.md - Comprehensive task tracking with bugs, features, and priorities
- PROJECT_STRUCTURE.md - Project structure and organization
- CODE_OF_CONDUCT.md - Community guidelines and enforcement
- SECURITY.md - Security policy, vulnerability reporting, supported versions
- LICENSE - Project license
- FXGL_INTEGRATION.md - Guide for FXGL game library integration
- GAME_ENGINES.md - Game engine evaluation and integration decisions
- .gitignore - Version control exclusions (enhanced)
- .github/ISSUE_TEMPLATE/ - GitHub issue and feature request templates
- pom.xml - Maven build configuration (with FXGL)
- package-info.java files - Java package documentation
- Deleted
README.md.backup(outdated duplicate) - Removed
BUGS.md(consolidated intoTODO.md) - Deleted
BUILD.md(integrated intoREADME.md) - Removed
IMPLEMENTATION_SUMMARY.md(no longer needed)
- Single README - One comprehensive project overview
- Master Release Notes - Template system for future updates
- Unified Task Tracking - All bugs, features, and tasks in one organized file
- Removed
TheEndTheBeginningDemo/folder (outdated prototype) - Organized all documentation in root directory
- Maintained clean separation between docs and source code
- Clear Documentation Hierarchy - Easy to find information
- Single Source of Truth - No duplicate or conflicting files
- Scalable Structure - Easy to maintain as project grows
- GitHub Integration - Professional issue templates and workflows
- Developer Friendly - Clear build instructions and task tracking
- Updates: Add new releases to top of
RELEASE_NOTES.md - Tasks: Track all work in
TODO.mdwith proper categorization - Changes: Document all modifications in
CHANGELOG.md - Issues: Use GitHub issue templates for bug reports and features
This structure provides a solid foundation for professional game development and maintenance.