Saturday, 2 April 2011

Aim systems in First Person Shooters

Earlier this week, FPS-focused (French) website NoFrag published a very interesting article, making a quite thorough analysis of the various aiming mechanics you can find in an FPS. Its author, Nooky, kindly allowed me to translate this article in English and post it here. All kudos (and potential complaints ;)) goes to him. Unfortunately, I can't really translate the embedded videos, but everything is explained in the following paragraphs.

Original article.

(Mougli's note: While the article focuses on First Person Shooters, most of what is being said applies regardless of the genre, as long as the game has a dedicated "aim mode".)


Let's start with prehistory, back in the time when we played only with the keyboard. The first real FPS used several methods to make up for that handicap, namely wide hit boxes and automatic vertical aim. Keyboard aiming was so inaccurate that most FPS of that time didn't even use a cross-hair. Doom is a perfect example.

The introduction of mouse aiming and jumping mechanic gave a new perspective to the genre. The levels' architecture became more vertical and weapons required more dexterity. Quake and Jedi Knight are prefect examples.
Jedi Knight
Accuracy becoming more and more critical, the cross-hair became a standard for most FPS.

In 1998, Looking Glass releases Thief. The game featured a 3D aiming system for the bow, probably the first implementation of "iron sights" in a commercial game. I will use the term "iron sights" in its wide sense, i.e. the act of bringing the weapon to a stable position in which the sights are aligned.
It's around 1999/2000 that iron sights start being used for firearms. It's not easy to find an exact date in the slew of mods of the time: Infiltration, D-Day, True Combat, etc. The game which made iron sights an acknowledged mechanic is most likely Operation Flashpoint, from Czech studio Bohemia Interactive, released in April 2001. Although it's merely a 2D overlay, this aiming mode will prove to be paramount to survival in Flashpoint's huge world. Add to that realistic ballistic physics and the game was jaw-dropping sensation-wise when you had to shoot enemies hundreds of meters away.
Infiltration mod in Unreal Tournament 99

Operation Flashpoint
3D iron sights will become mainstream by 2003 with the releases of Call of Duty (Infinity Ward) and Vietcong (Illusion Softworks), to name a few. Nowadays, you find iron sights in most games, even those that aren't meant to be realistic, such as Bulletstorm.
Call of Duty
Aiming systems

Below is a list of the various aiming systems that have been used since the beginning of the FPS genre. We'll then thoroughly examine each and every one of them.

  • Hip shooting
    • Simple Fixed aim (Half-Life)
    • Rectangle/Dead zone type free aim (Operation Flashpoint/ArmA 2)
    • Offset rectangle/Dead zone type free aim (Half-Life mod: Move-In)
    • Type 2 free aim (Red Orchestra 1 and 2)
  • "Contact position" aim
    • "Contact position" aim (HL2 mod: Resistance and Liberation)
  • Iron sights aim
    • 2D iron sights (Operation Flashpoint, America's Army)
    • Hybrid iron sights (Vietcong)
    • Iron sights (Red Orchestra, Call of Duty, ArmA 2)
    • Rectangle/Dead zone type free aim iron sights (True Combat Elite: CQB)
    • Offset rectangle/Dead zone type free aim iron sights (Half-Life mod: Move-In)
    • Type 2 free aim iron sights (Red Orchestra 2)
Before going into the details of all these techniques, with a technical definition and an analysis, please have a look at this video showing the various aim modes in action:

Hip Shooting

Simple fixed aim (Half-Life, Call of Duty 4 Modern Warfare)

This is the most common aim system in FPS. When you move the mouse, the point of view moves simultaneously. There may or may not be a cross-hair. It may be static as in Half-Life or dynamic as in Call of Duty 4, but it will always be at the centre of the screen.

While this may seem archaic, it is a very good approximation of real life, considering hardware constraints. Reactivity and accuracy are vital factors for this type of aiming. There isn't really a real-life equivalent of this type of aim. Maybe some time in the future an augmented reality HUD. We can also consider laser sights as quite close to a cross-hair. Even without a cross-hair, it's obviously much easier to find the centre of the screen than finding the direction into which the barrel is pointing. Indeed, because of the limited field of view and the boxy shape of a monitor, it isn't very hard to see where we're aiming. More so, you can always make "hardware" cheats by running diagonals wires across the screen, or drawing a cross-hair with a pen. Yep, this has been done!

Nevertheless, this aiming mode is close to real life because of the link between the weapon and the point of view. This mode should thus be preferred for games in which speed and accuracy are vital. However, it's probably not the best choice for simulation games in which weapons are accurate and highly lethal, as the games would turn into instagib matches. Most of the time, developers add spread, and a system which creates a loss of accuracy during movement, which is annoying for close range fights.

Rectangle/Dead zone type free aim (Operation Flashpoint, ArmA 2, HL2 mod: Resistance and Liberation)

Here, the cross-hair moves inside an invisible rectangle. When it comes to the edges of the rectangle, it stops moving, and the point of view starts to rotate. There might not be a cross-hair, as in Resistance and Liberation, but the behaviour is still the same, the cross-hair is just invisible.

If there is a cross-hair, it's still quite unrealistic. Furthermore, there's a feeling of losing control as the mouse alternatively fulfils two distinct roles:
  1. The rifle's aim when the cross-hair is in the middle of the invisible rectangle.
  2. The rotation of the point of view when the cross-hair is at the edges of the rectangles.
This system is interesting when you want not to be too dependent on the camera. However, it will take more time to align your aim on a target that is outside of the rectangle. You'll need to rotate the point of view, stop, and adjust your weapon. Note that you can also lower your weapon without moving the camera, allowing to observe your surroundings. This method is best suited for the "contact position" will be talking about later in this article.

(Mougli's note: This is the most common type of aiming on Wii FPS.)

Offset rectangle/Dead zone type free aim (Half-Life mod: Move-In)

This reuses the idea of the dead zone rectangle, adding a gradient inside that rectangle. When you move the cross-hair, it moves freely, but the point of view moves as well, with a small offset. The closer you get to the rectangle's edges, the faster the point of view will adjust.

This system has the same disadvantages of the rectangle free aim, with one more: the player can't really control the point of view. He will then suffer constant camera movement, which is a bit hard on the eyes. Interesting idea, but not very appropriate.

Type 2 free aim (Red Orchestra 1 and 2)

This is an hybrid system which takes the concept of the fixed camera (inside the rectangle) and links it to the actual weapon model, rather than the cross-hair. Weapon movement is a bit faster than camera movement. Here again, we'll find an invisible rectangle. However, it won't affect aiming, but the weapon's model, in order to keep it in the player's field of view.

Type 2 free aim fixes some of type 1's issues by modifying a few parameters. The camera reacts like in a simple fixed aim, avoiding the feeling of wavering. The weapon's 3D model is linked to the mouse movement, but faster and offset. The player then controls the camera directly, and the gun approximately. Type 2 free aim  usually doesn't have a cross-hair. Aiming then becomes an estimation of the gun's direction. Unlike the fixed simple aim, it's much more difficult to guess trajectories (though possible, cf these videos).
The main issues are the loss of reference points (we don't always know where we're aiming) and we sometimes must move the mouse just to put the weapon back into position.

This system is quite close to real life, and is complementary with fixed simple aim. It is suitable for realistic games where tactics and position are as important as marksmanship. The other advantage of this system is that it has a better feeling of control during close range encounters.

"Contact position aiming"
(Half-Life 2 mod: Resistance and Liberation)

In contact position, the player's avatar doesn't take aim properly, and can still move his weapon freely. Sights aren't necessarily aligned.

It's an intermediate position, not necessary but has its tactical use. In FPS, there isn't much of a difference between this and hip shooting. We might as well assume that they're using that position instead of real hip shooting. In contact position, the weapon is raised and ready to fire, but sights and eyes aren't aligned. this is to ensure a maximum field of view. This position is used when the area to watch is too wide to bee seen entirely through the iron sights. It could also be used in tight rooms potentially hiding enemies. Personally, it's in this kind of situation that I would use a type 2 free aim with a narrow but high rectangle, allowing the player to raise his weapon swiftly for reflex shooting while retaining good control of the field of view.

Iron Sights aim

Let's first have a look at how iron sights work in real life. There are two components: the rear sight and the front sight.

Below are 2 examples, with a simple and a more elaborate system:
AK47 - U-Notch and post, vertically adjustable

SIG 552: Drum sight, adjustable vertically and horizontally

Once again, let's have a look at how in works in various games:

2D Iron sights (Operation Flashpoint, America’s Army)

A simple 2D overlay. Sights are aligned. Point of view moves simultaneously. No need to analyse this obsolete system.

Hybrid Iron sights (Vietcong)

We can see the sights, but they aren't aligned. Point of view moves simultaneously. No need for an analysis either, as this isn't realistic as an iron sight. However, it has more in common with contact position aiming.

Iron sights (Red orchestra, Call of Duty, ArmA 2)

Sights are realistically aligned with the camera. Both the weapon and the camera move when the player moves the mouse. In real life, iron sights aiming looks like this:

This kind of iron sights is the simplest and the most realistic. In real life, when you aim with a weapon, you'll want to take a stance in which the entire upper body will be stable. To do so, you will lock together the weapon and the upper body. The head will align the eye with the sights and stay in that position. To stay stable, you'll use several pressure points: the hands, of course, but also the chest against which you will rest the stock. The cheek will be resting on the stock as well. Of course, this group isn't perfectly rigid, but is meant to move as a whole. As such, when you aim at something, the entire upper body moves, not just the weapon or the arms. That's the reason why when we move the sights, the point of  view will move exactly the same way, like in the game.

Dead zone/rectangle type iron sights (TCE-CQB, ArmA 2)

Sights are aligned. The point of view moves the same way as in a rectangle type free aim, but instead of the cross-hair, it's the weapon model which makes the camera move when reaching the edges of the rectangle.

This type of aiming is not infeasible in real life, but is unlikely and impractical. If you move your weapon while keeping the sights aligned, you will put a strain on your eye, and the weapon will end up in a position that is inappropriate for firing. The stock will necessarily move on the shoulder and have an incorrect position. Also, it would impossible for a right-handed person to aim to the right as the stock would be stuck against the jaw. In a game, this method is way less accurate and fast than a fixed iron sight, which goes against the intended purpose of that aim system. We might think the situation is different for a pistol because of the lack of a stock, but it's actually the same and we would be putting a lot of strain on the arms to keep a steady aim with an inappropriate firing position.

Offset rectangle/Dead zone iron sights (mod Half-Life: Move In)

Sights are aligned. Point of view moves as in the offset free aim. No need for an analysis as this system has the same flaws as the corresponding free aim.

Type 2 rectangle iron sights (Red Orchestra 2)

Sights are aligned and the point of view moves the same way as in a type 2 free aim.

This aiming is not infeasible either, but as much unlikely and impractical as the type 1. Here, as the point of view isn't fixed, we can move the head, but we'd need a lot of concentration and a lot of strain on the arms to keep a steady aim. I don't how this kind of aim feels in game, but it's most likely less practical than the fixed aim. It's quite hard to analyse its behaviour from Red Orchestra 2's videos, the only game that seems to implement such a system

As far as realism is concerned, there is no perfect FPS, but we can approximate real life without have to use very complex methods. In terms of sheer realism, the first Red Orchestra is probably the best one thanks to its type 2 free aim and its fixed iron sights. Games with simple fixed aim and fixed iron sights are quite good as well. Developers shouldn't try to make the systems too complex in order to achieve realism, as they might end up with an opposite result. Finally, it's important to emphasise that the choice of the aiming system must match the intended type of gameplay.