Life in the Engine Room
Friday, 25th July 2008 at 7:00 am
At the Microsoft Gamefest conference earlier this week, Epic Games hosted a special session which brought together three of its very different customers to share their experiences (both good and bad) using middleware and to offer advice to those looking to use Epic’s Unreal Engine. Session summary follows…
Before handing over to his panel, Epic president Michael Capps began with an overview UE3 – which powers the likes of Gears of War and Unreal Tournament, and has so many licensees it is the most popular third-party engine solution. Although built primarily for shooters, Capps said that UE is “made to be modifiable and extendable” and easy to get developer started, pointing out that for many studios once they have licensed the engine, “all you need next is a copy of Photoshop and 3D max to make a game”.
He used this to set the agenda for the talk - which would see Gearbox’s Randy Pitchford, Midway/Surreal’s Stuart Denman and Chair’s Geremy Mustard share their experiences using UE3 – to address the issue of using middleware and, when you chose to do so, trusting in your vendor.
“Cleaning up middleware is not a good idea,” he said, saying that developers should look to extend “rather than rewrite” middleware.
The Deus Ex series, “one of my favourite games of all time,” was the best example for this.
The first game “had two gameplay programmers, and they made a Game of the Year,” Capps pointed out. “They took Unreal Tournament ’99’s engine and did nothing else except add a gameplay layer on it and it was an awesome game.”
This were different for the sequel, though – and Capps laid much of the problems with Deus Ex 2 at the team’s decision to take “the whole engine team from Looking Glass, rip out the whole engine and restart. That project was quite a disaster.”
However, in handing over to his panellists, Capps was honest about what licensees get with UE3. “The Unreal Engine codebase is not perfect, as it has 13 years of code in it – we sell it as is, and are honest about that. But with 200 games shipped it is battletested and proven.”
Randy Pitchford, Gearbox
Gearbox is using UE3 in a number of games: Aliens: Colonial Marines, Borderlands, Brothers in Arms: Hell’s Highway and an unannounced AAA shooter.
For Gearbox, the decision to use UE3 was driven by the fact it’s upcoming games slate is big – and Pitchford’s advice was that studios should be willing to be beholden to their middleware supplier.
“We wanted to support a number of games, mostly in a single genre – FPS game – and we wanted to stack them up and line them up for release. We were only able to release two games in the last round of consoles and we wanted to put more out this time around,” explained Pitchford.
“So we were looking for technology to buy and our decision to chose UE3 related to support, speed and prototyping and familiarity with the code and how that software and engineering path related to our own experiences.”
Choosing to use any kind of middleware, however, means a studios has to “accept a certain number of dependencies – we expected to ramp up during the second half of the expected life cycle of current consoles. We made the decision to be dependant on what Epic was doing. We wanted to see their games ship before looking down our landing path.”
Which wasn’t the case for all UE3 licensees. “Some licensees we noticed decided to not be dependent and ship their games in 2005 and 2006. Some of those studios got a little mixed up, but we were fortunate as we didn’t make that mistake.”
Epic shares UE source code with licensees regularly via Perforce, and the overall support from the studios has been “really, really good” said Pitchford.
He also said that the engine, despite designed for a specific FPS and third-person shooter, still lets users create a shooter that is very different, like Brothers in Arms.
He explained that, as Capps advises, Gearbox has added a lot to the engine to support its gameplay aspirations. Additions include modifications to render state and draw call grouping, plus foliage additions, a destructible environment system, character bifurcation and dismemberment (“we’re a gory game,” joked Pitchford), animation compression, replacement texture streaming, improved dynamic shadows and virtual memory tweaks.
Stuart Denman, Senior Technical Director, Surreal Studios/Midway
Midway’s experience with UE3 is very different from Gearbox’s – the publisher uses it as a foundation for technology across all its studios.
Explained Denman: “Midway originally decided to license unreal because it wanted to share technology – it was one of the major directives in 2004/2005 so we could share knowledge for next-gen across the many titles we were working on.” Midway’s slate of games cover FPS, fighting, driving games, open world titles and more – each with requirements like 60fps performance on multiple platforms. “There’s a lot of deep technical challenges to overcome,” if you chose to push all that forward at once with out a middleware, said Denman.
Like Pitchford, Denman said that, Epic’s success with UE3 lays in the way it works with studios.
“The reason we chose Unreal was that Midway didn’t have the support infrastructure on any one of its teams. Unreal clearly had that advantage.”
In time that has meant Midway can ramp up its production. 2007 saw the release of UE3-powered Stranglehold and Area 51, 2008 sees the release of three games using UE3 - TNA Impact, The Wheelman, and Mortal Kombat vs DC Universe, while next year Surreal’s own This is Vegas arrives with a number of unannounced games using the engine.
Midway has learnt a number of key lessons in the move to adopting UE3, he added – specifically, the publisher has effectively now built its own heavily modified version of UE3.
“Originally we had a core technology base that a group of people worked on. And we took integrations from Epic and all the released were pulled from that. We would then share our modifications back in. After a while, however, we separated from Epic,” as the team looked to update its own version and share that across its studios.
Said Denman: “We chose to master the UE codebase. It’s worth the investment and while it will not happen overnight, it will make changes that help make your game be unique.”
By way of example he ran through how Surreal has used the engine to construct an engine of its own which is ideal for open world titles, which are “a huge, huge challenge regardless of the engine”.
For This is Vegas, he said, Surreal has added in tools for streaming. Specifically, the studio has added an hierarchy system for better workflow management so that city blocks, low detail representation and interiors load quicker. The studio has also run serialisation optimisations for taking data off the disk plus memory optimisation and added in a variety of visualisation tools for artists to use when building environments.
Despite the comprehensive building of new features, Denman made it clear that the UE3 foundation helped Surreal get these things done quicker – and suggested that others can easily do the same, especially for a genre like Open World which many people don’t necessarily relate with UE3. He said: “It all depends on what features you take advantage of in Unreal Engine.”
Geremy Mustard, co-founder and technical director, Chair
Mustard’s UE3 experiences are quite unique. The studio used the engine to build another unlikely UE-powered project – a 48MB XBLA title – and has since been acquired by Epic.
“We tried using the engine in a very different way to the way other people have,” explained Mustard. “More than any Xbox Live arcade game it has 16 player multiplayer with voice support and it has split-screen, local multiplayer and a single player campaign mode. It’s got all sorts of stuff but because it was an Xbox Live Arcade game when it came out we were restricted to under 50MB.”
The game in question, Undertow, was however build in just nine months inception through design to certification with seven artists and one programmer (Mustard himself).
Such speed “would have been impossible without middleware” he said. But the team had learnt an umber of key lessons for using middleware in that short period of time he added.
“Get the most out of what you bought, and make smart decisions on how you use the engine,” he said. “One of the best things you can do is to play the games that Epic made – indeed, play any of the games made with Unreal Engine.” Because the Unreal Tournament and Gears of War source are available and usable means “you can look for examples of things you’d like to do. Therefore you can build on what’s been done. Find ways to use established systems.”
So Undertow’s AI is based off of Unreal Tournament 3’s squad system and uses modified weapons code from the game too. However, the engine is “optimised for Gears of War and Unreal Tournament, and the games licensees make is often very different from Epic’s, so the optimisations you make can be very different” Mustard pointed out.
He also said that there were some hard and fast rules, not just when it comes to UE3, but for any middleware.
“Assume that the people that created the middleware did it the right way,” he said. “They understand the whole of their system better than you ever will. After a few years you think you might know everything, but you should ask questions to find out why they did what they did to understand it.”
Mustard said all middleware vendors aren’t villains – they are ‘Innocent until proven guilty’. “I’ve worked with a lot of programmers who say ‘oh I would have done it different’ and try to change things, but that leads to bad experience.” Instead, coders should accept that they can modify but not remake middleware.
He also explained how Chair compressed Undertow and UE3 down to 48MB. “We slimmed the executable by deciding early what wouldn’t be used,” including unused features like PhysX and FaceFX, said Mustard. The team also customised the cooker tools in UE3 as the game was a download-only title, meaning seek-free packages, DVD alignment padding on files, how shaders loaded, editor data, and most mipmaps were jettisoned.
Size is of course key for downloadable games – especially those with a fixed limit like XBLA titles. “Most people when they are making a traditional console game don’t care if they wasted 32kb on one asset -but when you make a 48MB game that matters a lot,” said Mustard. So Chair used lots of compression; textures, tools and animations were all compressed, as were all ini and localisation files.
“Whip the artists - regularly,” he also joked. “The best optimisation was to watch the artists and make sure they don’t put in huge files – I could make all the code optimisations I want and they could throw in one texture that’s too big and eliminate all the optimisations I made in the last two weeks.”
He concluded: “Nothing is impossible in games these days, it’s just the impossible takes time. With middleware you can cut that time down to achieve some of these so-called impossible things.”
© Develop 2013. All rights reserved.