Sena was an exploration of using the Godot game engine. The concept was a linear story-driven game where the player ascends a tower, fighting the mechanical enemies and bosses along the way. I worked for about two months on this project with an artist named Manon Degret before the project unfortunately came to an early end.
The two major systems that were worked on for Sena was the custom FMOD integration for Godot Engine, as well as a custom Annotated A* path finding algorithm. The Annotated A* path finding used Godot's inbuilt tilemap systems to place areas that are walkable for certain or multiple agent types. It would then use a flood fill algorithm for determining the space around the walkable tile to determine how much clearance (the maximum size AI agent that can walk said tile.) each tile has. Obstacles can also e place via colliders, which my system then uses their axis aligning bounding boxes to project an area that is not walkable. However, updating an entire grid of tiles can be costly on the CPU, so I implemented a smart recalculation algorithm (only working in the 2D project iteration) that flood fills from the point of recalculation (a door, a moving wall, etc) and stops when the clearance values are identical to the previous clearance map.
The project then shifted into a 3D environment due to limitations of the 2D lighting system in Godot for top-down environments. I was unable to find a solution in 2D to have one-way shadow casters that effectively, causing light to bleed through background objects when a light source was behind them. This decision ultimately increased the complexity of the project, especially having to shift my path finding solution to use the voxel-tile based system, but the visual result was worth it.
I do not claim to own or have created the following creative works used in this project.