Halo was conceived as a first-person shooter that would challenge the conventions of its genre, and boy did it deliver. It proved that the FPS – at the time still largely a PC thing, despite the N64’s GoldenEye – could not only work on a console, but sell one. In doing so it re-examined many basic rules of the FPS, and told an intelligent science fiction story, too.
Disintegration is the latest game from Marcus Lehto, one of the original co-creators of Halo, and it’s out tomorrow. Its ambitions don’t compare in scale to those of Lehto’s most famous project – his new studio, V1 Interactive, is relatively small and lacks the bottomless pockets of a console owner – but they’re similar in quality.
Disintegration explores one of sci-fi’s big questions, the meaning and value of humanity, through the technology of ‘integration’ – uploading human consciousness into robotic armatures. It also revisits the rules of the FPS genre, mixing them with those of real-time tactics as you float above the battlefield on a gun-toting gravcycle, both participating in combat directly and issuing commands to a squad of soldiers.
It won’t surprise you to learn that this approach to combat presented a number of difficulties, both in itself and particularly in multiplayer.
“One of the biggest design challenges we faced was figuring out how to seamlessly blend the mechanics of a shooter with the tactics of commanding a squad of AI units on the ground,” Disintegration’s co-creator and technical design director Joe Arroyo tell us. “Our goal was to make most of the core actions of the game feel like shooting a weapon, even those that issued commands to units.
“We landed on the idea of commands acting like a fired pulse/ping, and tied the action to the bumpers and/or triggers depending on the control scheme – it was important that firing your weapon, or a command pulse, didn’t require you to take your thumbs off the sticks. We found that once the unique mechanics of our game start to click with the player, they are able to make quick moves in their gravcycle while sending an order to the squad and shooting at enemies, all simultaneously.”
Related: Check out the best FPS games on PC
As you might imagine, though, player feel is the least of the challenges posed by mixing genres. For a small team, “to build components for two different types of games at the same time” was “a difficult albeit necessary iterative time sink.” The ability to fly around on a gravcycle also removed many of the efficiencies a traditional “boots-on-the-ground shooter” offers to designers: the restricted view such games offer of their environments means “levels can be designed strategically to get the most out of culling and level streaming,” Arroyo says.
“Additionally, when you’re that close to the battle, it doesn’t take a lot of enemies to give the appearance of a larger fight. In Disintegration, however, you can see a large amount of the battlefield at any given moment, and due to the tactical nature of the game, we had to focus our efforts on supporting a decent number of enemy units on the battlefield.”
We built the Disintegration prototype in Unity, but when it came time to grow, moved to Unreal for its power and tools
This was a challenge because Disintegration’s enemy units are “based on the UE4 Character Actor”, which was built to “give all the bells and whistles” you’d expect from a player-controlled character. That made them pretty resource-intensive, as the team learned the hard way.
“We were in a little too deep to try and implement a more performant character from scratch, so instead we put extensive effort into modifying how characters interact with the environment by ensuring they do not perform any sweeps during movement, and that they do not perform overlap tests at all on the game thread. We had to identify and remove parts of the character that were not necessary for our game, and leverage some of the understanding that the player will generally not be as close to the enemies as they would be in a standard shooter.”
Unreal Engine 4 may seem like the obvious choice to make a sci-fi shooter. Of all the hundreds of games made in the engine over the years, this is one of its most storied genre/setting combos, right back to the original Unreal in 1998. “Unreal is a great engine for shooters, especially arena shooters,” Arroyo enthuses. “Our game proposed some unique challenges due to the player’s view of the battlefield, and the number of units present during combat. Although we technically built a shooter, those aspects of the game made it a bit more difficult to take advantage of some of the shooter-specific tools and benefits.”
When we discovered Unreal's visual logger, it was like Christmas morning. It gave us so much mileage
However: “We originally built the prototype for Disintegration in Unity, back when there were only three of us on the team about six years ago,” Arroyo reveals. “It was great for rapid iteration and ease of use, but when it came time to grow the team, we made the decision to move to Unreal for its power and its tools. By far the most appealing were its content creation tools, as they allow artists and designers to be immensely productive without relying on constant engineering support.”
Much of V1 was new to Unreal, however, and there were teething problems. “Because the engine has been around for so long, there are a lot of stale features that are deprecated for the most part, but not necessarily communicated as such,” Arroyo says. “We would often hit a technical brick wall only to discover that we just had to call a different function to achieve a similar result. We learned quickly to let the code speak for itself, and to take the time to read and understand what something was doing under the hood rather than relying on documentation and comments to be correct.”
It’s true that such a long-established engine is robust and flexible enough to make practically anything – “if you can think it, you can build it”, as Survios’ Eugene Elkin put it last week – but the less-discussed hazards of that legacy are bloat and untidiness. “Ultimately, our biggest takeaway was that the engine was built to lower the initial barrier of entry as much as possible. Things ‘just work’ at first, but the moment you crack the shell to go beyond a character running around a small environment, the complexity grows exponentially.”
Fortunately however, Unreal also offers a wealth of tools to help developers navigate its labyrinth of features and functionality. “Once we discovered the visual logger, it was like Christmas morning,” Arroyo says. Unreal’s visual logger captures the game state at a given time and then displays it visually in either the game or editor, making it much easier to track down and resolve bugs than rely on user reports or game footage.
Any good? Check out our Disintegration gameplay impressions
“It gave us so much mileage. We extended it quite a bit as well, by adding a set of helper macros for more drawing control, and an always-on debug snapshot tool that had the visual logger running at startup on development builds, writing a sliding window of the last 30 seconds to memory all the time. At any moment while playing, a tester could think ‘that seemed strange’ then hit hot-keys to take a debug snapshot.”
We hear a lot about the quality and usefulness of Unreal’s tools in this series, but the visual debugger sees fewer mentions than, say, the Blueprints tool. For an engine as long-established as Unreal, it’s perhaps inevitable that a degree of bloat will occur. It’s equally reassuring that tools and a supportive community exist to help developers find their way through the maze this creates.
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 V1 Interactive.