Game engine - Wikipedia, the free encyclopedia. Some game engines experience an evolution over time and develop a family tree, like for instance id's. Quake engine which resulted in the id Tech family. A game engine is a software framework designed for the creation and development of video games. Developers use them to create games for consoles, mobile devices and personal computers. The core functionality typically provided by a game engine includes a rendering engine (“renderer”) for 2. D or 3. Dgraphics, a physics engine or collision detection (and collision response), sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading, localization support, and a scene graph.
A game engine is a software framework designed for the creation and development of video games. Developers use them to create games for consoles, mobile devices and. In the early 1960s, Bell Labs is at the forefront of research into computer arts and graphics. Researcher Ken Knowlton, using the Lab's IBM 7094 mainframe computer.
The process of game development is often economized, in large part, by reusing/adapting the same game engine to create different games,[1] or to make it easier to "port" games to multiple platforms.[citation needed]Purpose[edit]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 to enable simplified, rapid development of games in a data- driven manner. Game engine 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. Most game engine suites provide facilities that ease development, such as graphics, sound, physics and 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.[2]Gamebryo, JMonkey Engine and Render. Ware are such widely used middleware programs.[3]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.
Often, game engines are 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) game middleware components such as Havok for physics, Miles Sound System for sound, or Bink for Video. Some game engines such as Render. Ware are even designed as 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 solution. However extensibility is achieved, it 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 engines are often used for other kinds of interactive applications with real- time graphical needs such as marketing demos, architectural visualizations, training simulations, and modeling environments.[4]Some game engines only provide real- time 3. D 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 assemble it from other game middleware components. These types of engines are generally referred to as a "graphics engine," "rendering engine," or "3. D engine" instead of the more encompassing term "game engine." This terminology is inconsistently used as many full- featured 3. D game engines are referred to simply as "3. D engines." A few examples of graphics engines are: Crystal Space, Genesis. D, Irrlicht, OGRE, Realm. Forge, Truevision.
D, and Vision Engine. Modern game or graphics engines generally provide a scene graph, which is an object- oriented representation of the 3.
Features. Software libre and free of charge; Easy and fun to play. Training mode to turn novices into Amoebax champions in no time. 6 levels of increasing difficulty. GEFS is a free, online flight simulator based on Google Earth. Whether you are a licensed pilot practicing VFR, an aviation enthusiast or just looking for some fun. Available on select AMD Radeon™ R7 series, R9 series and HD 7000 series graphics cards, the visionary Graphics Core Next (GCN) Architecture is a radically new. Ever since the advent of current gen consoles, there has been a lot of speculation regarding how cloud gaming could be a game changer. Microsoft has been touting the.
D game world which often simplifies game design and can be used for more efficient rendering of vast virtual worlds. As technology ages, the components of an engine may become outdated or insufficient for the requirements of a given project. Since the complexity of programming an entirely new engine may result in unwanted delays (or necessitate that the project be completely restarted), a development team may elect to update their existing engine with newer functionality or components.[citation needed]Components[edit]Such a framework is composed of a multitude of very different components. Main game program[edit]The actual game logic has of course to be implemented by some algorithms. It is distinct from any rendering, sound or input work.
Rendering engine[edit]The rendering engine does the rendering via the chosen method (rasterization, ray- tracing or any different technique). Instead of being programmed and compiled to be executed on the CPU or GPU directly, most often rendering engines are built upon one or multiple rendering application programming interfaces (APIs), such as Direct. D or Open. GL which provide a software abstraction of the graphics processing unit (GPU). Low- level libraries such as Direct.
X, Simple Direct. Media Layer (SDL), and Open.
GL 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. Before hardware- accelerated 3. D 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 needs such as shader support. With the advent of hardware accelerated physics processing, various physics APIs such as PAL and the physics extensions of COLLADA became available to provide a software abstraction of the physics processing unit of different middleware providers and console platforms. Game engines can be written in any programming language like C++, C or Java, though each language is structurally different and may provide different levels of access to specific functions. Audio engine[edit]The audio engine is the componentry which consists of any algorthims related to sound. It can calculate things on the CPU, or on dedicated ASIC. Abstraction APIs, such as e.
Open. AL, SDL audio, XAudio 2, Web Audio, etc. Physics engine[edit]Main article: Physics engine. The physics engine is responsible for giving the application a realistic sense of the laws of physics in the application. Artificial intelligence[edit]The AI is usually outsourced from the main game program into a special module to be designed and written by software engineers with specialist knowledge. History[edit]Before game engines, games were typically written as singular entities: a game for the Atari 2. 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 arcadehardware—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 1. 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. While third- party game engines were not common up until the rise of 3. D computer graphics in the 1. D game creation systems produced in the 1.
These include Pinball Construction Set (1. ASCII's War Game Construction Kit (1. Thunder Force Construction (1.
Adventure Construction Set (1. Garry Kitchen's Game. Maker (1. 98. 5), Wargame Construction Set (1. Shoot'Em- Up Construction Kit (1. Arcade Game Construction Kit (1.
ASCII's RPG Maker engines from 1. The term "game engine" arose in the mid- 1. D games such as first- person shooters (FPS). See also: first- person shooter engine.) 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." 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's Quake III Arena and Epic Games's 1. 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 a one license for a high- end commercial game engine can range from US$1.
Unreal Engine. 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 2.
Epic's Unreal Engine has been far more popular than id Tech 4 and its successor id Tech 5.[7]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. It is now common, for example, for a typical game development team to have several times as many artists as actual programmers.[8]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. The Elder Scrolls III: Morrowind and the MMORPGDark 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 Render. Ware engine is used in the Grand Theft Auto and Burnout franchises. Threading is taking on more importance due to modern multi- core systems (e. 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 3. Hz. For example, on Play.
Station 3, physics ran in Need For Speed at 1. Hz versus Forza Motorsport 2 at 3. Hz. Although the term was first used in the 1.
Sierra's Adventure Game Interpreter (AGI) and SCI systems, Lucas. Arts' SCUMM system and Incentive Software's Freescape engine. 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).
Recent trends[edit]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 games: visualization, training, medical, and military simulation applications, with the Cry. Engine being one example.[9] To facilitate this accessibility, new hardware platforms are now being targeted by game engines, including mobile phones (e. Android phones, i.
Phone) and web browsers (e. Web. GL, Shockwave, Flash, Trinigy's Web. Vision, Silverlight, Unity Web Player, O3.
D and pure DHTML).[1. Additionally, more game engines are being built upon higher level languages such as Java and C#/. NET (e. g. Torque. X, and Visual. 3D. NET) or Python (Panda. D). As most 3. D rich games are now mostly GPU- limited (i.
These recent trends are being propelled by companies such as Microsoft 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 [1. It is becoming easier and cheaper than ever to develop game engines for platforms that support managed frameworks.[1. Game middleware[edit]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. For example, Speed. Tree was used to render the realistic trees and vegetation in the role- playing video game. The Elder Scrolls IV: Oblivion[1. Fork Particle was used to simulate and render real time particle system visual effects or particle effects in Sid Meier's Civilization V.[1.
The four most widely used middleware packages[1. 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 3.
D 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 solutions.
Scaleform provides GFx for high performance Flash UI, along with a high quality video playback solution, and an Input Method Editor (IME) add- on for in- game Asian chat support. Some middleware contains full source code, others just provide an API reference for a compiled binary library. Some middleware programs can be licensed either way, usually for a higher fee for full source code. Massively multiplayer online games[edit]The Game Engine (or Middleware) for massively multiplayer online games (MMOs, MMOGs) is far more complex than for single- player video games.[citation needed] Technically every normal game engine can be used to implement an MMO game by combining it with MMO middleware. The increasing popularity of MMOGs is spurring development of MMO middleware packages. Some MMO middleware software packages already include a game engine, while others provide networking only and therefore must be combined with a game engine to create an MMO game.
First- person shooter engines[edit]A well- known subset of game engines are 3. D first- person shooter (FPS) game engines. 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 on these smaller scales. 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 that were 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 (1. FPS games, but it did not become common until around 2. Red Faction (2. 00.
Unreal Tournament 2. Battlezone (1. 99. Battlezone II: Combat Commander (1. FPS mix, which did not hit the mainstream until later. Tribes 2, Battlefield 1.
Halo: Combat Evolved, and Unreal Tournament 2. See also[edit]References[edit].
Timeline of Computer History: Graphics & Games. One of the most significant static images in the history of computer graphics, The Road to Point Reyes is one of Lucasfilm's most important early projects.
Begun in 1. 98. 3, Rob Cook directed the image and conceived the scene, while Alvy Ray Smith, Loren Carpenter, Tom Porter, Bill Reeves, and David Salesin provided various elements including shading, hidden surface routines, and fractals. The single image, which Smith has described as a 'one- frame Movie,' took a month to render, and was eventually displayed at The Computer Museum in Boston.