Jump to content

Game engine

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 68.121.24.10 (talk) at 21:50, 10 August 2004 (The Future). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computing, a game engine is the core software component of a computer game. It typically handles rendering and other necessary technology, but might also handle additional tasks such as game AI, collision detection between game objects, etc. The most common element that a game engine provides is graphics rendering facilities (2D or 3D).

Engines that only provide real-time 3D rendering are sometimes called 3D engines. Such engines include Genesis3D, Irrlicht, and Ogre. Many 3D engines are designed for other purposes, often in addition to games.

Overview

The term "game engine" arose in the mid-1990s, especially in connection with 3D games such as first-person shooters (FPS). 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."

Later games, such as Quake 3 and Epic's 1998 Unreal were designed with this approach in mind, with the engine and content developed separately. The licensing of 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 $50,000 USD to $250,000 and the number of licensees reaching several tens of companies (for Unreal engine). At the very least, reusable engines make developing game sequels much easier and faster, a valuable advantage in the competitive computer game industry.

The continued refinement of game engines has allowed a strong separation between rendering, scripting, artwork, and level design. It is now common (as of 2003), for example, for a typical game development team to be composed of artists and programmers in an 80/20 ratio.

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 CRPG Morrowind and the MMORPG Dark Age of Camelot are based on the NetImmerse engine, the MMORPG Lineage II is based on the Unreal engine.

Middleware

File:SpeedTree forest cropped.jpg
SpeedTree forest-rendering middleware

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. Most middleware solutions provide facilities that ease development, such as graphics, sound, physics and AI functions. Some solutions only do one thing, such as render trees and plants, such as SpeedTree, but do it more convincingly than general purpose engines.

Some middleware contains full source code, others just provide an API reference for a compiled binary library. Some middleware solutions can be licensed either way, usually for a higher fee for full source code. The Gamebryo engine, for example, has the option of licensing it in either fashion.

Hobbyists

Game engine development is a popular project amongst computer science students, hobbyists, and game developers alike. It can require strong interdisciplinary understanding of geometry, color theory, and computing. Being largely visual, however, these developers consider it fun and rewarding. Crystal Space, for example, is a popular open source multiplatform game engine.

FPS Game Engines

The most well-known subset of game engines are 3D First-person shooter (FPS) game engines. Most of the groundbreaking development in terms of visual quality is done on FPS games. Even today, despite increasing realism of flight and driving simulators and real-time strategy (RTS) games, first-person shooters are still at the forefront in high-quality computer graphics.

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 a 'old engine' and what is a brand new engine.

The classification is complicated as game engines blend old and new technolgies. 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 Trespasser (1998) introduced physics to the FPS games, but it didn't became common until around 2002. Red Faction (2001) featured destroyable walls and ground, something not common in engines even in 2004. Codename Eagle (2000) added vehicle based combat to the usual FPS mix, something not added to the Unreal series until Unreal Tournament 2004 (2004).

Early FPS Graphics Engines

File:Doom-imp.jpg
An Imp from DooM - a very simple pixelated sprite

1992-1995 Planar worlds (rectangular grid in Wolfenstein 3D, sector-based plane levels in Doom) with sprite objects. Hardware requirements: software (CPU) rendering.


The rise of 3D

File:Quake2-gunner.jpg
Gunner from QUAKE II - very simplistic, texture skewed over a wireframe, crude 3D model

1996-1999. For the first time, game engines recreated true 3D worlds with arbitrary level geometry. Instead of sprites the engines used simply textured (single-pass texturing, no lighting details)polygon objects. Hardware requirements: first 3D-accelerators (Voodoo, Voodoo 2).


New Capabilites, Increasing Texture and Polygon Detail

File:Unreal2-monster.jpg
A Skaarj warrior from UnreaL 2 - a clever use of simply texture filtered and textured mapped polygons in plain light

2000-2003. New graphics hardware provided new capabilites, allowing new engines to add various new effects, such as particle effects, fog, coloured lightning, as well as increase texture and polygon detail. Many games featured large outdoor environments, vehicles, rag-doll physics.Hardware requirements: GeForce 2-4 (or similar).



The approach to Photorealism

File:Doom3-Hell-Knight.jpg
Hell Knight from Doom 3 - rough self-shadowing and bump mapping, polygonal nature still apparent

2004-2006. (est.) Developers of this era of 3D engines often tout their increasingly photorealistic quality. The maps usually feature seemlessly integrated indoor-outdoor environments. Pixel shader-based textures, bumpmapping, vertex shaders used for animations, lighting and shadowing. Hardware requirements: GeForce FX (or other cards with shader support).


The Future

File:Unreal3engine-berserker.jpg
Berserker from UnreaL engine 3 tech demo - extremely detailed thanks to advanced bump-mapping, real-time quality soft self-shadowing and nearly "pre-rendered cinematic" quality, evident features

According to Epic Games, games based on Unreal 3 engine can be expected around 2006. These games are likely to include some of the technology showcased in existing demos (including those from graphics card manufacturers), including realistic shader-based materials with predefined physics, environments with procedural and vertex shader-based objects (vegetation, debris, human made objects such as books or tools) universally destructible and interactive levels, procedural animation, cinematographic effects (focus, blur, etc.), realistic lighting and shadowing.

John Carmack, the lead programmer for id Software, has repeatedly stated his opinion that it will likely be possible by 2010 to do a real-time video-realistic rendering of a static real-world-like environment. According to id Software plans (2 years for the development of their next game after Doom 3 on the same engine), the next 3D engine from id Software may attain these capabilities.


See also