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, Jurassic Park: Trespasser 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 often had "3D" in their names but were not capable of full 3D rendering. Instead, they used 2.5D techniques, such as ray casting, portal rendering or BSP rendering, to create a seemingly 3D environment from a 2D map, and flat sprites to draw enemies instead of 3D models. These games also began to use textures for environmental geometry instead of simple wire-frame models or solid colors.
Hovertank 3D, from id Software, was the first to use thoses techniques 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 character's hand on-screen, furthering the implication of the player into the character's role.
Wolfenstein 3D engine was the only one to use raycasting, unlike Catacomb how used a lien-rasterisation rendenring. But it 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, in replacement of raycasting. 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 rise to the term 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, but 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. Levels in Quake and some subsequent engines are made with geometry objects called brushes, which allow for map construction in three dimensions, rather than 2D maps projected in 3D, as Doom had done. 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 "baked" at render time and added to the BSP files storing the levels. These features allowing for more realistic lighting than had previously been possible.
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, 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.