Irrational Games has outlined a range of extensive modifications it has made to Unreal Engine 3 in order to run the unique game world in the forthcoming BioShock Infinite.
"Over the last few years we've put together a world-class team of engineers with a single goal: do whatever it takes to bring the Columbia and the amazing world of BioShock Infinite to life," Irrational technical director Chris Kline posted on the Irrational Games forums.
"We're talking about a world where entire buildings are moving around in the sky, you're fighting AIs at 90mph on Sky-Lines as you dangle high above the earth, and racing through vicious weather to rescue Elizabeth while battling your way through hordes of enemies determined to stop you at any cost. Right from the outset we realized that this was going to be a monumental undertaking on the tech side, but decided it was a challenge that we simply had to take on in order to give gamers the kind of quality experience they've come to expect from Irrational Games and BioShock."
Kline talks about how his team of engineers initially looked at the original BioShock engine, a heavily modified version of Unreal Engine 2.5, coming to the conclusion that the old tech was simply "too under-powered and unwieldy for the depth and complexity of the gameplay and narrative we had planned". He also talks about how the tools used by the designers and artists required a radical overhaul, so the old engine was binned and work began on new tech using Unreal Engine 3 as a base.
We've heard in the past from many developers about how they've radically customised UE3, but it's rare that any of these titles actually deviate that much from the tech's signature look. Irrational's upgrades, however, are so substantial and fundamental that it's difficult to believe that they were able to integrate them into any kind of existing middleware at all.
"All major FPS engines (CryEngine 3, UE3, id Tech 5) are designed and optimised for static environments that the player moves through, which is a reasonable choice because, even if there are trees moving in the wind, the ground under the player's feet isn't going anywhere," explains Chris.
"Unfortunately for our tech team (but good for you) everything in Columbia is capable of moving. The very ground beneath your feet could fall out of the sky at any moment, which makes for some awesome gameplay and visuals but required us to create a completely new technology that we're calling 'Floating Worlds'. You saw a little of this in the gameplay demo video (in the part right after Saltonstall jumps on the Sky-Line) and you'll be seeing a lot more of it in the future."
This sounds a touch reminiscent of the dynamic traversal system found in Uncharted 2, where entire portions of the level could be moving, albeit played out on a rather more colossal scale. The comparisons with Naughty Dog's classic don't end there, as Irrational has also added in a deferred lighting solution to UE3 - something we're not sure we've ever seen implemented on the engine before.
"To meet the aesthetic goals of our art team, our rendering gurus had to write a whole new renderer for BioShock Infinite based on deferred lighting (a technique used in Uncharted 2, CryEngine3, and Killzone 2), and on top of that they've developed a proprietary per-pixel dynamic relighting scheme that allows characters and dynamic objects to receive global illumination," says Kline.
UE3 is often criticised for its sometimes harsh lighting (although this has been radically improved in recent versions of Epic's middleware, as you can see in Gears 3 and Bulletstorm videos), but Irrational going for a state-of-the-art lighting solution is ambitious to say the least, and suggests that the tech is far more expandable than previously thought.
Bolstering this notion is Irrational's implementation of a jobs-based processing architecture. Criterion used a similar technique in Burnout Paradise and Need for Speed: Hot Pursuit, where the game code is parallelised over as many different processing elements that are available. This should ensure that the three cores and six threads of the Xenon CPU in the Xbox 360 are extensively utilised, and obviously has seriously cool implications for SPU usage on PS3 and the many core CPUs on PC.
In his detailed post, Chris Kline also talks about how the AI system has been overhauled and how Natural Motion's Morpheme tech acts as a base on which the team has developed its own spin-off work, concentrating on smooth, realistic animation.
The 5.1 surround sound code from BioShock 1 has also been binned in favour of implementing a "new audio pipeline based on AudioKinetic's WWise technology", allowing for an "adjustable dynamic range and a fully dynamic mixing system."
"Not only did our engineers rise to that task, but they subsequently took it up a notch and implemented both a custom sound propagation system (so voices properly echo down corridors and around buildings) and a dynamic wind audio system that reinforces the dynamic weather in the world."
Kline goes on to promise that further tech secrets will be revealed in the future on the Irrational forum, and also on the company's podcasts, so expect further tidbits to info to filter out as development continues...