itch.io is community of indie game creators and players

Devlogs

Final Update 04/23

Incursion
A browser game made in HTML5

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.

Files

  • WebGL.zip 14 MB
    Apr 23, 2025
Leave a comment