Lillian here, hoping to shed some light on my plans for Hypatia Engine! This post is a follow up to the earlier blog post I made about short term goals for Hypatia Engine.
In summary: I want to standardize an amazing API for easy interaction with perfect implementations of essential game components/objects. There are generic game concepts which persist through almost any 2D game genre: platformers, sidescrollers, top-down, etc. The core features/components we need to focus on perfecting to have a kickass 2D game engine are:
- Mask and collision system (pixel-perfect!)
- Generic AI behavior system
- Image/sprite API (animations, cacheable effects, dynamic effects)
- Basic dynamic lighting
- Tilemap system
- Non-tiled scenes (pictures with masks for screens/maps)
- Easily associate sound effects to actions; sound effect triggers
- Absolute vs relative position
- Camera control
All components need to be functional outside the scope of the Hypatia Engine framework so that you could use a component, like AnimatedSprite, and choose to use only that component with pygame.
Once all that is done we can start implementing a BaseEngine, following with the children: ZeldaEngine, PlatformEngine, in general: code which automates the interaction between our perfect components. Around this time we will resurface some of Alice’s code from long ago for RFC (game states, virtual file system, and more!).