For anyone who's unfamiliar with engines as they apply to game development, an engine is sort of like the solid foundation to a video game house. An engine is used for not just one game, but many games and in some cases many very different kinds of games. Companies spend a lot of time evaluating which is best for them, and we were no different.
Kyle, Dave and I sat down and listed the features we wanted in an engine. We had a clear idea of things that didn't make it into the prototype because of technological restrictions. Namely that it be game object based, physics, scripting support, we wanted it to be versatile so we can bring our games to platforms beyond just the PC, and also versatile that we can create games beyond platformers. Finally we wanted an engine that was familiar. Of course, there's a learning curve for anything new, but we wanted the ability to add in new features down the road as we needed them.
Ultimately, none fit the bill well enough. It was then that we decided to create our own engine from scratch. The biggest downside was time; we've been working on RAE for over a year and a half! Thankfully, the upside is in our games. Snapshot's development is finally in full swing and any shortcomings of RAE are addressed almost immediately.
Over the next few weeks, we'd like to show off some of RAE's awesome features through a series of video posts. We want to hear from you! What aspect of the game engine would you like to learn more about? Game objects? Scripting? Physics? The art pipeline? Give us your questions/comments below or in our IRC channel! And come back next week for our first installment in the series.