First Person Shooter

From GPWiki
Jump to: navigation, search

A genre first made famous by id software and 3-D Realms, a first person shooter (called a FPS by fans) is a game in which you view the world from the persepective of the character. These games are typically fast-paced, emphasizing speed and accuracy and are considered one of the most complicated games to develop. Early FPS games used a technique called raycasting to render their levels, but modern games use complicated linear algebra and scene graph algorithms. Though they were originally primarily single-player, the wider availability of both internet connectivity and the games themselves has meant that now most have options for online play.

FPS Games Online

The popularity of FPS games exploded with the development of online play in the original Doom series. Their multiplayer network architecture is usually based on the Client-Server model, however there have existed peer-to-peer architectures, but they generally have bandwidth issues that grow exponentially in proportion the users connected, as well as security problems. Groups of FPS fans, called "Clans" create lively online communities. This communities have contributed to the online lexicon, creating terms like:

Online gaming lexicon popularized by the FPS community
Term Type Description
Admin noun The person who is hosting the game, though in a dedicated server the admin might not be playing the game with the other players.
Camping verb Describes a player occupying strategic areas of a map to gain an unfair advantage over other players, note that modern tactical shooters like "counter-strike" generally do not use this term.
Chain-whore / Rocket-whore / ... none A player who overuses a particular weapon, often to devastating effect, this term is usually used in games where there are weapon balance issues.
Client noun Clients connect to a host, they produce messages (called packets) which are then checked by the server. Clients send and receieve messages from the host.
Frag noun A kill, may be a reference to the Vietnam era term for killing an officer with a fragmentary grenade.
Gib verb, noun To blow a person into little bits, also used to describe an individual bit.
Grenade Spamming verb Tossing out loads of grenades in the hope of killing someone by accident.
Host noun The computer routing data between players and checking data integrity.
Lag / Latency noun networked FPS games require ALOT of bandwidth, in the event that messages are not being received from the host on time (or at all) the game will freeze up, this is called lag.
Lag Kill verb The act of killing someone who has lagged out of the game, considered bad form.
Server noun A computer running the game that checks and routes messages betwen clients, sometimes used as a synonym for Host.
Spawn verb To enter the game world.
Spawn Point noun A place at which a player enters the world of the game.
Spawn Kill verb, noun To kill a person just as he enters the world, considered bad form. Also used to describe such an act.
Telefrag verb A term describing the action of accidently teleporting or "spawning" into the same place at the same time as another player, usually causing either one or both of the players to explode in an orgy of blood and gore


Early games used a technology called raycasting. This algorithm essentially shoots out a ray for every column off the screen and then notes the intersection points and colours of the objects it hits. This technique was popular for its very low CPU requirements and produced an acceptable image; it was hindered, however, with the inability of characters to look up. Then, in 1996(?) Id Software relased Quake, which used a new technique based largely on advanced linear algebra and a scene graphing technique known as Binary Space Partitions to handle scene complexity. The development of Graphics Accelerators allowed programmers to produce more detailed worlds, and also produced graphics API's OpenGL and DirectX to help programmers avoid low level device issues. Newer hardware supports vertex and pixel "shaders", which are small pseudo-assembly programs for the GPU (Graphics Programming Unit, the main chip on a graphics accelerator). Quake is considered a groundbreaking work, not only for its technological sophistication, but for its support for "mods", or player-customized modifications to the game.

The Mod Scene

A mod, short for modification, is a modification made to a game by its player-base. Early mods included one that changed Wolfenstein 3-D to contain the popular television character "Barney" in the role of Hitler. Early mods such as these often required editing the game files directly, and usually destroyed parts of the game in the process. Noting this, John Carmack of id software fame designed his game so that with an SDK and a little knowledge, people could modify Quake without destroying the original data. This decision led to an explosion of hobbyists developing their own games with the Quake engine. Early mods produced new weapons, skins, textures, and levels, with some (called Total Conversion or TC's) using none of the original game except the engine. It was quickly noted that a healthy mod community could extend the life of a game significantly. While Quake's gameplay was relatively straighforeward, modifications such as Team Fortress exploded in popularity and provided yet another incentive to buy the game. Almost every FPS since then has supported modding and has generally been supportive to the mod community.

Developing An FPS

A modern first person shooter can be a challenge to develop, requiring state-of-the-art graphics, sound, and networking. They usually take several months or years work to make, which is why modding a pre-existing game has become so popular. It is usually recommended that beginners start with something simpler, or that they don't implement all features, such as networking, to decrease the amount of work required.


A short list of a few FPS games (in no particular order):

Zero Tolerance (Raycaster)
Wolfenstein 3-D (Raycaster)
Duke Nukem (Raycaster)
Shadow Warrior (Raycaster)
Doom (Raycaster)
Rise of The Triad (Raycaster)
Hexen (Raycaster)
Counter Strike 1.6 (3D)
Counter Strike Source (3D)
Quake (3D)
Quake 2 (3D)
Quake III: Arena (3D)
Shogo: Mobile Armor Division (3D)
No One Lives Forever (3D)
Unreal (3D)
Unreal Tournament (3D)
Unreal Tournament 2004 (3D)
Half-Life (3D)
Half-Life 2 (3D)

See also