HOME

TheInfoList



OR:

A game engine is a
software framework In computer programming, a software framework is a software abstraction that provides generic functionality which developers can extend with custom code to create applications. It establishes a standard foundation for building and deploying soft ...
primarily designed for the development of
video game A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
s which generally includes relevant
libraries A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
and support programs such as a level editor. The "engine" terminology is akin to the term " software engine" used more widely in the
software industry The software industry includes businesses for development, maintenance and publication of software that are using different business models, mainly either "license/maintenance based" (on-premises) or " Cloud based" (such as SaaS, PaaS, IaaS, ...
. ''Game engine'' can also refer to the development software supporting this framework, typically a suite of tools and features for developing games. Developers can use game engines to construct games for
video game console A video game console is an electronic device that Input/output, outputs a video signal or image to display a video game that can typically be played with a game controller. These may be home video game console, home consoles, which are generally ...
s and other types of
computer A computer is a machine that can be Computer programming, programmed to automatically Execution (computing), carry out sequences of arithmetic or logical operations (''computation''). Modern digital electronic computers can perform generic set ...
s. The core functionality typically provided by a game engine may include a rendering engine ("renderer") for 2D or 3D
graphics Graphics () are visual images or designs on some surface, such as a wall, canvas, screen, paper, or stone, to inform, illustrate, or entertain. In contemporary usage, it includes a pictorial representation of the data, as in design and manufa ...
, a
physics engine A physics engine is computer software that provides an approximate simulation of certain physical systems, typically classical dynamics, including rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics. I ...
or collision detection (and collision response),
sound In physics, sound is a vibration that propagates as an acoustic wave through a transmission medium such as a gas, liquid or solid. In human physiology and psychology, sound is the ''reception'' of such waves and their ''perception'' by the br ...
, scripting,
animation Animation is a filmmaking technique whereby still images are manipulated to create moving images. In traditional animation, images are drawn or painted by hand on transparent celluloid sheets to be photographed and exhibited on film. Animati ...
,
artificial intelligence Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
, networking, streaming,
memory management Memory management (also dynamic memory management, dynamic storage allocation, or dynamic memory allocation) is a form of Resource management (computing), resource management applied to computer memory. The essential requirement of memory manag ...
, threading, localization support, scene graph, and video support for cinematics. Game engine implementers often economize on the process of game development by reusing/adapting, in large part, the same game engine to produce different games or to aid in porting games to multiple platforms.


Purpose

In many cases, game engines provide a suite of visual development tools in addition to reusable software components. These tools are generally provided in an
integrated development environment An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
to enable simplified, rapid development of games in a
data-driven Data ( , ) are a collection of discrete or continuous value (semiotics), values that convey information, describing the quantity, qualitative property, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols t ...
manner. Game-engine developers often attempt to preempt implementer needs by developing robust software suites which include many elements a game developer may need to build a game. Most game-engine suites provide facilities that ease development, such as graphics, sound, physics and
artificial intelligence Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
(AI) functions. These game engines are sometimes called " middleware" because, as with the business sense of the term, they provide a flexible and reusable software platform which provides all the core functionality needed, right out of the box, to develop a game application while reducing costs, complexities, and time-to-market—all critical factors in the highly competitive video game industry. Like other types of middleware, game engines usually provide platform
abstraction Abstraction is a process where general rules and concepts are derived from the use and classifying of specific examples, literal (reality, real or Abstract and concrete, concrete) signifiers, first principles, or other methods. "An abstraction" ...
, allowing the same game to run on various platforms (including game consoles and personal computers) with few, if any, changes made to the game
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
. Often, programmers design game engines with a component-based architecture that allows specific systems in the engine to be replaced or extended with more specialized (and often more expensive) game-middleware components. Some game engines comprise a series of loosely connected game middleware components that can be selectively combined to create a custom engine, instead of the more common approach of extending or customizing a flexible integrated product. However achieved,
extensibility Extensibility is a software engineering and systems design principle that provides for future growth. Extensibility is a measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be t ...
remains a high priority for game engines due to the wide variety of uses for which they are applied. Despite the specificity of the name "game engine", end-users often re-purpose game engines for other kinds of interactive applications with real-time graphical requirements—such as marketing demos, architectural visualizations, training simulations, and
model A model is an informative representation of an object, person, or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin , . Models can be divided in ...
ing environments. Some game engines only provide real-time 3D rendering capabilities instead of the wide range of functionality needed by games. These engines rely upon the game developer to implement the rest of this functionality or to assemble it from other game-middleware components. These types of engines are generally referred to as a "graphics engine", "rendering engine", or "3D engine" instead of the more encompassing term "game engine". This terminology is inconsistently used, as many full-featured 3D game engines are referred to simply as "3D engines". Examples of graphics engines include: Crystal Space, Genesis3D, Irrlicht, OGRE, RealmForge, Truevision3D, and Vision Engine. Modern game- or graphics-engines generally provide a scene graph—an object-oriented representation of the 3D game-world which often simplifies game design and can be used for more efficient rendering of vast virtual worlds. Most game engines or graphics engines use a Graphics API, which eases communication with the GPU. But older games did not have hardware acceleration or GPUs and had to build their own software renderer. As technology ages, the components of an engine may become outdated or insufficient for the requirements of a given
project A project is a type of assignment, typically involving research or design, that is carefully planned to achieve a specific objective. An alternative view sees a project managerially as a sequence of events: a "set of interrelated tasks to be ...
. Since the complexity of programming an entirely new engine may result in unwanted delays (or necessitate that a project restart from the beginning), an engine-development team may elect to update their existing engine with newer functionality or components. Game engines are not limited to use in the video game field, and have found uses in other scientific fields. Part of this is due to game engines being optimized for consumer-grade computing equipment rather than high-performance computing, allowing researchers to develop programs for their use on lower cost machines. Game engines also simplify many of the computing operations needed for scientific software, including graphics, networking, and interactivity, reducing the need to develop these features themselves.


History

Before game engines, games were typically written as singular entities: a game for the Atari 2600, for example, had to be designed from the bottom up to make optimal use of the display hardware—this core display routine is today called the kernel by developers of games for older systems. Other platforms had more leeway, but even when the display was not a concern, memory constraints usually sabotaged attempts to create the data-heavy design that an engine needs. Even on more accommodating platforms, very little could be reused between games. The rapid advance of arcade hardware—which was the leading edge of the market at the time—meant that most of the code would have to be thrown out afterwards anyway, as later generations of games would use completely different game designs that took advantage of extra resources. Thus most game designs through the 1980s were designed through a hard-coded rule set with a small number of levels and graphics data. Since the golden age of arcade video games, it became common for video game companies to develop in-house game engines for use with first-party software. A notable example of an in-house game engine on home consoles in the mid-1980s was the smooth side-scrolling engine developed by
Shigeru Miyamoto is a Japanese video game designer, video game producer, producer and Creative director#Video games, game director at Nintendo, where he has served as one of its representative directors as an executive since 2002. Widely regarded as one o ...
's team at
Nintendo is a Japanese Multinational corporation, multinational video game company headquartered in Kyoto. It develops, publishes, and releases both video games and video game consoles. The history of Nintendo began when craftsman Fusajiro Yamauchi ...
for the
Nintendo Entertainment System The Nintendo Entertainment System (NES) is an 8-bit home video game console developed and marketed by Nintendo. It was first released in Japan on 15 July 1983 as the and was later released as the redesigned NES in several test markets in the ...
(NES). The engine they had developed for the side-scrolling
racing game Racing games are a video game genre in which the player participates in a motor racing, racing competition. They may be based on anything from real-world racing leagues to fantastical settings. They are distributed along a spectrum between more re ...
'' Excitebike'' (1984) was later employed for the scrolling
platformer A platformer (also called a platform game, and sometimes a jump 'n' run game) is a subgenre of action game in which the core objective is to move the player character between points in an environment. Platform games are characterized by levels wi ...
'' Super Mario Bros.'' (1985). This had the effect of allowing
Mario Mario (; ) is a Character (arts), character created by the Japanese game designer Shigeru Miyamoto. He is the star of the ''Mario (franchise), Mario'' franchise, a recurring character in the ''Donkey Kong'' franchise, and the mascot of the Ja ...
to smoothly accelerate from a walk to a run, rather than move at a constant speed like in earlier platformers. While third-party game engines were not common up until the rise of
3D computer graphics 3D computer graphics, sometimes called Computer-generated imagery, CGI, 3D-CGI or three-dimensional Computer-generated imagery, computer graphics, are graphics that use a three-dimensional representation of geometric data (often Cartesian coor ...
in the 1990s, there were several 2D game creation systems produced in the 1980s for independent video game development. These include '' Pinball Construction Set'' (1983),
ASCII ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
's ''War Game Construction Kit'' (1983), '' Thunder Force Construction'' (1984), '' Adventure Construction Set'' (1984),
Garry Kitchen's GameMaker ''Garry Kitchen's GameMaker'' is an integrated development environment for the Commodore 64, Apple II, and IBM PC compatibles, created by Garry Kitchen and released by Activision in 1985. It is one of the earliest all-in-one game design product ...
(1985), '' Wargame Construction Set'' (1986), '' Shoot-'Em-Up Construction Kit'' (1987), '' Arcade Game Construction Kit'' (1988), and most popularly ASCII's ''
RPG Maker ''RPG Maker'', known in Japan as , is a series of programs for the development of role-playing video games (RPGs) with genre-driven varieties as well as machinima, originally created by the Japanese group ASCII. The Japanese name, ''Tsukūru'', ...
'' engines from 1998 onward. Klik & Play (1994) is another legacy offering that is still available. The term "game engine" arose in the mid-1990s, especially in connection with 3D games such as
first-person shooter A first-person shooter (FPS) is a video game genre, video game centered on gun fighting and other weapon-based combat seen from a First person (video games), first-person perspective, with the player experiencing the action directly through t ...
s with a
first-person shooter engine A first-person shooter engine is a game engine, video game engine specialized for simulating 3D graphics, 3D environments for use in a first-person shooter video game. First-person refers to the view where the players see the world from the eyes o ...
. Epic games, founded by developer Tim Sweeney, debuted Unreal Engine in the year 1998. Such was the popularity of
Id Software id Software LLC () is an American video game developer based in Richardson, Texas. It was founded on February 1, 1991, by four members of the computer company Softdisk: game programmer, programmers John Carmack and John Romero, game designer T ...
's '' Doom'' and '' Quake'' games that, rather than work from scratch, other developers licensed the core portions of the software and designed their own graphics, characters, weapons and
level Level or levels may refer to: Engineering *Level (optical instrument), a device used to measure true horizontal or relative heights * Spirit level or bubble level, an instrument designed to indicate whether a surface is horizontal or vertical *C ...
s—the "game content" or "game assets". Separation of game-specific rules and data from basic concepts like collision detection and game entity meant that teams could grow and specialize. Later games, such as
id Software id Software LLC () is an American video game developer based in Richardson, Texas. It was founded on February 1, 1991, by four members of the computer company Softdisk: game programmer, programmers John Carmack and John Romero, game designer T ...
's '' Quake III Arena'' and
Epic Games Epic Games, Inc. is an American Video game developer, video game and software development, software developer and video game publisher, publisher based in Cary, North Carolina. The company was founded by Tim Sweeney (game developer), Tim Sween ...
's 1998 '' Unreal'' were designed with this approach in mind, with the engine and content developed separately. The practice of licensing such technology has proved to be a useful auxiliary revenue stream for some game developers, as one license for a high-end commercial game engine can range from $10,000 to millions of dollars, and the number of licensees can reach several dozen companies, as seen with the
Unreal Engine Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter video game '' Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of ...
. At the very least, reusable engines make developing game sequels faster and easier, which is a valuable advantage in the competitive video game industry. While there was a strong rivalry between Epic and id around the year 2000, since then Epic's Unreal Engine has been far more popular than
id Tech 4 id Tech 4, popularly known as the ''Doom 3'' engine, is a game engine developed by id Software and first used in the video game ''Doom 3''. The engine was designed by John D. Carmack, John Carmack, who also created previous game engines, such a ...
and its successor
id Tech 5 id Tech 5 is a proprietary software, proprietary game engine developed by id Software. It followed its predecessors, id Tech 1, id Tech 2, 2, id Tech 3, 3 and id Tech 4, 4, all of which had subsequently been published under the GNU General Publi ...
. Modern game engines are some of the most complex applications written, often featuring dozens of finely tuned systems interacting to ensure a precisely controlled user experience. The continued evolution of game engines has created a strong separation between rendering, scripting, artwork, and
level design In video games, a level (also referred to as a map, mission, stage, course, or round in some older games) is any space available to the player during the course of completion of an objective. Video game levels generally have progressively incre ...
. It is now common, for example, for a typical game development team to have several times as many artists as actual programmers. First-person shooter games remain the predominant users of third-party game engines, but they are now also being used in other genres. For example, the
role-playing video game Role-playing video games, also known as CRPG (computer/console role-playing games), comprise a broad video game genre generally defined by a detailed story and character advancement (often through increasing characters' levels or other skills) ...
'' The Elder Scrolls III: Morrowind'' and the
MMORPG A massively multiplayer online role-playing game (MMORPG) is a video game that combines aspects of a role-playing video game and a massively multiplayer online game. As in role-playing games (RPGs), the player assumes the role of a Player charac ...
'' Dark Age of Camelot'' are based on the Gamebryo engine, and the MMORPG '' Lineage II'' is based on the Unreal Engine. Game engines are used for games originally developed for home consoles as well; for example, the RenderWare engine is used in the ''
Grand Theft Auto ''Grand Theft Auto'' (''GTA'') is an action-adventure video game series created by David Jones and Mike Dailly. Later titles were developed under the oversight of brothers Dan and Sam Houser, Leslie Benzies and Aaron Garbut. It is prima ...
'' and '' Burnout'' franchises. Threading is taking on more importance due to modern multi-core systems (e.g. Cell) and increased demands in realism. Typical threads involve rendering, streaming, audio, and physics. Racing games have typically been at the forefront of threading with the physics engine running in a separate thread long before other core subsystems were moved, partly because rendering and related tasks need updating at only 30–60 Hz. For example, on PlayStation 3, physics ran in '' Need For Speed'' at 100 Hz versus '' Forza Motorsport 2'' at 360 Hz. Although the term was first used in the 1990s, there are a few earlier systems in the 1980s that are also considered to be game engines, such as Sierra's Adventure Game Interpreter (AGI) and SCI systems, LucasArts' SCUMM system and Incentive Software's Freescape engine (in 1986). Unlike most modern game engines, these game engines were never used in any third-party products (except for the SCUMM system which was licensed to and used by
Humongous Entertainment Humongous, Inc. (formerly Humongous Entertainment, Inc.) was an American video game developer based in Bothell, Washington. Founded in 1992, the company developed multiple edutainment franchises, most prominently ''Putt-Putt (series), Putt-Putt' ...
). As game engine technology matures and becomes more user-friendly, the application of game engines has broadened in scope. They are now being used for
serious game A serious game or applied game is a game designed for a primary purpose other than pure entertainment. The "serious" adjective is generally prepended to refer to video games used by industries like defense, education, scientific exploration, he ...
s: visualization, training, medical, and
military simulation Military simulations, also known informally as war games, are simulations in which theories of warfare can be tested and refined without the need for actual hostilities. Military simulations are seen as a useful way to develop Military tactics, t ...
applications, with the
CryEngine CryEngine (stylized as CRYENGINE) is a game engine designed by the German game developer Crytek. It has been used in all of their titles with the initial version being used in ''Far Cry (video game), Far Cry'', and continues to be updated to sup ...
being one example. To facilitate this accessibility, new hardware platforms are now being targeted by game engines, including
mobile phone A mobile phone or cell phone is a portable telephone that allows users to make and receive calls over a radio frequency link while moving within a designated telephone service area, unlike fixed-location phones ( landline phones). This rad ...
s (e.g. Android phones,
iPhone The iPhone is a line of smartphones developed and marketed by Apple that run iOS, the company's own mobile operating system. The first-generation iPhone was announced by then–Apple CEO and co-founder Steve Jobs on January 9, 2007, at ...
) and
web browser A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
s (e.g.
WebGL WebGL (short for Web Graphics Library) is a JavaScript Application programming interface, API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-in (computing), plug-ins. WebGL is fully integra ...
,
Shockwave In physics, a shock wave (also spelled shockwave), or shock, is a type of propagating disturbance that moves faster than the local speed of sound in the medium. Like an ordinary wave, a shock wave carries energy and can propagate through a me ...
, Flash, Trinigy's WebVision, Silverlight, Unity Web Player, O3D and pure
DHTML Dynamic HTML, or DHTML, is a term which was used by some browser vendors to describe the combination of HTML, style sheets and client-side scripts (JavaScript, VBScript, or any other supported scripts) that enabled the creation of interactiv ...
). Additionally, more game engines are being built upon higher level languages such as
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
and C#/
.NET The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
(e.g. TorqueX, and Visual3D.NET), Python ( Panda3D), or Lua Script (Leadwerks). As most 3D rich games are now mostly GPU-limited (i.e. limited by the power of the graphics card), the potential slowdown due to translation overheads of higher level languages becomes negligible, while the productivity gains offered by these languages work to the game engine developers' benefit. These recent trends are being propelled by companies such as
Microsoft Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
to support indie game development. Microsoft developed XNA as the SDK of choice for all video games released on Xbox and related products. This includes the Xbox Live Indie Games channel designed specifically for smaller developers who do not have the extensive resources necessary to box games for sale on retail shelves. It is becoming easier and cheaper than ever to develop game engines for platforms that support managed frameworks.


Game engines as an industry

Producers of game engines decide how they allow users to utilize their products. Just as gaming is an industry, so are the engines they are built off. The major game engines come at varying prices, whether it be in the form of subscription fees or license payments. Unity and the
Unreal Engine Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter video game '' Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of ...
are currently the two most popular choices for game developers. Although the differences among the different game engines blur as they build their own tools on top of them, different game developers may be too used to a system to change, or attracted by the huge benefits of such engines regardless of pay-walls.


Game middleware

In the broader sense of the term, game engines themselves can be described as middleware. In the context of video games, however, the term "middleware" is often used to refer to subsystems of functionality within a game engine. Some game middleware does only one thing but does it more convincingly or more efficiently than general purpose middleware. The four most widely used middleware packages that provide subsystems of functionality include RAD Game Tools' Bink, Firelight FMOD, Havok, and Scaleform GFx. RAD Game Tools develops Bink for basic video rendering, along with Miles audio, and Granny 3D rendering. Firelight FMOD is a low cost robust audio library and toolset. Havok provides a robust physics simulation system, along with a suite of animation and behavior applications. Scaleform provides GFx for high performance Flash UI and high-quality video playback, and an
Input Method Editor An input method (or input method editor, commonly abbreviated IME) is an operating system component or program that enables users to generate characters not natively available on their input devices by using sequences of characters (or mouse ope ...
(IME) add-on for in-game Asian chat support. Other middleware is used for performance optimisation—for example ' Simplygon' helps to optimise and generate level of detail meshes, and ' Umbra' adds occlusion culling optimisations to 3D graphics. Some middleware contains full
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
, others just provide an
API An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
reference for a compiled binary
library A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
. Some middleware programs can be licensed either way, usually for a higher fee for full source code.


See also

*
3D computer graphics 3D computer graphics, sometimes called Computer-generated imagery, CGI, 3D-CGI or three-dimensional Computer-generated imagery, computer graphics, are graphics that use a three-dimensional representation of geometric data (often Cartesian coor ...
*
Authoring system An authoring system is a program that has pre-programmed elements for the development of interactive multimedia software titles. Authoring systems can be defined as software that allows its user to create multimedia applications for manipulating m ...
* Game physics *
List of first-person shooter engines This is a sortable list of first-person shooter engines. Early 1970s - Late 1980s: wireframes to flat-shaded 3D Early 1990s: 2.5D environments and textures Mid 1990s: 3D texture mapping , beginnings of hardware acceleration Late 1990s: 32 ...
* List of game engines * List of game middleware * Virtual studio


References


External links

* {{Authority control Video game development Video game engines