Devlogs
Final Update 04/23
Incursion - Post Mortem
What Went Well
Technical Achievements
1. Robust Object Pooling System
- Successfully implemented a scalable object pooling system for projectiles
- Solved complex scene transition issues with pooled objects
- Optimized memory usage and performance
2. Scene Management
- Created a reliable scene transition system
- Maintained UI persistence across scenes
- Implemented proper object cleanup during transitions
3. Combat System
- Developed an engaging dual-element combat system (fire/ice)
- Created satisfying projectile physics for fireballs
- Implemented piercing mechanics for ice shards
4. Boss Battle
- Designed a multi-phase boss fight with dynamic behaviors
- Added health-triggered dialogue system
- Created multiple attack patterns (fireballs, shockwaves)
Design Wins
1. Environmental Interaction
- Dual-purpose abilities that work for both combat and puzzles
- Interactive elements like burnable doors and freezable mechanisms
- Physics-based platforming challenges
2. Player Progression
- Meaningful upgrade system through literacy mechanic
- Balance between combat and exploration abilities
- Resource management through stamina system
Challenges Faced & Solutions
Technical Hurdles
1. Scene Transition Issues
- Problem: Pooled objects appearing in wrong scenes
- Solution: Implemented comprehensive cleanup system using SceneManager events
- Lesson: Always handle both forward and backward scene transitions
2. Camera System
- Problem: Camera tracking interfering with player respawn
- Solution: Temporarily disable tracking during respawn sequences
- Lesson: Consider all system interactions during state changes
3. UI Persistence
- Problem: Lost UI references during scene loads
- Solution: Created robust UI panel initialization and transfer system
- Lesson: Plan for component persistence in multi-scene setups
Design Challenges
1. Player Respawn
- Problem: Inconsistent spawn positions
- Solution: Unified spawn system between room transitions and respawns
- Lesson: Standardize similar systems early in development
2. Enemy Management
- Problem: Ghost enemies affecting win conditions
- Solution: Added validation system for enemy counting
- Lesson: Implement robust state validation for game-critical systems
Future Improvements
1. Technical Optimizations
- Further refinement of object pooling system
- Enhanced scene loading optimization
- More robust error handling for edge cases
2. Gameplay Enhancements
- Additional element combinations
- More environmental puzzle types
- Extended progression system
3. Quality of Life
- Better feedback for player status effects
- More detailed tutorial system
- Enhanced visual effects for abilities
Key Takeaways
1. Architecture Matters
- Proper scene management is crucial for complex games
- Invest time in robust systems for core mechanics
- Plan for scalability in object management
2. Testing Edge Cases
- Scene transitions need thorough testing
- Consider all possible player paths
- Test both forward and backward progression
3. System Integration
- Different systems can interact in unexpected ways
- Document dependencies between systems
- Implement proper validation and error handling
This project demonstrated the importance of robust architecture in game development while highlighting the challenges of managing complex system interactions. The solutions implemented provide a solid foundation for future game development projects.