If this year's crop of rocky video game launches has taught us anything, it's that coding video games is hard. Sit through the 30 minute scroll that passes itself off as a credits screen these days and you'll see just how many moving parts go into making today's games. With gigabytes of art assets to create, pages of story to write, hours of dialogue and sound to record, a tangled web of complex behaviors to script, and, oh yeah, actual levels and gameplay to design, one thing is clear: making games isn't all fun and games.
Yet despite the ever-increasing complexity, the creation process is more streamlined than ever. Why? Licensable game engines, tools, and middleware. From specular maps to dynamic shadows, high dynamic range rendering to cloth simulation, from pathfinding to AI reaction behavior, game engines take care of all the nitty-gritty graphical and scripting groundwork and provide a solid (hopefully) codebase for our beloved games. And just like you wouldn't throw a HEMI into a Smart Car, or a power-saving hybrid into a monster truck, knowing which engines excel at which tasks is crucial. So here's a quick look at a cool dozen—a V12, if you will—of the biggest engines and middleware tools in use today.
The Skinny: Developed by Valve Corporation, 2004; Written in C++; Proprietary but fully licensable with downloadable SDK and mod tools
The Lowdown: We’ll start at the Source, the Source Engine, that is. An oldie but a goodie, the Source Engine debuted in 2004 with Half-Life 2, but its roots go back even farther. In fact, like many 3D engines, its origin goes all the way back to the Quake 1 engine, also known as Id Tech 1. From Id Tech 1 sprung a plethora of engines, including Valve's heavily modified GoldSrc (or GoldSource) engine, which powered the original Half-Life. The engine has since been extensively updated, revamped, and rewritten, but Source is still technically built on its GoldSrc roots, and, ostensibly, on 1996 Quake-era technology.
Though the Gold has been dropped from the name, the Source Engine has still been gold for Valve (That's Gold, Valve! Gold!!): Since its initial release it has become the sole development engine for Valve, and has been featured in all Valve releases. Now clearly showing its age, constant SDK and library updates have kept Source surprisingly relevant, and even their latest games, such as Left 4 Dead 2, Portal 2, and the upcoming DOTA 2 continue to run on Source.
Strengths: Source's main strength is its extreme scalability. With a full array of lighting, shading, and animation tools, and fairly good multi-processor support, it delivers high-fidelity graphics and surprisingly detailed particle and radiosity effects even on low-end PCs…even the XBox 360. Source's relatively small footprint and its integration with Steam and Valve servers make it a natural for online multiplayer development as well.
Its skeletal and facial musculature systems make it easy to create lifelike characters with expressive emotions and believable lip-synching. The animation and reverse kinematic tools still provide impressively realistic behavior and character/environment interaction with less clipping than many other newer engines. These qualities make the Source engine ideal for cinematic applications like machinima.
While not an open source engine, multiple SDK builds, modding tools, level, animation, and camera editors are freely available for distribution and (non-profit) development. And the Valve Developers' Community represents a massive online knowledge base and resource for developers and modders.
Weaknesses: As we mentioned, Source is old itself and based on even older source code. As such, most of its shortcomings derive from its paleolithic status. There's no native support for DirectX11 features, and it only supports up to Shader Model 3.0. As with many legacy engines, Source's corridor-based shooter roots lead it to struggle with large open areas and long draw distances. The end result is somewhat flatter, starker looking games. Games with strong art direction based on clean, crisp and simple graphics (like Portal 2 and Team Fortress 2) work well in the engine, but games with more realistic characters, more organic environments, and more interactible characters and terrain are impossible with the engine's polygon, texture mesh, and lighting limitations.
Another weakness of the engine is on the development side, where its outdated toolsets are purportedly extremely difficult to work with. Also, due to the age of the engine, multiple non-compatible builds of the SDK and the tools are available, which can complicate things.
Coming Soon: Counter-Strike: Global Offensive, DOTA 2
The Skinny: Developed by id Software; announced 2007, released 2011; Zenimax proprietary engine, not licensable
You Know it From: RAGE
The Lowdown: Though Source may be part of the Quake/Id Tech extended family, Id Tech 5 is the direct descendant in id Software's line of 3D engines. Ironically enough however, despite sharing a name and much of the same development team, Id Tech 5 has far less in common with its mid-90s ancestor than Source. The brainchild of graphics pipeline mad scientist John Carmack, Id Tech 5 uses a number of novel ideas such as the MegaTexture and Virtual Texturing.
It’s hard to judge an engine based solely on one game, but RAGE was a strong showing for the rookie engine. Despite Id Tech 5 being in its infancy as far as released products are concerned, the ever-forward thinking Carmack and team already have their sights set on Id Tech 6, which is purported to use innovative texel and voxel techniques, including implementation of Sparse Voxel Octree.
Strengths: The primary talking point in Id Tech 5 is its use of the MegaTexture, first developed as an add-on technology for the previous Id Tech 4 engine. The idea is simple, instead of having smaller individual textures, the MegaTexture is one giant texture space used for terrain. Using one large texture space and pulling only the appropriate texture data for a given area allows Id Tech 5 to use VRAM far more efficiently, and doesn't waste cache and processing in repeating textures. The technology also supports ridiculously high-res texture maps of 128,000x128,000 pixels whereas the "HD" textures in most other engines top out at 4096x4096.
Unapologetically developed with console performance in mind, RAGE and Id Tech 5 perform amazingly even on dated console hardware. The engine focuses on smoothness of gameplay and high framerate, and its default performance options prioritize maintaining as close to 60fps at all times as is possible. Long draw distances and strong performance even in large open areas and during intense onscreen action make RAGE look wonderful in motion, and it's probably the best-looking console game on the market at the moment.
Weaknesses: The MegaTexture giveth and the MegaTexture taketh away. Despite being the engine's most touted strength, the one glaring weakness with Id Tech 5 is texture pop-in. MAJOR texture pop-in. Though patches and driver updates since launch have removed many of RAGE's most damning performance issues, PCs with slower hard drives and less VRAM still display some truly unacceptable texture load-in issues when changing direction quickly in the game's open areas.
The engine's focus on smooth framerate is yet another double-edged sword. In order to maintain high framerates, visual sharpness and clarity can take occasional hits, not all that noticeable on consoles, but extremely noticeable on the PC. Also, despite the gaudy texture sizes supported by the engine, RAGE was plagued by inconsistent texture quality, detail, and resolution.
Id Tech 5 looks great in motion, but a keen eye will notice blurry low-res textures along the outer edge of the screen.
Id Tech 5's other main weakness is its proprietary status. While John Carmack has expressed a desire for Id Tech 5 to become not just licensable, but open source (all other previous id software engines now are), parent company Zenimax has stated that Id Tech 5 will remain a proprietary engine. We may hope for a Fallout 4 using Id Tech 5 (Zenimax is also the parent company of Fallout developer Bethesda), but id and Zenimax have remained mostly silent about the future availability of the engine.
Coming Soon: Doom 4
The Skinny: Developed by Epic Games, Inc.; fully licensable, SDK free for non-commercial projects
The Lowdown: The reigning king of game engines, Unreal Engine 3 has seen amazing support and adoption across just about every platform imaginable. Officially debuting in 2007's Unreal Tournament 3, Epic Games industry-dominating engine of mass destruction has been the platform of choice for triple-A titles on the Xbox360, PS3, PC, iPhone, iPad, Android, Mac, Linux…hell, you probably have a toaster running UE3 games. UE3 earns an extra gold star for even managing to endear itself to Japanese game studios, who've traditionally eschewed Western dev tools and production models.
While Epic's development, improvement, and iteration move forward at a blistering pace, it can be hard to keep track of their build revisions. Today's Unreal Engine might still be number 3, but the UE3 of 2011 is infinitely more robust than its initial 2007 version. Not content to rest on their laurels, Epic continues to push the engine forward: they wowed the crowd at E3 2011 with a demo reel showcasing the amazing capabilities of the Unreal Engine, and UE4 (already late in development) is expected to officially release in 2012 or 2013—just in time for the next wave of consoles and hardware improvements.
Strengths: Unreal Engine 3's greatest strength lies in its amazingly robust feature set. Quick to implement new technology, UE3 supports both DirectX 11 and OpenGL 4.0. Its rendering capabilities are amongst the strongest in the industry, with full support for high dynamic range rendering, per-pixel lighting, soft shadows, tessellation, displacement mapping, bokeh depth of field, multiple reflection modes, and advanced rendering and simulation of soft body objects (like hair and cloth).
UE3 has native support for many top industry middlewares such as SpeedTree and Bink Video (more on them later) and is integrated with Steamworks. UE3 also supports physics engines like Havok and PhysX.
Due to UE3's wide adoption, its toolsets are constantly refined, and the massive online knowledge base and accessible developer community make finding information easy. UE3 is also free to download, and no license is needed if developing for educational or personal use; a small licensing is required for small-scale commercial/indy projects.
Weaknesses: Since Unreal Engine 3 is featured in so many games, it can be tough to pinpoint failings of the engine, or failings of individual games. Some persistent weaknesses are present over multiple iterations of UE3, however. Always quick to innovate, UE3 beat Id Tech 5 to the pop-in party by several years. Also quick to iterate, they manage to keep that Pop-In Fresh, as UE3 games are notoriously plagued by not just texture pop-in, but geometry, object, and terrain pop-in. Prepare to be dazzled as mountains, foliage, and characters spontaneously spring into existence before your very eyes.
Another area where the Unreal Engine really "shines" is lighting skin and flesh, creating characters who look either plastic, sweaty, or somehow both. Other aspects of the UE3 lighting model can look a bit funky at times as well, with odd reflective surfaces, jagged shadows, and clipped shadow and light maps.
Coming Soon: Mass Effect 3, Borderlands 2, BioShock Infinite, Tribes Ascend, Dust 514
The Skinny: Developed by Crytek; SDK released October 2009, first featured March 2011; commercially licensable
You Know it From: Crysis (console re-release), Crysis 2, Aion
The Lowdown: Originally developed by German developer CryTek for an Nvidia techdemo, CryEngine went on to put the Cry in FarCry, and later the Crysis series of games. It then proceeded to put the Cry in a generation of PC gamers who couldn't get the technical behemoth that was the original Crysis to run in any playable fashion. "Can it run Crysis?" The answer was a resounding "no" for years after its initial release until the current generation of multi-GPU cards eventually wrestled the feisty CryEngine 2 to the ground.
CryEngine v3 may not seem to add much over the already eye-popping splendor of CryEngine 2, but it's a rare successful case of addition by subtraction. The subtraction in this case is the poor coding that hampered Crysis framerates for years. CryEngine 3 is now a multiplatform engine, and 2011 brought us a multiplatform release of Crysis 2 and even a console port of the original Crysis in the revamped engine. It's clear that the new engine is still one of the most capable around, and with the engine fully licensable, we'd love to see more PC-centric developers hop onboard and once again push the power of PC hardware to the max.
Strengths: CryEngine 3 features some of the most technically proficient graphics around. It supports a number of high-end graphical features, including a real-time dynamic global illumination solution fully optimized for current-gen machines; a new real-time soft particle system affected by object collisions, forces such as wind and gravity, and lighting and shadows; volumetric light beams; screen-space ambient occlusion support, a unique deferred shading solution and a high-level "platform-agnostic" shader scripting technology. In other words, it looks basically as good as CryEngine 2, but is far more scalable.
The “What You See is What You Play” Sandbox editor is one of the best developer tools around, offering instant feedback. CryEngine 3 also supports AI and game scripting by Lua or Flow-Graph system, integrated physics engine, and a full suite of performance analysis tools.
Weaknesses: Some view CryEngine 3's scalability and newfound console compatibility a step back for the high end features of the engine. While CryEngine 3 remains one of the most advanced high-end graphics engines around, Crysis 2 wasn't nearly the graphical step forward that Crysis 1 was. Of particular concern to enthusiasts is its tepid support of DX11 features (even after a post-release patch for Crysis 2) and stability issues.
Coming Soon: Mechwarrior Online, Sniper: Ghost Warrior 2
The Skinny: Developed by Emergent Game Technologies (with builds by its various licensees); written in C++; commercially licensable as binary or source code.
You Know it From: The Elder Scrolls IV: Oblivion, Fallout 3, Fallout: New Vegas, The Elder Scrolls V: Skyrim (Creation Engine), Warhammer Online, Defense Grid: The Awakening, Civilization IV, Bully: Scholarship Edition, many more
The Lowdown: When most people think of Gamebryo, they think of Bethesda's particular open-world RPG take on the engine. But not only is Gamebryo not an RPG-focused engine, it's not even a Bethesda product. Developed by Numerical Design Limited and later Emergent Game Technologies, Gamebryo is a massive multi-platform development engine, featuring a wide array of genres on the PC, consoles, and mobile devices.
Built on NDL's NetImmerse engine, Gamebryo first launched in 2003. The engine was subsequently updated several times, and later iterations are known as Gamebryo Lightspeed. A highly modular engine, the source code for different builds of Gamebryo can vary wildly from project to project. EGT's latest core build, 2.6, supports all current console hardware and up to DirectX 10.
The familiar Bethesda flavor of Gamebryo is a result of extensive source code tinkering. The mangled script, sandbox shenanigans that we've all come to know and love from from Oblivion and the Fallout games are a result of a Frankensteinian stiching together of multiple seemingly incongruous moving parts. They've since completely overhauled and rewritten the engine for use in The Elder Scrolls V: Skyrim, rebranding it the Creation Engine.
Strengths: Gamebryo's strength lies in its modular nature and access to its source code. The engine is interoperable with many middleware solutions, and the engine is well-equipped to handle complex scripting. This approach makes it ideal for building large, dynamic worlds.
On the Bethesda-specific branch of the Gamebryo evolutionary tree, its latest build, the Creation Engine, has been a major step forward for the graphical capabilities of Gamebryo. Skyrim's sweeping vistas, stunning sunsets, and dynamic encounters are a testament to the improved graphical fidelity of the engine. While somewhat cumbersome to tweak, manually editing values in the Skyrim's .ini file can show off the draw distance, particle effects, improved shadows and lighting, and special effects like bloom and radial blur that the engine can offer.
Weaknesses: Due to its modular access, Gamebryo games are essentially the sum of their parts…at best. With different middlewares, systems, codebases, and scripting languages, conflicts can and will occur, leading to both gameplay and stability bugs that can be hard to identify and remedy.
Bethesda's builds of the Gamebryo engine have many well-known issues. Scripting errors are frequent, leading to broken quests, animation loops, and other far more bizarre interactions that take place on a regular basis. Despite significant improvements, even the Creation Engine has no DirectX 11 features. Lack of an integrated advanced physics and interaction system leads to extensive problems with clipping and collisions.
The most daming issues, however, are extensive stability issues in Bethesda's Gamebryo builds. Despite EGT being an industry leader in console-centric multi-core processing efficiency with its Floodgate tech, Gamebryo and Creation's support for multiple cores on the PC is virtually nonexistent. Bethesda's games have also been tragically prone to corrupted saves, crashes to desktop, and poor support for various graphics driver builds.
Coming Soon (speculative): Skyrim expansions (Creation Engine)
The Skinny: Developed by DICE/EA, 2011; EA proprietary engine, not licensable.
You Know it From: Battlefield 3, Need for Speed: The Run
The Lowdown: The latest and greatest from EA's in-house Swedish studio, Digital Illusions Creative Entertainment (DICE), Frostbite 2 is the much ballyhooed engine behind Battlefield 3. With Frostbite 2, EA seems poised to expand DICE's powerful platform to beyond Battlefield, already using it in a Need For Speed title, and announcing plans to use Frostbite 2 in non-DICE games, something they didn't do with Frostbite 1 or 1.5.
Though a relative newcomer to the engine creation game, DICE's forward-thinking approach and fresher codebase provide Frostbite 2 with a feature-rich, non-dated architecture that can better take advantage of current and future-gen hardware.
Strengths: Built from the ground up to take care of high-end PC hardware, Frostbite 2 is far and away the most advanced graphical engine available at the moment. Frostbite 2 is perhaps the only engine to fully take advantage of both DX11 capabilities and 64-bit processing power, giving high end PCs a much deserved performance showpiece. The most impressive aspects of the engine are the volumetric effects, ambient occlusion, and light and shadow mapping. These powerful shader and rendering tools and effects create the most photorealistic screenshots to date, and even more impressive results in motion.
Though optimized for 64-bit architecture, Frostbite 2 is surprisingly scalable. Battlefield 3 is still a stunning looking game on relatively low settings—a modest PC can run the game smoothly on the Medium preset and still blow the console versions out of the water.
Weaknesses: Frostbite 2's main weakness is simply its lack of availability. As a proprietary EA engine, there are no plans to license the engine outside of EA internal studios. Though EA is taking steps to expand Frostbite 2's footprint in-house, there are still a relatively small number of titles expected to feature the engine. DICE has also been ambivalent about mod support for Battlefield 3, claiming the engine is too complex for the average amateur modding team. Compatibility wise, Frostbite 2 doesn't support DirectX 9 on PC, so no XP compatibility (though we consider the euthanizing of the aging OS a move in the right direction).
Frostbite 2 is also a key example of the law of diminishing returns. Getting solid framerates on BF3's High settings are easy, but the farther you push into Ultra territory the harder it is to maintain smooth performance. While not reaching Crysis 1 levels of inaccessibility, most gamers won't have the multi-GPU builds required to max out Frostbite 2's graphical capabilities.
Coming Soon (speculative): Mirror’s Edge 2, Dragon Age 3 multiplayer mode , Command & Conquer: Generals 2
While most of the heavy graphical lifting is relegated to full engines like the six we've already covered, more and more specialized processing and rendering is being offloaded to a variety of middleware utilities. Middleware is a broad term, and these mini-engines specialize in just about everything, from tree creation, to audio utilities, to physics modeling, to video compression. Here's a sampling of some of the most used middleware solutions used in game development.
You might think virtual foliage creation tech is about as boring as watching virtual grass grow, but hey, trees are important. The nearly ubiquitous SpeedTree is a vegetation programming and modeling software that quickly generates a variety of semi-randomized foliage in real time. There’s also a SpeedTree Cinema version for higher resolution tree render libraries for use in feature films, including such titles as Avatar.
The Havok Physics system has gone from a physics middleware to practically an engine unto itself. First released at GDC in 2000, it was bought in September 2007 by Intel, and was honored in 2008 at the 59th Annual Technology & Engineering Emmy Awards for advancing the development of physics engines in electronic entertainment. The Havok suite offers a full variety of separate processing modules, including Havok Physics, Havok Animation, Havok Behavior, Havok Cloth (soft body dynamics), Havok Destruction (rigid body environments), and Havok AI.
These physics and animation libraries are easily added to an existing engine. For example, Skyrim makes use of its own Creation Engine, but also takes advantage of Havok Physics, Animation, and Behavior libraries. Source's integrated physics engine is also based on modified Havok engine code.
Nvidia's proprietary physics middleware solution, the main appeal of PhysX is its ability to offload complex physics processing tasks to the GPU. Of course, as an Nvidia technology, it's only available on Nvidia cards, though there is some software implementation of PhysX on consoles and some earlier PhysX titles.
PhysX provides impressive collision modeling for both hard bodies (terrain, debris, etc.) and soft bodies (cloth, hair, flesh). Proponents of the tech laud the improved realism and atmosphere, but naysayers question the dedicated hardware and processing power devoted to what's essentially an improved garbage and debris engine.
Another seemingly dry middleware, Scaleform does exactly what it says on the tin. A vector graphics rendering engine, Scaleform scales user interfaces, HUDs, and animated textures. This allows professional UI developers to design textual and graphical overlay elements in Adobe Flash and other native vector forms, and have them be scaled and fully interactive in games. So every time you see a game menu system that looks like it was ported over from an ill-conceived flash webgame, keep in mind that with Scaleform, that's actually a legitimate possibility. Scaleform is one of the most widely used middeware tools, and is also natively integrated into Unreal Engine 3 and Gamebryo.
One of the oldest legacy middleware apps, Bink Video is a proprietary video file format (.bik). Developed by RAD Game Tools, .biks are lightweight video files primarily used for full-motion video sequences in video games. Though not a low-quality algorithm by nature, unfortunately .biks are often highly compressed, mainly implemented in order to fit cinematics onto physical media. With digital distribution and larger optical media gaining favor, Bink has been in decline on PCs in recent years, but is still a major presence on mobile games.
A middleware game renderer best known for its benchmarking capabilities, Unigine is actually secretly a full-on game engine in its own right. Unigine's claim to fame is its support of the most up-to-date API hooks and graphics tech available, supporting DirectX 11, OpenGL 4.0, and up to Shader Model 5.0. Its best known benchmarking tool, the Unigine Heaven DX11 benchmark also supports Nvidia 3D Vision and ATI Eyefinity.