This was my first large-scale project. I had a lot to learn and a lot to prove, so I just kinda threw the whole kitchen sink into it. As a result, there's a lot of issues with things like turn flow. I struggled with game breaking null references when enemies died. That's how I learned to always be careful with destroying objects and object references.
It's an educational game, so you can click on elements to activate cutscenes and dialogue. We wanted to make something that could teach young kids, while still being fun and enjoyable. No kids gonna learn anything if their bored and unengaged, after all. We took influence from rail shooters like Star Fox and the Gummi ship sections from Kingdom Hearts.
To keep things interesting, I made a camera event system that lets you swing the camera around the player for different angles. I also set up the camera to zoom in on points of interest, typically for triggering dialogue. You can also move the camera around during 'exploration' segments, where you click on objects of interest to trigger educational dialogue.The main gimmick is a heat system; casting spells generates heat. The more heat you have, the more damage you do. Heat can be turned back into mana so you can keep attacking, but heat diminishes over time so you have to be fast. What's more, the faster you clear a floor or room, the more currency you get at the end. There's a variety of enemies, each with their own behavior, weaknesses, and resistances.
The part I put the most effort into, though, is the map generation, which you can read more about in my Code Snippets page. At first I followed a youtube tutorial, but the system they made in it was pretty limiting, so I had to heavily modify some things to allow for more unique rooms to be spawned.