Game Engines: All You Need to Know
On January 1, 1993, id Software issued a press release about their upcoming game, Doom, in which they made a few immodest claims – the game would herald a technical revolution in PC programming, it would push back the boundaries of what was thought possible on contemporary PCs, and would offer a host of technical ‘tour de forces to surprise the eyes’ while delivering smooth gameplay across a range of PC hardware. The press release also contained a quote from John Carmack, id’s technical director, who claimed that the Doom ‘engine’ was optimised to run at excellent frame rates.
When it came out, Doom (1993) was all it had promised to be. It was played by millions of people and continues to be celebrated as a milestone in gaming and culture more than 25 years later. Many factors contributed to Doom’s massive success, but perhaps the most important was the ‘engine’ used to power the game, which not only allowed Carmack and his associates to push the limits of what was possible in a computer game, but also repeat such a feat with their subsequent games, deploying upgraded versions of their original engine. In effect, id Software created a new paradigm for game development – the use and reuse of a unified code base known as an engine to create new games that shared a common core.
Engines such as the one mentioned in id’s press release now power the creation of a bewildering array of games for multiple platforms – in this blog, we will discuss what engines are, their early history, and the two most popular game engines in the world – the Unreal Engine and Unity. We will also delve into various first-party game engines used by major studios to create games for classic franchises such as Assassin’s Creed, Battlefield, Call of Duty and The Elder Scrolls.
What is a Game Engine and Why it’s Vital
A game engine is a software framework primarily designed for the development of video games. Developers can use engines to construct games for consoles, PC’s, mobile devices and even VR platforms.
Game engines often include core functionality such as a 2D or 3D renderer, a physics or collision engine, and support for sound, cinematics, scripting, animation, AI, and networked play. They also allow games to be deployed on multiple platforms – game engines are capable of platform abstraction. Both Unity and Unreal Engine support easy deployment of game-ready assets from their respective marketplaces, the Unity Asset Store and the Unreal Marketplace.
The great advantage of a game engine is that it allows game developers to reuse or adapt the engine to make new games, instead of starting from scratch – they are spared the chore of reinventing the wheel. By providing support out of the box for developing many aspects of a game, engines reduce cost, time and manpower investment, allowing game studios to remain competitive in a constantly-evolving industry in which production costs have steadily risen. They also foster innovation by making game development easier.
In the following section, we will discuss how game engines transformed game development, by allowing developers to use a single software to create multiple games for multiple platforms.
History of Game Engines
Strictly speaking, game engines did not exist prior to the ’90s. Before the advent of such software applications, games had to be designed from the ground up, and very little of the code base could be reused when deploying games on multiple platforms. Games for the Atari 2600 – a major game console released in the ’70s – were coded using assembly language specific to the console. Developers did reuse code, but there was no unified code base that could be extended to create multiple Atari 2600 games.
Super Mario Bros (1985) is arguably the first console game to be made by reusing a critical piece of code – Shigeru Miyamoto’s team had written the code to enable smooth side scrolling for their 2D racing game Excitebike (1984), and their code was reused in the making of the first Super Mario Bros game, allowing Mario to smoothly move across the screen and even accelerate from a walk to a run. This was an important inflection point in game development, considering that much of the first Mario game had to be designed by hand, on graph paper, and the platform for which it was built, the Nintendo Entertainment System, used assembly language, limiting code reuse. Despite this, the developers managed to re-implement the Excitebike code for the Mario game.
The ’80s also saw the release of several 2D game development kits – known as game creation systems – that enabled users to create specific games using pre-built assets: the Pinball Construction Set (1983), the Adventure Construction Set (1984) and the Shoot-‘Em-Up Construction Kit (1987) are examples of kits published during this time. Each kit was specialised for a specific type of game – users made pinball games with the Pinball Construction set, while the Shoot-Em-Up kit enabled the creation of 2D shooters.
These kits allowed everyday users to create games using existing components, and often featured a Graphical User Interface (GUI) that further eased the process of creating a game. The Shoot-Em-Up kit even allowed users to share their creations as full game files, which could then be played on other systems that did not have the construction kit itself. No coding knowledge was required to make these games – this helped popularise such kits, but also limited the scope of the games that could be made with them.
Garry Kitchen’s GameMaker (1985), released by Activision for various home computer systems, was the first integrated development environment for making games, and can be considered a proto-game engine. GameMaker allowed users to create background graphics, movable objects known as sprites, sound effects and in-game music, and also included a game programming language that allowed the developer to code more features. GameMaker’s versatile programming language set it far apart from other game creation systems of the time.
The first game engine as we understand the term today was not the Doom engine, but an earlier code base created by id for the production of a new game trilogy for their Commander Keen franchise. From the outset, id recognised that creating a single piece of software that provided common functionality for multiple games was a more significant accomplishment than making a game, and even tried to license the so-called ‘Keen engine’ (1991), but met with little success.
The reason why this software was called a game engine is largely because both John Carmack and John Romero of id are car enthusiasts. According to Romero, an engine is the heart of the car, while the game engine is the heart of the game – it powers the game, while the art and other game assets are comparable to the body of the car. After coining the term, id introduced it to the world with the Doom press release in 1993.
The developer found a much more receptive audience for the Doom engine – after all, it had powered a massive hit, and was hence licensed by several companies, leading to the release of games such as Heretic (1994), Hexen: Beyond Heretic (1995) and Strife: Quest for the Sigil (1996). Developers using the Doom engine added their own graphics, characters, weapons and levels—the “game content” or “game assets” were unique to the developer, but the technology that powered the game was id’s engine.
The engine itself was revolutionary in many ways – it faked a 3D experience by adding height differences to the environment and used only 2D sprites. Even now, Doom is remembered for how fast-paced it was, but the original renderer Carmack wrote slowed to a crawl on most systems when rendering complex scenes. Carmack then researched academic papers and implemented a technique known as binary space partitioning – never used before in a game – to dramatically speed up the Doom engine’s renderer. In drastically simplified terms, binary space partitioning enabled the engine to prioritise the rendering of objects based on how close they were to the player, and ‘cull’ or not render areas that were hidden or too far away from the player, thereby shortening render times. This enabled Doom to be very responsive and run at high frame rates on the home computers of that time, without sacrificing graphical fidelity.
A few years after Doom, Carmack observed that the engine technology was id’s key value proposition and that game designing (on top of such engines) could well be managed by ‘a few reasonably clued-in players’.
Ken Silverman took cues from Doom to create the Build (1995) engine at the age of 19. The Build engine refined the illusion of 3D with the ability to look up and down in games such as Duke Nukem 3D (1996), even though these titles were rendered, like Doom, on a 2D plane. Silverman also added tags to parts of the game world – walking over or into these areas would teleport the player, creating the impression of falling down a pit or passing through a tunnel.
Soon after Doom, id released the Quake engine (1996), which featured true 3D real-time rendering and support for 3D hardware acceleration. The engine also used a dynamic shader for moving objects and a static lightmap for stationary bodies. Quake (1996), which was made with the engine, is yet another milestone in gaming.
Bethesda had earlier attempted a true 3D engine of its own, called XnGine (1995), which suffered from bugs and stability issues. Eventually, Bethesda achieved success with the engine by creating the huge, procedurally-generated world of The Elder Scrolls II: Daggerfall (1996), but would eventually abandon XnGine for NetImmerse (1997), the predecessor to Gamebryo.
The developers at id then outdid themselves with id Tech 3 (1998), an upgraded version of the Quake engine that would later power games such as Medal of Honor: Allied Assault (2002) and Call of Duty (2003), and would be licensed to several developers. The engine was simply called the Quake III Arena engine, the game for which id had upgraded their original code base. It featured next-gen graphics using shaders – scripts that determined – and enhanced – the appearance of many in-game objects, surfaces, areas and even character models with accurate shadows, light emission and reflections. Shader code also specified the sound effect associated with a surface, and was also used to identify map sections such as water bodies. The engine was one of the first to allow for curved surface geometry as well. All these innovations – especially the shader system – were computationally expensive and would have crippled the engine’s renderer, which is why the developers implemented the now legendary fast inverse square root algorithm.
The fast inverse square root algorithm quadrupled the speed of calculations for pathfinding, lighting, reflections, and many other game-critical operations. In effect, Quake III Arena (1999) boasted far better performance – with high quality, hardware accelerated graphics – because a piece of code less than 20 lines long sped up calculations performed millions of times per second in games. When id released the source code for the engine in 2005, the code fragment attracted the attention of many programmers, mathematicians and developers because of the accuracy and speed with which it approximated inverse square roots (it had an error margin of about 1%). It is four times as fast as a regular inverse square root calculation, and is almost as fast, though not as accurate, as the current algorithm for approximating inverse square roots.
id created a thriving licensing business on the back of its pioneering game engine, which also powered the developer’s highly successful multiplayer title – Quake III Arena. It may hence seem like id lacked any serious competition at that time, but that was not the case – it was challenged by a relative newcomer – Epic Games’ Unreal Tournament (1999). Epic’s multiplayer title was made with the Unreal Engine, which had first been used to create Unreal (1998), a first-person shooter that had proved successful. The engine itself surpassed id’s technology in key areas, especially graphics, and in the next section, we will discuss the rise of the Unreal Engine, and Unity, another industry standard engine.
Unreal and Unity: The Industry Standard
The Unreal Engine and Unity are currently the industry standard – they provide the ‘digital infrastructure for many of the world’s most popular games’. We will discuss the history of both engines – the first version of the Unreal Engine is a milestone in the development of game engines, and drew praise even from the wizards of id, while Unity rose to prominence by making high-quality tools accessible to indie studios. We will also detail the features that both these engines now offer to developers.
Tim Sweeney, the founder of Epic Games, was no laggard at programming. He coded 90% of the first Unreal Engine for Epic Games’ FPS title, Unreal, which would debut in 1998, although the engine itself was licensed to other developers by 1996.
Initially, UE was designed for software (CPU-based) rendering, but would later be able to make use of dedicated graphics hardware. From the outset, it used 16-bit colour and supported visual effects such as soft shadows, dynamic lights, volumetric fog and texture filtering – many of these features would not only be praised by id’s Carmack, but also acknowledged as milestones that Tim Sweeney reached before id could get there.
Carmack would remark that Unreal had broken the mould with the use of 16-bit real colour – developers would inevitably choose to work with a 16-bit colour palette going forward – and that the engine had raised the bar on what gamers would expect from future games. Carmack had always been one of Sweeney’s heroes – in fact, Sweeney equated Carmack’s innovations in the gaming field with Newton’s contributions to the study of physics. One can only imagine Sweeney’s reaction to Carmack’s praise.
By late 1999, about sixteen projects had been developed using Epic’s engine, including Deus Ex (2000) and The Wheel of Time (1999). Unlike id Software, whose engine business only offered the source code, Epic provided support for licensees and met with them to discuss improvements to its game development engine.
Unreal also provided tools that were more user-friendly for non-engineers, a crucial factor for the Deus Ex developers, whose team included many designers and whose goal for the game was to go beyond the standard FPS.
Fast forward to today and Unreal still enjoys a reputation for creating user-friendly tools that greatly extend the capabilities of developers in creating cutting-edge games. The current version of the Unreal Engine has been hailed as a game changer because of its feature set, is free to use and download (there are premium licensing options as well) and is known for its forgiving learning curve. The engine is free for internal projects, though users will have to pay a 5% royalty fee if and when their product earns over $1 million.
A huge number of games are made with Unreal – there is an exhaustive list in Wikipedia that keeps track of these. Both Unreal Engine 4 and 5, the latest iterations of the game engine, came with major improvements – Unreal Engine 4 introduced the Blueprints system, a versatile visual scripting language that allows developers to prototype game elements and gameplay mechanics quickly by connecting nodes and other basic building blocks.
Released in April 2022, UE 5 features a host of innovations and is already being used by companies to make games – currently, we have access to some eye-watering gameplay footage for several upcoming UE 5 games, an interactive tech demo based on the Matrix universe, and footage of a fan-made Superman game, all of which demonstrate the engine’s myriad capabilities.
UE 5’s tools have brought about some of the most photo-realistic gameplay footage we have yet seen, and we discuss some of the engine’s most important innovations below.
Nanite: This is a ‘virtualised geometry system’ that speeds up the creation of LODs (levels of detail). In any game, objects are rendered at decreasing levels of detail based on how far they are from the player (or how important they are in a game environment). Before Nanite, developers had to author LODs by hand (the engine would then use the appropriate LOD for an object based on the player’s position), but Nanite allows one to import high-quality assets that are automatically rendered at the correct level of complexity with respect to the player’s point-of-view.
Lumen: This utility is used to manage and rapidly update scene lighting – scenes change to reflect time of day accurately, new light sources are immediately integrated into the overall lighting profile, and even sudden flashes of light entering the shot affect the scene realistically.
World Partition System: This utility greatly enhances the Unreal Engine’s functionality in terms of building open worlds. The system uses a grid to map an entire universe into manageable sub-level chunks, which can be loaded and unloaded as a player traverses the landscape. Such sub-levels can be developed by independent teams as well.
UE 5 also has new tools for animation and sound, and can even be used for film and animation production (Unreal Engine 4 is already being used to create the environments for TV shows such as the Mandalorian). It allows for much larger file sizes, supporting even 12k texture files – an important feature considering that games are now played on increasingly higher resolutions. On the whole, UE 5 continues to power the creation of games and media with cutting edge graphics, sound, animations and more.
When he created the first version of the Unreal Engine, Tim Sweeney was going up against his greatest hero, and the Unreal Engine soon became the de facto choice for AAA titles until Epic made it free, allowing a lot of indie and AA studios to use Unreal’s rich toolset. Unity has quite a different story – from the outset it courted indie developers.
Unity is the brainchild of three developers – Nicholas Francis, Joachim Ante, and David Helgason. The company was founded in Copenhagen and the engine began life as a graphics tool for Mac OSX. The team then recruited a diverse group of developers, all of whom brought their own ideas to the table and the result was an engine applicable to a variety of use cases. Immediately, commercialising the product became a priority, especially for use by indie developers, whose main pain point was having to reconstruct an engine for every new game concept.
The creators of Unity felt that their engine would foster creators in the indie game space and democratise game development. They released their first version in 2005, and won an award from Apple for ‘Best Use of Mac OSX Graphics’ the next year. The developers soon provided support for Windows and browsers and the engine grew more sophisticated, eventually allowing the founders to devote their attention full-time to what had essentially begun as a passion project.
It was in 2008 that Unity skyrocketed in popularity, when it became the first engine to provide support for Apple’s new App Store – suddenly, a great many developers wanted to use Unity to make game apps for the App Store and the engine rapidly rose to prominence as iPhones became ever more popular.
Unity 3.0 (2010) was an important inflection point as well – it featured Android support, provided advanced graphics features for desktop and console platforms, and a host of technical upgrades – essentially bringing high-end development tools to indie game makers at very affordable rates. Within two years, Venture Beat observed that ‘few companies had done as much for the flowing of independently produced games as Unity’. Unity has continued to deliver high-end tools to developers who would otherwise have no access to them, and by 2018, CEO John Riccitiello claimed that half of all the games on the market were made using Unity.
Unity now supports over 25 platforms and has long been the darling of indie developers. Unity has an advanced physics engine, integrates with Autodesk asset-creation tools like Maya and 3DX Max, and matches most of what UE offers – recently, it even introduced the Bolt system to compete with Unreal’s Blueprints. However, while even novice programmers can use Blueprints to develop the entire logic of a game, Bolt’s functionality does not extend that far.
Unity has a massive community of users, and learning it is a breeze because of the wealth of tutorials and guides available online – it is known for being beginner-friendly. Like UE, Unity is the engine behind a huge number of games and enables the creation of 2D, 3D, VR and AR content – it now powers lucrative mobile games such as the AR title Pokemon Go, and Call of Duty Mobile.
According to a TechCrunch article, Unity didn’t seek to topple AAA game engines but succeeded in making – and selling – a product ideally suited to the budget and needs of independent studios. Unity’s market grew rapidly when it supported the App Store, and continues to expand thanks to the steady addition of new features.
Though it first rose to prominence as an engine for iOS games, Unity has long been capable of producing AAA-quality titles across platforms. Both Unity 5 (2015) and Unity 2021 have introduced major updates to graphics, sound, lighting, animations and multiplayer, added visual effects such as volumetric fog and global illumination (which make environments more realistic), and integrated techniques such as deferred rendering (an optimised form of rendering that greatly improves framerates), all of which have contributed to the polish of new Unity games.
The engine is still considered best for designing mobile games – the fastest-growing market in gaming – and was ranked as the most popular for mobile game development in a survey by Game Developer. By 2020, Unity had a 50% market share in mobile game development, and a 60% share in VR and AR game development.
Given the overwhelming popularity of both Unreal Engine and Unity, they are the driving force behind a huge number of games – in fact, Unity has edged past Unreal as the most popular game engine because of its use by a growing number of small and medium-sized studios. Both Unreal and Unity come with very flexible licensing options, which have contributed to their widespread use in the gaming industry. As both Unity and Unreal are highly accessible, they are even taught in game design courses.
However, quite a few prominent games are made without using these two engines – major game studios built their own engines to make such titles. We will provide an overview of such engines in the following section.
First-Party Game Engines
Like Unreal and Unity, first-party engines have powered very well-known games. However, these engines are inaccessible to the average user, and developers can get to use them only if they work for the studio that has built it, or partner with the studio or its parent company and develop games for it. Such first-party engines may even lack a name or a versioning system – not much can be found about the specific upgrades each version has received. For instance, it is known that Bethesda’s Creation Engine is a fork of the Gamebryo engine, but no public changelogs exist that track the evolution of the Gamebryo to the Creation Engine.
Be that as it may, such first-party engines have powered some of the greatest games and game franchises ever, from Half-Life 2 (2004) and Skyrim (2011) to Battlefield, Call of Duty and Assassin’s Creed. In this section we will explore the first-party engines that have been critical in creating such titles and franchises.
id Tech first debuted as the Doom engine in 1993 and led to a whole family of game engines based on id’s technology when id was still licensing its engine to other developers. Prior to id Tech 5, the engine had no official designation and was referred to either as the Doom or the Quake engine. The id Tech 5 version was an attempt to revive id’s engine licensing business and compete with the likes of Unreal, but then ZeniMax bought id Software in 2009 and decided to restrict the engine to id’s projects and those of sister studios owned by ZeniMax. Since id Tech 5, the engine has been proprietary, while previous versions have been released under the GPL licence. The latest version, id Tech 7, was used to make Doom Eternal (2020), and it is evident that the engine has come a long way from its predecessors.
The engine behind some of the greatest games ever made, including Half-Life 2 and the Portal series, Source (2004) began life as an updated version of Valve’s GoldSrc engine, which was in turn a highly-modified version of the Quake engine. The Source engine is famous for its accurate simulation of physics and collisions .
Source 2, which featured improved graphics, debuted with the release of Dota 2 Reborn (a remaster of Dota 2) in 2015 and then made a major mark with the release of the VR phenomenon Half Life: Alyx in 2020. Valve’s engine is now showing its age and its graphics look somewhat dated. Source lacks a version numbering scheme, and is improved with incremental updates.
Created by developer Infinity Ward, this proprietary engine has powered the Call of Duty game franchise. Originally based on id Tech 3, the IW engine (2005) has received major updates at a steady rate, allowing CoD titles to have high-quality graphics and state-of-the-art features with each major release. Some have argued, however, that the latest CoD titles lack the quality of their predecessors, but even such naysayers were amazed by the next-gen graphics of Call of Duty: Modern Warfare (2019), which used a rebuilt version of the IW engine.
Anvil (2007) is Ubisoft’s proprietary engine, used primarily for the Assassin’s Creed games, a few Prince of Persia titles, and Tom Clancy’s Ghost Recon Wildlands (2017). Anvil is a powerful engine that made possible the open-world settings, traversal mechanics, and high-fidelity graphics of the original Assassin’s Creed in 2007, and continues to power Assassin’s Creed games, such as Origins (2017), Odyssey (2018) and Valhalla (2020). Consistent updates to Anvil have allowed Ubisoft to transition to fully open world settings for Assassin’s Creed games.
While Anvil was always the engine for the AC games, many of Ubisoft’s other titles were powered using Unreal Engine, until relations soured when Epic doubled the royalty fee Ubisoft had to pay. Ubisoft, in turn, decided to adapt Anvil for projects other than the Assassin’s Creed franchise and Ghost Recon Wildlands became the first title in the Ghost Recon franchise to be made using Ubisoft’s in-house engine. Anvil was also used to make the sports games Steep (2016) and Riders Republic (2021) and the proprietary engine will power the upcoming Prince of Persia: Sands of Time remake as well.
The Frostbite engine was first used in 2008 to create Battlefield: Bad Company – earlier Battlefield games were made using other engines. The engine has powered all Battlefield games since the release of Battlefield 3 in 2011.
Created by EA developer DICE, Frostbite is one of the few first-party game engines to receive criticism from a developer that used it. EA subsidiary Bioware has publicly declared that the development of Dragon Age: Inquisition (2014), Mass Effect: Andromeda (2017) and Anthem (2019) was hamstrung because of EA’s directive to use Frostbite – an FPS-centric engine – for Bioware’s markedly different games. While Dragon Age: Inquisition did prove successful, Andromeda and Anthem tanked.
Criticisms aside, Frostbite is still known for powering the games of major franchises such as Fifa, Madden and Battlefield, many of which have tight, annual release schedules.
The Creation Engine powered the development of Skyrim (2011), Fallout 4 (2016) and Fallout 76 (2018). A modified version of the Gamebryo engine, which was used to make Oblivion (2006), the Creation Engine enabled Bethesda to greatly extend the scope and breadth of Skyrim as compared to Oblivion, resulting in one of the greatest open-world games ever made. Bethesda also updated the engine to bring more realistic and high-quality graphics to Fallout 4.
While the engine was able to meet the higher graphics standards for Fallout 4, Bethesda struggled to update the engine to support the multiplayer Fallout 76. During the making of Fallout 76, developers and QA testers were forced into crunch mode, attempting to create a multiplayer, live-service experience from a tool that had hitherto only powered single-player games. Fallout 76 had a disastrous start, in part because there were no NPCs at launch due to the Creation Engine’s limitations. The game has considerably improved since, but not without taking its toll on the staff involved.
Decima is a proprietary engine created by the Dutch developer Guerilla Games and was first used for Killzone: Shadow Fall (2013), a PS4 launch title. The engine stood out because of the high-quality graphics featured in Killzone and was then used to make the PlayStation VR game Until Dawn: Rush of Blood (2015) – the engine is primarily associated with the development of PlayStation games.
The engine was heavily modified to power Guerilla Games’ ambitious Horizon Zero Dawn (2017) project, which featured a fully-open world teeming with animal automatons – a far cry from a ‘corridor shooter’ like Killzone, wherein players are funnelled through a narrow path from one game location to another.
Throughout these years, Guerilla had no official name for the engine, until they shared their tech with Hideo Kojima when he visited the studio – Kojima was then coming to terms with splitting from Konami and was profoundly grateful to Guerilla for sharing the engine with him. Guerilla, in turn, had great respect for Kojima and his team, and decided to name the engine ‘Decima’, based on Dejima, a Japanese island where the Dutch and the Japanese traded during the 17th century. Kojima’s first game after parting ways with Konami – Death Stranding (2019) – was the result of collaboration between Guerilla and Kojima Productions, and both Horizon Zero Dawn and Death Stranding contain references to each other.
Since the ’90s, game engines have been the driving force behind just about every game released on the market. In our early history of game engines we see an unbroken line of innovation from John Carmack and John Romero to Tim Sweeney and the makers of Unity. We have also seen the steady rise to prominence of Unreal Engine and Unity as the two most popular game engines on the market, both having low barriers to entry. The number of games made using these engines is mind-boggling, and they are hence behind some of the best and worst titles ever made.
Games made with an engine may vary in quality, but the game engine itself is a powerhouse that arguably allows developers to meet the cripplingly harsh annual release schedule for many major games, and also develop amazing titles when working under longer development cycles. By sparing developers the chore of reinventing the wheel, game engines not only make their lives easier, but also enrich the lives of gamers, who demand – and enjoy – games that constantly push the envelope in terms of graphics and gameplay.
Gameopedia works with clients across the industry on custom requests and can provide in-depth data about game engines. Reach out to us for data that can yield novel insights about the software frameworks that power the creation of games.