At the beginning of 2016, already two years into development on an ambitious city-builder, programmer and designer Paul Tozour didn’t know whether Aven Colony was going to survive. Like the colonists on the surface of Aven Prime, his team of four at Mothership Entertainment were building upward in the face of uncertainty.
Read more: the best sandbox PC games.
By the end of that year they’d had the call from publishers Team17. Not only will Aven Colony come out, but Tozour is now confident it will be “something really special”. Those intervening months, however, were made fraught by technical challenges that forced Mothership to delay the game and threatened to end development.
What Aven Colony does, first and foremost, is simulate an intricate and sprawling space city.
“We’ve got colonists walking around in the tunnels and greeting each other,” Tozour says. “We’ve got a whole simulation of air quality going on under the hood. We’ve got various resources being mined and converted, farms growing food, the little sprinklers on farms turning around. Just a million things.
“It can be pretty overwhelming. Not to mention all of the various challenges that can attack the colony – shard storms, toxic gas emissions, plague spores, things like that.”
All of this is, as you might expect, a performance nightmare. Mothership knew it would be: back in 2013 when the team made the decision to go with Unreal Engine 4, performance was at the front of their minds.
“We knew from the outset that this game was going to be very, very intensive and we needed to get the optimal performance from the engine,” Tozour says. “The combination of C++ and Blueprint for us was one of the key determining factors. We wanted to make sure that we had access to the code inside the engine, so that whenever we needed to we could drill down and optimise it all the way to the lowest level.”
Even with that option available to them, Tozour describes performance as the greatest technical challenge his team have faced.
“We’re making an incredibly ambitious game, with incredibly detailed buildings and colonists and just a huge number of systems going on under the hood,” he notes. “It puts a lot of strain on the systems when you have a very large colony with thousands of colonists walking around.”
You can press C at any time to operate the game’s surveillance cameras, zooming in on the citizens as they walk the tunnels. But Mothership have drawn a distinction between the total number of colonists living on Aven Prime and those you can see physically wandering around.
“You can have a colony of potentially thousands of colonists, but at any given time we’re not going to spawn those in,” Tozour says. “Just for performance reasons.”
Under the HUD
There’s been a trend over the last decade towards minimal user interfaces. It’s no longer unusual for a game made in Unreal, like Reaching for Petals, to do away with UI completely – scrapping the usual metrics for measuring player progress in favour of focusing entirely on narrative.
Aven Colony doesn’t have that luxury. Metrics are needed to keep track of mostly invisible factors like food reserves and morale, while an array of interface tools are necessary for players to grapple with the potentially unwieldy task of colony management. But when development began, Unreal Engine 4 was still in beta – and its dedicated UI creation tool didn’t yet exist.
“The first year and a half was very painful,” Tozour recalls. “We had to hack together our own user interface system on top of Canvas, just so that we could get work done.”
As the game grew, however, so did the engine, and Mothership became acutely aware of the Unreal Motion Graphics UI Designer. By then, UMG was letting developers assemble Heads Up Displays simply using pre-made buttons, checkboxes, sliders, and progress bars, all linked to the engine’s powerful scripting system of Blueprints.
The decision Mothership faced – to switch over to UMG – turned out to be the most important of Aven Colony’s development.
“Towards the end of 2015, we were sort of in a bind,” Tozour remembers. “We were like, ‘OK, we’re getting close to release. Should we make the transition or not? Eventually we decided to postpone the release of the game.”
Mothership spent the first half of 2016 converting the game to UMG. It was a monumental task, in which they threw out their entire UI codebase and gradually refactored everything using the new tool.
“But it has been a blessing for us, because it’s an excellent system for rapidly prototyping UI stuff,” Tozour explains. “That has made it much, much easier for us to build this very big and robust UI system, as well as adding whole new features.”
Aven Colony now has, for instance, statistics pages that enable you to review individual morale factors, or food production, or the number of ration packs you have left. And a system added a couple of weeks ago allows you to drag those charts from their dedicated screen into the main game, letting you keep an eye on the metrics as they change.
This is important: on some maps, your starting position is too far from fertile land for your colony to rely on farming, forcing you to delicately ramp up trade with an orbiting colony ship. Having the numbers on hand is essential in knowing when to introduce a rationing social policy, for instance – trading off the morale you can spare for the food you can’t.
These are the key choices that define Aven Colony, and without that seemingly innocuous decision that cost the team six months, they wouldn’t be visible in the same way.
“The point where we’re at today is not a point I could have imagined getting to when we started three and a half years ago,” Tozour says. “We’ve certainly had our share of challenges in development. That was an incredible experience, watching the transformation, and watching this tiny, plucky team take this game and find the promise in it.”
In this sponsored series, we’re looking at how game developers are taking advantage of Unreal Engine 4 to create a new generation of PC games. With thanks to Epic Games and Mothership Entertainment.
- Read More
- Aven Colony system requirements