First-person shooter engine
A first-person shooter engine is a video game engine specialized for simulating 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 of their characters. Shooter refers to games which revolve primarily around wielding firearms and killing other entities in the game world, either non-player characters or other players.
The development of the FPS graphic engines is 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 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 combination of both older and newer features are the norm. For example, introduced physics to the FPS genre, which did not become common until around 2002. Red Faction featured a destructible environment, something still not common in engines years later.
Timeline
1970s and 1980s: Early FPS graphics engines
Game rendering for this early generation of FPS were already from the first-person perspective and with the need to shoot things, however they were mostly made up using Vector graphics.There are two possible claimants for the first FPS, Maze War and Spasim. Maze War was developed in 1973 and involved a single player making his way through a maze of corridors rendered using a fixed perspective. Multiplayer capabilities, where players attempted to shoot each other, were added later and were networked in 1974. Spasim was originally developed in 1974 and involved players moving through a wire-frame 3D universe. Spasim could be played by up to 32 players on the PLATO network.
Developed in-house by Incentive Software, the Freescape engine is considered to be one of the first proprietary 3D engines to be used for computer games, although the engine was not used commercially outside of Incentive's own titles. The first game to use this engine was the puzzle game Driller in 1987.
Early 1990s: Wireframes to 2.5D worlds and textures
Games of this generation are often regarded as Doom clones. They were not capable of full 3D rendering, but used ray casting 2.5D techniques to draw the environment and sprites to draw enemies instead of 3D models. However these games began to use textures to render the environment instead of simple wire-frame models or solid colors.Hovertank 3D, from id Software, was the first to use this technique in 1990, but was still not using textures, a capability which was added shortly after on Catacomb 3D, then with the Wolfenstein 3D engine which was later used for several other games. Catacomb 3D was also the first game to show the player's hand on-screen, furthering the implication of the player into the character's role.
Wolfenstein 3D engine was still very primitive. It did not apply textures to the floor and ceiling, and the ray casting restricted walls to a fixed height, and levels were all on the same plane.
Even though it was still not using true 3D, id Tech 1, first used in Doom and again from id Software, removed these limitations. It also first introduced the concept of binary space partitioning. Another breakthrough was the introduction of multiplayer abilities in the engine. However, because it was still using 2.5D, it was impossible to look up and down properly in Doom, and all Doom levels were actually two-dimensional. Due to the lack of a z-axis, the engine did not allow for room-over-room support.
Doom's success spawned several games using the same engine or similar techniques, giving them the name Doom clones. The Build engine, used in Duke Nukem 3D, later removed some of the limitations of id Tech 1, such as the Build engine being able to have support for room-over-room by stacking sectors on top of sectors, however the techniques used remained the same.
Mid 1990s: 3D models, beginnings of hardware acceleration
In the mid-1990s, game engines recreated true 3D worlds with arbitrary level geometry. Instead of sprites the engines used simply textured polygonal objects.FromSoftware released King's Field, a full polygon free roaming first-person real-time action title for the Sony PlayStation in December 1994. Sega's 32X release Metal Head was a first-person shooter mecha simulation game that used fully texture-mapped, 3D polygonal graphics. A year prior, Exact released the Sharp X68000 computer game Geograph Seal, a fully 3D polygonal first-person shooter that employed platform game mechanics and had most of the action take place in free-roaming outdoor environments rather than the corridor labyrinths of Wolfenstein 3D. The following year, Exact released its successor for the PlayStation console, Jumping Flash!, which used the same game engine but adapted it to place more emphasis on the platforming rather than the shooting. The Jumping Flash! series continued to use the same engine.
Dark Forces, released in 1995 by LucasArts, has been regarded as one of the first "true 3-D" first-person shooter games. Its engine, the Jedi Engine, was one of the first engines to support an environment in three dimensions: areas can exist next to each other in all three planes, including on top of each other. Though most of the objects in Dark Forces are sprites, the game does include support for textured 3D-rendered objects. Another game regarded as one of the first true 3D first-person shooter is Parallax Software's 1994 shooter Descent.
The Quake engine used fewer animated sprites and used true 3D geometry and lighting, using elaborate techniques such as z-buffering to speed up the rendering. Quake was also the first true-3D game to use a special map design system to preprocess and pre-render the 3D environment: the 3D environment in which the game took place was simplified during the creation of the map to reduce the processing required when playing the game.
Static lightmaps and 3D light sources were also added in the BSP files storing the levels, allowing for more realistic lighting.
The first Graphics processing units appeared in the late 1990s, but many games still supported software rendering at that time. id Tech 2 was one of the first games to take advantage of hardware accelerated graphics.
GoldSrc, the engine derived from the Quake engine by Valve for Half-Life, added Direct3D support, and a skeletal framework to better render the NPCs, and also greatly improved the NPCs artificial intelligence compared to the Quake engine.
Late 1990s: Full 32-bit color, and GPUs become standard
This period saw the introduction of the first video cards with Transform, clipping, and lighting. The first card with this innovative technology was the GeForce 256. This card was superior to what 3dfx had to offer at the time, namely Voodoo3, which only fell short because the lack of T&L. Companies such as Matrox with their G400, and S3 with their Savage4 were forced to withdraw from the 3D gaming market during this time period. One year later, ATI released their Radeon 7200, a true competing graphics card line.While all games of this period supported 16-bit color, many were adopting 32-bit color as well. Soon, many benchmark sites began touting 32-bit as a standard. The Unreal Engine, used in a large number of FPS games since its release, was an important milestone at the time. It used the Glide API, specifically developed for 3dfx GPUs, instead of OpenGL. Probably the biggest reason for its popularity was that the engine architecture and the inclusion of a scripting language made it easy to mod it. One other improvement of Unreal compared to the previous generation of engines was its networking technology, which greatly improved the scalability of the engine on multiplayer.
id Tech 3, first used for Quake III Arena, improved from its predecessor by allowing to store much more complex and smoother animations. It also had improved lighting and shadowing and introduced shaders and curved surfaces.
Early 2000s: Increasing detail, outdoor environments, and rag-doll physics
New graphics hardware provided new capabilities, allowing new engines to add various new effects, such as particle effects or fog, as well as increase texture and polygon detail. Many games featured large outdoor environments, vehicles, and rag-doll physics.Average Video Hardware requirements: a GPU with hardware T&L such as the DirectX 7.0 GeForce 2 or Radeon 7200 was typically required. The next-generation GeForce 3 or Radeon 8500 were recommended due to their more efficient architecture, though their DirectX 8.0 vertex and pixel shaders were of little use. A handful of games still supported DirectX 6.0 chipsets such as RIVA TNT2 and Rage 128, and software rendering, though this was apparent that even a powerful CPU could not compensate for the lack of hardware T&L.
Games engines originally developed for the PC platform, like the Unreal Engine 2.0, started to be adapted for sixth generation consoles like PlayStation 2 or GameCube, those now having the computer power to handle graphic-intensive video games.
Mid 2000s: Lighting and pixel shaders, physics
The new generation of graphics chips allowed pixel shader-based textures, bump mapping, and lighting and shadowing technologies to become common. Shader technologies included HLSL, GLSL, or Cg.This resulted in the obsolescence of DirectX 7.0 graphics chips such as the widespread GeForce 2 and Radeon 7200, as well as DirectX 6.0 chipsets such as RIVA TNT2 and Rage 128, and integrated on-board graphics accelerators. Until this generation of games, a powerful CPU was able to somewhat compensate for an older video card. Average Video Hardware requirements: minimum was a GeForce 3 or Radeon 8500, strongly recommended was the GeForce FX, Radeon 9700. The Radeon 9700 demonstrated that anti-aliasing and/or anisotropic filtering could be fully usable options, even in the newest and most demanding titles at the time, and resulted in the widespread acceptance of AA and AF as standard features. AA and AF had been supported by many earlier graphics chips prior to this but carried a heavy performance hit and so most gamers opted not to enable these features.
With these new technologies game engines featured seamlessly integrated indoor/outdoor environments, used shaders for more realistic animations, and generally increased realism. The fact that the GPU performed some of the tasks that were already done by the CPU, and more generally the increasing processing power available, allowed to add realistic physics effects to the games, for example with the inclusion of the Havok physics engine in most video games. Physics had been already added in a video game in 1998 with , but limited hardware capabilities at the time, and the absence of a middleware like Havok to handle physics had made it a technical and commercial failure.
id Tech 4, first used for Doom 3, used an entirely dynamic per-pixel lighting, whereas previously, 3D engines had relied primarily on pre-calculated per-vertex lighting or lightmaps and Gouraud shading. The Shadow volume approach used in Doom 3 permitted more realistic lighting and shadows, however this came at a price as it could not render soft shadows, and the engine was primarily good indoors. Later this was rectified to work with vast outdoor spaces, with the introduction of MegaTexture technology in the id Tech 4 engine.
The same year, Valve released Half-Life 2, powered by their new Source engine. This new engine was notable in that, among other things, it had very realistic facial animations for NPCs, including what was described as an impressive lip-syncing technology.
Late 2000s: The approach to Photorealism
Further improvements in GPUs like Shader Model 3 and Shader Model 4, made possible by new graphic chipsets as GeForce 7 or Radeon X1xxx series, allowed for improvements in graphic effects.Developers of this era of 3D engines often tout their increasingly photorealistic quality. Around the same time, we're beginning to gain attention. These engines include realistic shader-based materials with predefined physics, environments with procedural and vertex shader-based objects, procedural animation, cinematographic effects, High dynamic range rendering, and unified lighting models with soft shadowing and volumetric lighting.
However, most of engines capable of these effects are evolutions of engines from the previous generation, such as Unreal Engine 3, the Dunia Engine and CryEngine 2, id Tech 5.
The first games using Unreal Engine 3 were released in November 2006, and the first game to use CryEngine 2 was released in 2007.
Early 2010s: Graphic technique mixes
Further improvements in GPUs like Shader Model 5, made possible by new graphic chipsets as GeForce 400 Series or Radeon HD 5000 series and later, allowed for improvements in graphic effects. such as Dynamic Displacement Mapping and Tessellation.As of 2010, two upcoming evolutions of major existing engines had been released: Unreal Engine 3 in DirectX 11 which powered Samaritan Demo and CryEngine 3, which powers Crysis 2 and Crysis 3.
Few companies had discussed future plans for their engines; id Tech 6, the eventual successor to id Tech 5, was an exception. Preliminary information about this engine which was still in early phases of development tended to show that id Software was looking toward a direction where ray tracing and classic raster graphics would be mixed. However, according to John Carmack, the hardware capable of id Tech 6 did not yet exist. The first title using the engine, Doom, was released in mid 2016.
In September 2015, Valve released the Source 2 in an update to Dota 2.