Fireborne was my first attempt at making independent games after leaving the AAA world. Together with a couple of friends, we spent many many months crafting a hybrid game reminiscent of Populous and Diablo at the same time...
"Fireborne is a God game with RTS elements set in a fantasy universe. Guide the Fireborne and her people, the Yin, in a journey to free their home-worlds from the gruesome lifeforms that have destroyed them."
While unfortunately Fireborne was never finished (the game was over-scoped and lacked a singular vision), it was an amazing learning experience for all of us.
I was able to create many cool systems for the game, a fully deformable planet, an automata-based water simulation, behavior graph AI for the characters, optimized pathfinding and lots and lots of shaders for all the fx and unique visuals of the game. All this development really allowed me to become completely fluent in Unity. In fact, I think this is when I fell in love with C# as well. I was able to create systems so quickly, while still maintaining enough control over the clarity and performance of the code to do what I needed. It really clicked: C# is an amazing language for games if you are okay with trading off a little bit of performance for a huge gain in productivity.
The main lesson I learned while working on Fireborne, however, had nothing to do with coding in fact. It had to with the importance of having a strong Vision and the need for that vision to drive the rest of development. It was a hard-learned lesson, of course, as very little of the work done on Fireborne will ever make it into any future product of mine, but it needed to be learned.