The inside story on how Irrational Games created the critically acclaimed current generation game using new technology.
Irrational Games has another hit on its hands. BioShock Infinite has been amazing critics (with a 95 rating for PC and PlayStation 3 and a 93 for Xbox 360) and gamers alike. The sequel to the critically acclaimed blockbusters, BioShock and BioShock 2, has taken advantage of years of technology advancements from both Epic Games, which built the Unreal Engine 3 game engine, and the development team at Irrational Games, which has added its own additions to the core engine to bring the floating city of Columbia to life.
“Our Core Technology team, led by Steve Ellmore, and our Gameplay Programming team, led by John Abercrombie, have replaced or heavily modified vast portions of Unreal Engine 3 for BioShock Infinite,” said Chris Kline, Technical Director at Irrational Games. “A few examples of systems their teams developed include AI, rendering, audio, animation, entity movement, collision detection, user input. Other systems were deeply modified such as physics and content streaming.”
The developer has also made extensive architectural changes to allow many core engine systems to run in parallel on separate SPUs or CPU cores. A small selection of systems that they have running asynchronously (depending on the platform) include collision detection, ray casting, sound propagation, garbage collection, Sky-Line geometry extrusion, spline proximity tests, AI suppressive fire calculations, data compression/decompression, animation transform and blending, audio processing, particle generation, SSAO, command buffer generation, rigid-body physics and cloth simulation.
“In many cases we needed to come up with entirely new systems to create the world of BioShock Infinite,” explained Kline. “For example, we developed a technology we call ‘Floating Worlds’ to allow all of Columbia's buildings, zeppelins and barges to be in constant motion without affecting performance. Another example is the ‘Pattern Matcher,’ a system that continuously analyzes the state of the game world over time to detect patterns of behavior. This allows us better understand the kinds of conceptual situations that the player, Elizabeth and AIs are in involved in at any given moment, so they can behave and speak in a context-appropriate fashion.”
One of the more impressive technological accomplishments in BioShock Infinite – and there are many – is the computer-controlled character, Elizabeth. She actually has multiple roles in the game. In addition to being what Hitchcock would call the MacGuffin, in the sense that she’s the one that the various factions are pursuing in this game, she has the ability to tear through time and pull elements like gun turrets from the future back to 1912. While she’s the one the player, as Booker DeWitt, is rescuing, she actually plays a huge role in helping throughout the interactive storyline.