ChilliSource is a 2D and 3D, open-source, cross platform game engine developed by Tag Games’ internal technology team, ChilliWorks. It boasts an impressive feature set, including skinned animation, a powerful UI system and networking. It has been designed from the ground up to be modular and easily extensible, making it incredibly lightweight and efficient – you don’t pay for what you don’t use. The API is clean and modern, making heavy use of C++11.
Checkout the engine on GitHub.
Development on the engine started in 2010 when Tag decided to use open-source technologies to develop its games. At the time there weren’t any particularly competitive open-source engines available that ran on both iOS and Android, so Tag started developing its own, called moFlow.
My first contribution to the engine was the addition of Android support to the engine in 2011. After that, I contributed an increasing amount to the engine while working on other projects (at this time the engine didn’t have a dedicated engine team, the various game teams all contributed), including development of the skinned animation system.
Sometime near the end of 2013 we analysed what we had developed and realised that it was quite impressive, if a little rough around the edges. Tag reasoned that it wanted to release the engine to the public, open-source. An internal technology team ChilliWorks was created, and I started working full time on the engine with the new title: Lead Technology Programmer.
The engine was efficient and had a good range of features, however some aspects of working with it were a bit sloppy: inconsistent API, incomplete features, and other similar issues. We decided that these problems would need to be resolved prior to release. We redesigned the core fundamentals of the engine (“What is a System?”, “What is a Component?”, “How do we handle multi-threading?”) firming out rules on how each of them should work. Various concepts were merges, or scrapped altogether as we tried to simplify the core of the engine as much as possible. After about a year of development, we had our new engine, which we re-branched ChilliSource. We released it to the public in January 2015.
Over the years I’ve worked on pretty much every aspect of the engine to some degree or another. In addition to adding Android support, I’ve worked on the audio system, the particle engine, internals of the render system, the math library, skinned animation, input (touch, keyboard, and accelerometer), the resource system, video playback, model loading, model rendering and many other things. ChilliSource is the biggest project I’ve worked on, and at the moment at least, is the one I am most proud of.