A game engine is the core software component of a computer video game or other interactive application with real-time graphics. A video game is a Game that involves interaction with a User interface to generate visual feedback on a video device. Real-time computer graphics is the subfield of Computer graphics focused on producing and analyzing images in real time. It provides the underlying technologies, simplifies development, and often enables the game to run on multiple platforms such as game consoles and desktop operating systems such as Linux, Mac OS X, and Microsoft Windows. Linux (commonly pronounced ˈlɪnəks Mac OS X (mæk oʊ ɛs tɛn is a line of computer Operating systems developed marketed and sold by Apple Inc, the latest of which is pre-loaded on all currently Microsoft Windows is a series of Software Operating systems and Graphical user interfaces produced by Microsoft. The core functionality typically provided by a game engine includes a rendering engine (“renderer”) for 2D or 3D graphics, a physics engine or collision detection (and collision response), sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading, and a scene graph. 2D computer graphics is the Computer -based generation of Digital images mdashmostly from two-dimensional models (such as 2D geometric models text and digital 3D computer graphics (in contrast to 2D computer graphics) are graphics that use a three-dimensional representation of geometric data that is stored in the computer Computer graphics are Graphics created by Computers and more generally the Representation and Manipulation of Pictorial Data A physics engine is a Computer program that simulates Newtonian physics models using variables such as Mass, Velocity, Friction and In Physical simulations Video games and Computational geometry, collision detection involves algorithms for checking for Collision, i Sound' is Vibration transmitted through a Solid, Liquid, or Gas; particularly sound means those vibrations composed of Frequencies "Scripting" redirects here For other uses see Script. Computer-generated imagery Computer animation is the art of creating moving images with the use of Computers It is a subfield of Computer graphics Game artificial intelligence refers to techniques used in computer and video games to produce the Illusion of intelligence in the behavior of Non-player Computer networking is the Engineering Discipline concerned with communication between Computer systems or devices Networking routers A scene graph is a general Data structure commonly used by vector-based graphics editing applications and modern computer games The process of game development is frequently economized by in large part reusing the same game engine to create different games. Game development is the process by which a Game is produced Today this term most commonly refers to the development of Video games Overview Development
Contents |
Game engines provide a suite of visual development tools in addition to reusable software components. A game development tool is a specialized Software application that assists or facilitates the making of a computer or video game. These tools are generally provided in an integrated development environment to enable simplified, rapid development of games in a data-driven manner. In Computing, an integrated development environment ( IDE) is a Software application that provides comprehensive facilities to Computer programmers Rapid application development ( RAD) is a Software development process, which involves iterative development and the construction of Prototypes In Computer science, data-driven design is the result of adapting abstract data type design methods to Object-oriented programming (Wirfs-Brock & Wilkerson 1989 These games engines are sometimes called "game 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. Middleware is computer Software that connects Software components or applications The video game industry (formally referred to as Interactive entertainment) is the economic sector involved with the development, Marketing
Like other middleware solutions, game engines usually provide platform abstraction, allowing the same game to be run on various platforms including game consoles and personal computers with few, if any, changes made to the game source code. In Computing, a platform describes some sort of Hardware architecture or Software framework (including Application frameworks, that allows In Computer science, source code (commonly just source or code) is any sequence of statements or declarations written in some Human-readable Often, game middleware is designed with a component-based architecture that allows specific systems in the engine to be replaced or extended with more specialized (and often more expensive) middleware components such as Havok for physics, FMOD for sound, or SpeedTree for rendering. Component-based software engineering (CBSE (also known as Component-Based Development (CBD or Software Componentry) is a branch of the Software engineering Havok Physics, better known as simply Havok, is a Physics engine developed by Irish company Havok. FMOD is a commercial audio library made by Firelight Technologies that plays music files of diverse formats on many different platforms. SpeedTree is a programming package produced by Interactive Data Visualization Inc Some game engines such as RenderWare are even designed as a series of loosely connected 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 solution. RenderWare ( RW) is computer and Video game middleware from Criterion Software. However extensibility is achieved, it remains a high priority in games engines due to the wide variety of uses for which they are applied. In Software engineering, extensibility (sometimes confused with Forward compatibility) is a System design principle where the implementation takes into Despite the specificity of the name, game engines are often used for other kinds of interactive applications with real-time graphical requirements such as marketing demos, architectural visualizations, training simulations, and modeling environments.
Some game engines only provide real-time 3D rendering capabilities instead of the wide range of functionality required by games. These engines rely upon the game developer to implement the rest of this functionality or assemble it from other game middleware components. A video game developer is a software developer (a business or an individual that creates Video games A developer may specialize in a certain video 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. " However, this terminology is inconsistently used as many full-featured 3D game engines are referred to simply as "3D engines. " A few examples of graphics engines are: RealmForge, Ogre, Power Render, Crystal Space, Genesis3D, Irrlicht and JMonkey Engine. RealmForge is a free and open-source Game engine for the Microsoft. An ogre (feminine ogress) is a large cruel and hideous Humanoid Monster, featured in mythology folklore and fiction Crystal Space is a framework for developing 3D applications written in C++ by Jorrit Tyberghein and others Genesis3D was a project by Eclipse Entertainment to create a real-time 3D engine for Microsoft Windows. jMonkey Engine ( jME) is a Java scenegraph API. Its primary focus is high-performance 3D gaming Modern game or graphics engines generally provide a scene graph, which is 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. A scene graph is a general Data structure commonly used by vector-based graphics editing applications and modern computer games
Most often, 3D engines or the rendering systems in game engines are built upon a graphics API such as Direct3D or OpenGL which provides a software abstraction of the GPU or video card. Direct3D is part of Microsoft 's DirectX API. Direct3D is only available for Microsoft's various Windows Operating systems ( Windows OpenGL ( Open G raphics L ibrary is a standard specification defining a cross-language Cross-platform API for writing applications that produce Low-level libraries such as DirectX, SDL, and OpenAL are also commonly used in games as they provide hardware-independent access to other computer hardware such as input devices (mouse, keyboard, and joystick), network cards, and sound cards. Microsoft DirectX is a collection of Application programming interfaces (APIs for handling tasks related to Multimedia, especially Game programming and Simple DirectMedia Layer ( SDL) is a cross-platform Free and open source software multimedia library written in C that presents a simple interface OpenAL ( Open A udio L ibrary is a Free software cross-platform audio API. Typical PC hardware A typical Personal computer consists of a case or chassis in a tower shape (desktop and the following parts Motherboard Before hardware-accelerated 3D graphics, software renderers had been used. Software rendering is still used in some modeling tools or for still-rendered images when visual accuracy is valued over real-time performance (frames-per-second) or when the computer hardware does not meet requirements such as shader support or, in the case of Windows Vista, support for Direct3D 10. A shader in the field of Computer graphics is a set of software instructions which is used by the graphic resources primarily to perform rendering effects Windows Vista (ˈvɪstə is a line of Operating systems developed by Microsoft for use on Personal computers including home and business desktops Microsoft DirectX is a collection of Application programming interfaces (APIs for handling tasks related to Multimedia, especially Game programming and
With the advent of hardware accelerated physics processing various physics API such as COLLADA and PAL became available to provide a software abstraction of the Physics processing unit of different middleware providers and console platforms. COLLADA is a COLLA borative D esign A ctivity for establishing an Interchange File format for interactive 3D applications The Physics Abstraction Layer ( PAL) is an Open source Cross platform Physical simulation API abstraction system A physics processing unit ( PPU) is a dedicated Microprocessor designed to handle the calculations of Physics, especially in the Physics engine
Prior to game engines, games were typically written as singular entities: a game for the Atari 2600, for example, had to be designed from the ground up to make the most optimal use of the display hardware—this core display routine is today called the kernal by retro developers. The Atari 2600 is a Video game console released in October 1977 This article is about Commodore's 8-bit OS software Kernal is also a common misspelling of Kernel. 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 requires. Even on more accommodating platforms, very little could be reused between games. The rapid advance of arcade hardware—the bleeding edge of the market—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 architected through a hard-coded ruleset with a small amount of level and graphics data. The 1980s was the decade spanning from January 1 1980 to December 31 1989.
The term "game engine" arose in the mid-1990s, especially in connection with 3D games such as first-person shooters (FPS). The 1990s collectively refers to the years between and including 1990 and 1999 A first-person shooter ( FPS) is an action Video game from the Shooter game The initial development of Maze War (See also: first-person shooter engine). A first-person shooter engine simulates a 3D graphics environment for use in a First-person shooter Computer or video game. Such was the popularity of id Software'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 levels—the "game content" or "game assets. id Software (ɪd officially is an American computer game developer based in Mesquite, Texas, a suburb of Dallas. Doom (officially cased DOOM) is a 1993 Computer game by Id Software that is a landmark title in the First-person shooter Quake is a First-person shooter Computer game that was released by Id Software on June 22, 1996. A video game developer is a software developer (a business or an individual that creates Video games A developer may specialize in a certain video " 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 Quake III Arena and Epic Games's 1998 Unreal were designed with this approach in mind, with the engine and content developed separately. In Physical simulations Video games and Computational geometry, collision detection involves algorithms for checking for Collision, i An entity is something that has a distinct separate Existence, though it need not be a material existence Quake III Arena or Quake 3, abbreviated as Q3A or Q3, is a Multiplayer First-person shooter Epic Games, also known as Epic and formerly as Epic MegaGames, is a Video game development company based in Cary North Carolina, United Year 1998 ( MCMXCVIII) was a Common year starting on Thursday (link will display full 1998 Gregorian calendar) Unreal is a First-person shooter Computer game developed by Epic Games and Digital Extremes and published by GT Interactive The practice of licensing such technology has proved to be a useful auxiliary revenue stream for some game developers, as a single license for a high-end commercial game engine can range from US$10,000 to $3,750,000 (in the case of Warcraft III), and the number of licensees can reach several dozen companies (as for the Unreal Engine). Technology is a broad concept that deals with a Species ' usage and knowledge of Tools and Crafts and how it affects a species' ability to control and adapt Warcraft III Reign of Chaos ( War3 or WC3 or RoC) is a Real-time strategy Computer game The Unreal Engine is a popular Game engine developed by Epic Games. At the very least, reusable engines make developing game sequels faster and easier, which is a valuable advantage in the competitive computer game industry. The video game industry (formally referred to as Interactive entertainment) is the economic sector involved with the development, Marketing
Modern game engines are some of the most complex applications written, frequently featuring dozens of finely tuned systems interacting to ensure a finely controlled user experience. The continued refinement of game engines has created a strong separation between rendering, scripting, artwork, and level design. Level design or game mapping is the creation of levels mdashlocales stages or missions&mdashfor a Video game (such as a Console game or It is now common (as of 2003), for example, for a typical game development team to have several times as many artists as actual programmers. Year 2003 ( MMIII) was a Common year starting on Wednesday of the Gregorian calendar.
First-person shooter games remain the predominant users of third-party game engines, but they are now also being used in other genres. See also [[Game classification]] Video games are categorized into Genres based on their Gameplay interaction For example, the RPG Morrowind and the MMORPG Dark Age of Camelot are based on the NetImmerse engine, and the MMORPG Lineage II is based on the Unreal Engine. A computer role-playing game ( CRPG) is a broad Video game genre originally developed for personal computers and other home computers The Elder Scrolls III Morrowind, commonly referred to simply as Morrowind, is a Single player Computer role-playing game A massively multiplayer online role-playing game ( MMORPG) is a genre of Computer role-playing games (CRPGs in which a large number of players interact with Dark Age of Camelot is a 3D Medieval Fantasy MMORPG that revolves around the war between three realms at the end of Gamebryo is computer and video games middleware, originally from Numerical Design Limited (NDL and is the successor to NDL's NetImmerse engine Lineage II The Chaotic Throne (리니지 2 is a Fantasy Massive multiplayer online role-playing game ( MMORPG) for the PC and a 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 and Burnout franchises. RenderWare ( RW) is computer and Video game middleware from Criterion Software. Grand Theft Auto III (abbreviated as GTA III) is a sandbox-style action-adventure computer and Video game Burnout, also known as Shiny Red Car (working title The GameCube version was released in North America on April 29[[ 002]] and Europe on May 3
Threading is taking on more importance due to modern multi-core systems (i. e. Sony's PPE) and increased demands in realism. Cell is a Microprocessor architecture jointly developed by Sony Computer Entertainment, Toshiba, and IBM, an 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 sub-systems were moved, partly because rendering and related tasks only require updating at 30-60 Hz. For example, Need For Speed on the Playstation ran its physics at 100 Hz as compared to Forza Motorsport 2 running its physics at 360 Hz. Need For Speed ( NFS) is a series of racing Video games developed by Canadian based company EA Black Box
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 AGI and SCI systems, LucasArts' SCUMM system and Incentive Software's Freescape engine. The 1990s collectively refers to the years between and including 1990 and 1999 AGI ( A dventure G ame I nterpreter was the development tool used by Sierra Online to create their early Adventure games The first Sierra's Creative Interpreter (SCI is the Scripting language created by Jeff Stephenson of Sierra On-Line for its Adventure games after the older AGI SCUMM ( Script Creation Utility for Maniac Mansion) is a scripting language developed at LucasArts (known at the time as Lucasfilm Games to ease development Incentive Software Ltd was a British Video game developer and publisher founded by Ian Andrew in 1983 The Freescape engine is an early 3D Game engine used in games such as 1987 's Driller. However, 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 is an American Video game developer. The company is known for its line of educational sports games for Children that Atari owns from
Some companies now specialize in developing software suites known as "middleware. " Middleware developers attempt to "pre-invent the wheel" by developing robust software suites which include many elements a game developer may need to build a game. Robustness is the quality of being able to withstand stresses pressures or changes in procedure or circumstance Most middleware programs provide facilities that ease development, such as graphics, sound, physics and AI functions. Gamebryo and RenderWare are such widely used middleware programs. Gamebryo is computer and video games middleware, originally from Numerical Design Limited (NDL and is the successor to NDL's NetImmerse engine RenderWare ( RW) is computer and Video game middleware from Criterion Software.
Some middleware only do one thing, but do it more convincingly than general purpose engines. For example, SpeedTree was used to render the realistic trees and vegetation in the role-playing game The Elder Scrolls IV: Oblivion. SpeedTree is a programming package produced by Interactive Data Visualization Inc A computer role-playing game ( CRPG) is a broad Video game genre originally developed for personal computers and other home computers The Elder Scrolls IV Oblivion is a Single player Fantasy -themed action-oriented Computer role-playing game developed by Bethesda Game Studios
Two widely-used packages that provide subsystems of functionality include Havok and several of RAD Game Tools' systems. Havok Physics, better known as simply Havok, is a Physics engine developed by Irish company Havok. RAD Game Tools is privately held company based in Kirkland Washington that develops video and Computer game Software technologies which are Havok provides a robust physics simulation system and RAD Game Tools develops systems for video rendering, audio playback, and 3D rendering.
Some middleware contains full source code, others just provide an API reference for a compiled binary library. In Computer science, source code (commonly just source or code) is any sequence of statements or declarations written in some Human-readable In Computer science, a library is a collection of Subroutines used to develop Software. Some middleware programs can be licensed either way, usually for a higher fee for full source code.
Middleware for massively-multiplayer online games is far more complex than for single-player video games. However, the increasing popularity of MMOGs is spurring development of such middleware packages. Some prominent solutions, based upon sales, include:
Game engine development is a popular project amongst computer science students, hobbyists, and game developers alike. Realm Crafter, or RC is a 3D MMORPG Game engine developed by Solstar Games. The Multiverse Network Inc is an American Startup company creating a network and platform for Massively Multiplayer Online Games (MMOGs and 3D Gamebryo is computer and video games middleware, originally from Numerical Design Limited (NDL and is the successor to NDL's NetImmerse engine BigWorld Technology is a middleware platform for the development of Massively Multiplayer Online Role-Playing Games (also known as MMOGs or MMORPGs and virtual worlds HeroEngine is a 3D game engine and server technology platform developed by Simutronics Corporation specifically for building MMO -style games Monumental Games is an independent UK Video game developer and a provider of Massively Multiplayer Online Games (MMO technology through its Monumental Technology Computer science (or computing science) is the study and the Science of the theoretical foundations of Information and Computation and their It can require strong interdisciplinary understanding of geometry, color theory, and computing. Geometry ( Greek γεωμετρία; geo = earth metria = measure is a part of Mathematics concerned with questions of size shape and relative position Color Theory is the musical alter ego of American singer-keyboardist-songwriter Brian Hazard Computing is usually defined like the activity of using and developing Computer technology Computer hardware and software. Being largely visual, however, these developers consider it fun and rewarding. Crystal Space, for example, is a popular free and open source multiplatform game engine. Crystal Space is a framework for developing 3D applications written in C++ by Jorrit Tyberghein and others Free software or software libre is Software that can be used studied and modified without restriction and which can be copied and redistributed in modified or unmodified Open source software (OSS began as a marketing campaign for Free software.
The ten most reviewed commercial engines (most of which are low cost and used by hobbyists and indie developers), on DevMaster. net[1], are:
Notable open source engines:
A well-known subset of game engines are 3D first-person shooter (FPS) game engines. The Torque Game Engine, or TGE, is a modified version of a 3D computer Game engine originally developed by Dynamix for the Truevision3D is a 3D commercial 3D engine first created by Sylvain Dupont in 1999. History 1993 ACK 3D (Animation Construction Kit by Lary Myers (Wolfenstein-like open source engine downloadable at http//ftp The C4 Engine is a computer Game engine created by Terathon Software that can be used to develop games for Windows ( XP and Vista) Unity is an integrated authoring tool for creating 3D Video games or other interactive content such as architectural visualizations or real-time 3D animations DX Studio is a complete integrated development tool for the creation of 3D Video games, simulations or real-time interactive applications for either standalone Web Based Crystal Space is a framework for developing 3D applications written in C++ by Jorrit Tyberghein and others Delta3D is an Open-source gaming/simulation engine Delta3D's modular design integrates other well-known Open Source projects such as OpenSceneGraph, Open Game Blender is a sub-application of Blender, the popular Open source 3D application used to make games using Blender Blender is a free 3D graphics application It can be used for modeling, UV unwrapping texturing rigging, water simulations Irrlicht (ˈɪɐ̯lɪçt in German is an Open source 3D engine written in C++. The Nebula Device is an Open source real-time 3D Game engine developed by German game studio Radon Labs. An ogre (feminine ogress) is a large cruel and hideous Humanoid Monster, featured in mythology folklore and fiction The Open Dynamics Engine (ODE is a Physics engine. Its two main components are a Rigid body dynamics simulation engine and a Collision detection engine Panda3D is a Game engine: a library of subroutines for 3D rendering and game development Python is a general-purpose High-level programming language. Its design philosophy emphasizes programmer productivity and code readability id Tech 3 is a Game engine developed by Id Software for Quake III Arena and has been used in many games under the Quake III Arena engine A first-person shooter engine simulates a 3D graphics environment for use in a First-person shooter Computer or video game. A first-person shooter ( FPS) is an action Video game from the Shooter game The initial development of Maze War Groundbreaking development in terms of visual quality is done in FPS games on the human scale. While flight and driving simulators and real-time strategy (RTS) games increasingly provide realism on a large scale, first-person shooters are at the forefront of computer graphics at smaller, more human scales. A flight simulator is a system that tries to copy or simulate, the experience of flying an aircraft Many Board games can be said to be racing games such as Snakes and Ladders, Cribbage, or Formula Dé. A real-time strategy ( RTS) Video game is a strategic game that is distinctly not turn-based.
The development of the FPS graphic engines that appear in games can be characterized by a steady increase in technologies, with some breakthroughs. Attempts at defining distinct generations lead to arbitrary choices of what constitutes a highly modified version of an 'old engine' and what is a brand new engine.
The classification is complicated as game engines blend old and new technologies. Features considered advanced in a new game one year, become the expected standard the next year. Games with a mix of older generation and newer feature are the norm. For example Jurassic Park: Trespasser (1998) introduced physics to the FPS games, but it didn't become common until around 2002. Jurassic Park Trespasser (also known as Trespasser) is a Computer game, which was released in 1998 for Microsoft Windows after much hype Red Faction (2001) featured destructible walls and ground, something still not common in engines years later (for example in Unreal Tournament 2004 there are still no destructible objects). For the video game franchise by Volition see Red Faction (series Red Faction is a First-person shooter Battlezone (1998) and Battlezone II: Combat Commander (1999) added vehicle based combat to the usual FPS mix, which did not hit the mainstream until later. Battlezone II Combat Commander, often abriviated as BZII or BZ2 is a 1999 computer game released by Pandemic Studios as a sequel to Activision Tribes 2, Battlefield 1942, Halo: Combat Evolved and Unreal Tournament 2004 fully realized the potential for vehicular-combat and first person shooter integration. Tribes 2 (commonly abbreviated to T2) is a Sci-fi first-person shooter (FPS Computer game based in the fictional Battlefield 1942 is a 3D World War II First-person shooter (FPS Computer game developed by Swedish company Digital Halo Combat Evolved (commonly known as Halo or Halo 1) is a First-person shooter (FPS Video game developed Unreal Tournament 2004, also known as UT2K4 and UT2004, is a futuristic First-person shooter computer game