Moving to the Unreal Engine

Happy Christmas Eve! I thought we should chat about this most festive of topics, the move to a pre-built engine.

TLDR: Kickstarter showed that PC is the most popular platform for the game so we are focusing on that. We need not be as efficient with our programming for PC and a pre-built engine allows us to give prototypes to the community so they can help in development. Unreal Engine 4 (UE4) has some great features that will help us more rapidly move forward with the project.

Now the long version
The Kickstarter gave us a chance to see where the interest in our game is and based off the reward tiers we can deduce most people are interested in playing Empires of the Undergrowth on PC.

Just looking at the number of pledges in the cheapest tiers we see:

  • Mobile version only: 20
  • PC Version Only (Including early backers): 149
  • Both Versions: 54

The clearest indicator here is the large gap between mobile only and PC only versions; this is reinforced by our fast movement through the Steam Greenlight process. The style of game we are making is based on some classic PC games and a large portion of our backers will come from this background. Games such as Dungeon Keeper, SimAnt and Starcraft 2 traditionally played with a mouse (or gamepad in the case of SimAnt).

So why did we build our own engine in the first place?
Originally we were aiming to produce EotU for the tablet market, where we believed there was a big gap in the market for this sort of game. We wanted to make a war strategy capable of displaying hundreds of units and yet be playable on mobile hardware, and this is no easy feat. We needed to make a lean engine,  avoid all unnecessary processing,  and  take advantages of the nuances of our game in finding efficient solutions to problems.

What we created worked well for Android tablets and we were soon in the position to have it running on Windows, which was one of our side-goals. As is often the case, and even more so for a three-man team, maintaining the code across two platforms wasn’t easy. From EotU engine-designer Matt: “To save time, we did everything we could to minimise the platform-specific engine code until the polishing phase of development. The game was still to be demoed on Android tablet at public events but we also wanted to distribute a PC-version demo. Thanks to the GL_ARB_ES2_compatibility OpenGL extension, this was possible, at least on paper. But unfortunately this extension wasn’t always well implemented across hardware and we frequently saw issues with this approach”.

It quickly became evident that a reliable PC demo could not be distributed in time for the Kickstarter campaign without considerable work and testing. This wasn’t good for spreading word about the game and really hindered us during the campaign process. When it came to the end of the Kickstarter it was time to stand back and reassess the situation:

  • We have a great game concept that people are really enthusiastic about.
  • Demand for the PC version was substantially higher.
  • Focussing on the single most promising platform would help us hugely at this point.
  • The game we had developed was more complex than the original  pure dungeon simulator that we had in mind when we began planning this project 2-3 years ago.
  • PC hardware isn’t so restrictive, meaning we didn’t need to focus so heavily on engine optimisation.
  • We need to get the game into the hands of the users via a demo of its key features.
  • As a three-man team it was beginning to feel like making our own engine was less time-effective than using a pre-existing engine.

After heavy consideration, it seemed that the most prudent course of action was a move to a pre-built game engine.

Why Unreal Engine 4?
We’ve always been aware of the pre-built engines, such as Unity3D, Unreal Engine 4 (UE4) and CryEngine. Matt has kept a keen eye on them throughout the project and when we were making the decision to switch to a pre-built engine, he put together a report for us. It wasn’t an easy decision, but in the end UE4 showed a little more promise than the other options.

The key factors that attracted us to UE4 are:

  • Since we are moving exclusively to PC (for the time-being) we can focus on utilising advanced rendering effects which are already well implemented in UE4.
  • The UE4 editor is fully customisable with C++ code. There are plugins for the editor that will speed up creation of our level editor tool, which is particularly important for a game of this nature.
  • The asset conditioning pipeline is extremely polished and easy to use, speeding us up hugely.
  • The visual design tools such as AI and animation state-machine editing allow us to clearly see the flow through the programme which will help with bug fixing and creation of the games many complex systems. The blueprints system can also be helpful for prototyping ideas.
  • Unreal uses C++ which is a programming language that we are all very familiar with.
  • The UE4 editor feels sturdy and reliable.

Our priority now is to build a game prototype that we can deliver to the community and get feedback from to take the game forward. This will be the start of a community lead iterative development process helping us make the best game we can.

Have a great Christmas everybody, and expect to hear from us heading into the New Year!