Developing our own game engine

It’s high time that I stepped away from the programming tasks and introduced myself to our visitors. My name is Matt and I’m the lead programmer at Slug Disco Studios. I’ve clocked most of my time in C++ so that’s the programming language I’m most comfortable in, although I also have strong experience in C/C#, aided by their similarities of course.

When I talk to industry peers, one of the first questions that comes up is “what engine are you guys using?”, and I’m sure a number of our visitors would also be interested in learning that we have decided to develop our own engine.

Having developed prototype engines in C++ before, I felt up to the task, and as our [as yet unannounced] game has strong Real-time Strategy (RTS) elements, most notably in terms of the world view, I felt that it would be achievable. Certainly, more so than for an open-world game or First Person Shooter, for example.

That said, we have decent experience in using proprietary engines, such as Unity. So we could have gone down this route, but clearly didn’t. Why?

When we started this project, Google’s Nexus 7 (2012, with Tegra 3 SoC) was a new product being marketed for, amongst other things, game playing. We knew many people who owned this initial version of the Nexus 7, and we were keen to develop our game for it. In hindsight, the Tegra 3 was an underpowered piece of kit, lacking some crucial OpenGL extensions that were common among its competitors, and have now been integrated into its successors. Needless to say, it came with a very particular set of optimisation recommendations, some of which would be awkward to implement in a proprietary engine, without some loss of efficiency or compromise.

But why was (and still is) efficiency so important to us? As mentioned, our game has strong RTS elements, including armies. We want our game to perform well on low-spec devices (such as the Nexus 7 (2012)), even when two massive armies are on the screen. Maintaining more than 30 frames-per-second at all times on this low-spec hardware has been a requirement of the engine since its creation, and I’m pleased to say that we’re still achieving this even now, with campaign-direction systems being integrated and massive, complex units being added into the game world.

Currently, we’re looking at the possibility of scaling up the maximum army size with the capabilities of the user’s hardware, although as I’m sure you can imagine, this is creating quite a headache for us in terms of healthy campaign design.

So, I hope that my first post has been informative for anybody interested in knowing what is going on behind the scenes at Slug Disco Studios. I hope it has also been encouraging for anybody following our story. I look forward to the opportunity to write to you again sometime soon!

Matt Kent
Lead programmer and co-director