A sophisticated 2D top-down maze exploration RPG built with Godot Engine 4.2. This project demonstrates enterprise-level game development practices with advanced systems architecture, comprehensive security measures, and professional-grade polish.
Navigate through procedurally configured maze levels as a brave adventurer. Fight enemies, collect items, unlock doors, and progress through increasingly challenging levels while your character grows stronger.
The raw file lives in video_demo/Hongyu Lin-2543143-game demo.mp4; clone the repo and open it locally if the embedded player does not load on your platform.
- Exploration: Navigate maze environments with intelligent pathfinding hints
- Combat: Engage enemies using a tactical combat system with various weapons
- Progression: Gain EXP, level up, and increase your power
- Puzzle Solving: Find keys to unlock doors and progress to the next level
- Inventory Management: Collect and manage weapons, healing items, and keys
The game follows a clean 4-layer modular architecture:
๐ Project Structure
โโโ Foundation Layer (12 Autoloaded Managers)
โ โโโ GameManager - Core game state management
โ โโโ LevelManager - Multi-level progression system
โ โโโ SaveManager - Encrypted save/load system
โ โโโ AudioManager - Complete audio engine
โ โโโ EffectsManager - Particle effects system
โ โโโ TutorialManager - Interactive tutorial system
โ โโโ VictoryManager - Achievement tracking
โ โโโ NotificationManager - UI notification system
โ โโโ EncryptionManager - Data security
โ โโโ InputValidator - Input sanitization
โ โโโ EthicsManager - Content filtering
โ โโโ PerformanceMonitor - Performance tracking
โ
โโโ Game Logic Layer
โ โโโ Player System - Advanced character controller
โ โโโ Enemy AI - FSM-based intelligent enemies
โ โโโ Inventory System - Dynamic inventory management
โ โโโ Weapon System - Equipment management
โ
โโโ UI Layer
โ โโโ Main Menu - Complete navigation system
โ โโโ In-Game HUD - Status bars, minimap
โ โโโ Settings Menu - Audio and display controls
โ โโโ Pause Menu - Save/load functionality
โ
โโโ Content Layer
โโโ 5 Progressive Levels - Increasing difficulty
โโโ 3 Enemy Types - Goblin, Skeleton, Slime
โโโ Multiple Items - Keys, weapons, healing items
- Finite State Machine: IDLE โ CHASE โ ATTACK โ DEATH states
- A Pathfinding*: Uses Godot's Navigation2D for smart enemy movement
- Multiple AI Behaviors: Different enemy types with unique strategies
- Dynamic Difficulty: Enemy counts and behaviors scale with level progression
- Object Pooling: Efficient audio resource management
- Dynamic Loading: Gracefully handles missing audio files
- Multi-Channel: Background music, sound effects, UI sounds
- Volume Control: Master, music, and SFX volume controls
- Particle Systems: Combat hits, item pickups, celebrations
- Screen Effects: Death overlay, victory flashes
- Animation System: Smooth character and UI animations
- Visual Feedback: Damage numbers, status indicators
- XOR Encryption: Save file protection
- Integrity Verification: Magic headers and checksums
- Version Control: Backward compatibility support
- Quick Save/Load: F5/F6 hotkeys for rapid saving
- Multi-layer Encryption: XOR + checksum + magic number validation
- Input Validation: Sanitization of all user inputs
- Path Security: Prevention of directory traversal attacks
- Frequency Limiting: Anti-spam protection for attacks
- Content Filtering: Automatic inappropriate content detection
- Age Appropriate: E-rating compliant design
- Privacy Protection: No data collection, local storage only
- Accessibility: Keyboard navigation and visual clarity
- 5 Unique Levels: Each with increasing difficulty
- Dynamic Configuration: Enemies, items, and maze complexity scale
- Smart Pathfinding: F1/F2 hotkeys show routes to objectives
- Completion Tracking: Statistics and achievement system
- Weapon Variety: Multiple sword types with different attack power
- Real-time Combat: Immediate feedback with effects and sounds
- EXP System: Character progression through enemy defeats
- Tactical Elements: Positioning and timing matter
- 7-Step Guided Learning: Progressive skill introduction
- Context-Sensitive Help: F7 hotkey for instant guidance
- Skippable Design: Veteran-friendly options
- Visual Indicators: Clear UI highlighting and instructions
- Status Bar: HP, EXP, weapon info display
- Mini-map: M key toggles overview navigation
- Inventory Panel: I key opens item management
- Settings Menu: Audio controls and preferences
- Victory Screen: Detailed statistics and achievements
| Key | Action | Key | Action |
|---|---|---|---|
| WASD | Movement | J | Attack |
| F | Interact | I | Toggle Inventory |
| 1-4 | Select Weapon | Tab | Cycle Weapons |
| M | Toggle Minimap | F1/F2 | Show Path to Key/Door |
| ESC | Pause Menu | Enter | Confirm |
- Godot Engine 4.2 or newer
- Clone this repository to your local machine
- Open Godot Engine and click "Import"
- Navigate to the project folder and select
project.godot - Press F5 or click "Play" to start the game
- Main Scene: Automatically starts from
main_menu.tscn
Maze Fighting Explorer/
โโโ scenes/ # All game scenes and scripts
โโโ levels/ # Level definitions and management
โโโ ui/ # User interface components
โโโ scripts/ # Core system managers
โโโ assets/ # Art and visual resources
โโโ audio/ # Sound effects and music
โโโ documents/ # Technical documentation
This project includes comprehensive technical documentation:
- Architecture_Design.md - System architecture and design patterns
- Security_Ethics_Report.md - Security measures and ethical considerations
This project demonstrates:
- โ Professional Architecture - Clean, modular, maintainable codebase
- โ Security Best Practices - Enterprise-level data protection
- โ Performance Optimization - Object pooling, caching, monitoring
- โ Comprehensive Testing - Input validation and error handling
- โ User Experience - Intuitive controls and helpful guidance
- โ Code Quality - Full documentation and commenting
- โ Scalability - Easy to extend with new features
Maze Fighting Explorer represents a complete, commercial-quality game development project showcasing advanced Godot Engine techniques and professional software development practices.