Strafing (video games)

Strafing in video games is a maneuver which involves moving a controlled character or entity sideways relative to the direction it is facing. This may be done for a variety of reasons, depending on the type of game; for example, in a first-person shooter, strafing would allow one to continue tracking and firing at an opponent while moving in another direction.

Etymology
Strafing is the military practice of attacking ground targets from low-flying aircraft using aircraft-mounted automatic weapons.

Circle strafing
Circle strafing is the technique of moving around an opponent in a circle while facing them. Circle strafing allows a player to fire continuously at an opponent while evading their attacks. Circle strafing is most useful in close-quarters combat where the apparent motion of the circle strafing player is much greater than that of their stationary enemy, and thus the chance of making the enemy lose track of their target is higher and/or the enemy is required to lead the target when firing. The effectiveness of circle strafing is mitigated when the opponent's weapon fires projectiles that travel instantaneously (also referred to as a hitscan weapon), or fires at a high rate, e.g. with a machine gun.

Circle strafing is especially effective when lag negatively affects the players' ability to hit their target. When latency is high and the game does not have client-side hit detection, this can lead to two players circling each other, both missing all their attacks.

Many shooters will allow players to aim down the sights of a gun or use a scope, usually exchanging movement speed and field of vision for greater accuracy. This can make a player more vulnerable to circle strafing, as targets will pass through their field of vision more quickly, they are less capable of keeping up with a target, and their slow movement makes dodging more difficult.

Strafing in melee combat
Circle strafing has also spread to some 3D action and adventure video games that involve melee combat. Circle strafing in melee combat can be made easier with a lock-on system that snaps the camera's (and the player character's) focus on one particular target, guaranteeing that most of the player character's attacks will land a direct hit on the target. It enables the player character to concentrate on moving around the enemy to dodge their attacks while staying automatically focused on the enemy. This can be a crucial strategy against bosses and powerful enemies, and is notably employed in many The Legend of Zelda titles, starting with Ocarina of Time.

Strafe-running
Particularly in early first-person shooters, strafe-running (known as speed-strafing among players of GoldenEye 007 and Perfect Dark, and as trichording among players of the Descent series) is a technique that allows a player to run or fly faster through levels by zig-zagging (moving forwards and sideways at the same time). The game combines these actions and the player achieves roughly 1.4 (square root of 2) times the speed they would moving in a single direction. The method used by the game can be demonstrated using vector addition. Pathways into Darkness was one of the first games to allow strafe-running. However, strafing was available as early as 1991 in Catacomb 3D and became even more popular in 1992 in Wolfenstein 3D.

The games in which strafe-running can be employed treat forward motion independently of sideways (strafing) motion. If, for each update of the player's location, the game moves the player forward one unit and then moves the player to the side by one unit, the overall distance moved is $$\sqrt{2}$$. Thus, in games with such behavior, moving sideways while simultaneously moving forward will give an overall higher speed than just moving forward, although the player will move in a direction diagonal to the direction being faced. This feature is even more enhanced if moving along three axes (e.g. forward + left + up), providing $$\sqrt{3}$$ (roughly 1.73) times greater speed, in games such as Descent.

This technique is not possible in all games; modern game engines make it very easy for game developers to clamp the player's speed and acceleration to a uniform maximum when moving in any direction.

Strafe-jumping
Strafe-jumping is a technique used to increase a player's movement speed in computer games based on the Quake engine and its successors, most of which are first-person shooters, by jumping and turning one direction or the other with the mouse and using the strafe keys.

History
Strafe-jumping was a result of a bug in the code base of the 1997 first-person shooter video game Quake II. In sequels it was decided to be kept intact, as it had become a standard technique used by players. The exploit relies on an oversight in acceleration and maximum speed calculation: when pressing a movement key, the game adds an acceleration vector in that direction to the player's current velocity. When the player has reached a maximum speed value, further acceleration is prevented. However, the movement speed limit is only applied in relation to the acceleration vector's direction and not the direction of the overall velocity, meaning that precisely manipulating the angle between overall velocity and this acceleration vector lets the player break the intended speed cap.

Method
Strafe-jumping requires a precise combination of mouse and keyboard inputs. The exact technique involved depends on the game in question. In several games, there are entire maps devoted to this, much like obstacle courses.

The controls are typically as follows:
 * 1) The player holds the move forward key, accelerating to the maximum walking speed.
 * 2) The player jumps and simultaneously starts holding either the strafe left or the strafe right key.
 * 3) While airborne, the player moves the mouse slowly in the direction they're strafing. This turns the character and directs the acceleration to an angle that lets the player break the speed cap.
 * 4) To prevent speed loss from ground friction, the player immediately jumps again on landing.
 * 5) Strafe-jumping this way will slowly curve the player's trajectory, so to compensate the player can switch the direction of strafing and mouse movement to the opposite side.

Done correctly and continuously, this will gradually increase the player's speed. Mastering this technique requires much practice. Sustained strafe-jumping is mainly a matter of muscle memory, as both the required range and precision of mouse movements increase as the player builds up speed.

In Quake III Arena and some games based on its engine, such as Call of Duty and Wolfenstein: Enemy Territory, slight increases in jump height can be achieved by playing the game at specific frame rates.

Pre-strafe
The pre-strafe is an action performed by the player at the start of strafe-jumping, giving an initial burst of speed. It uses the same mechanics as strafe-jumping, but on the ground before the first jump, and requires faster mouse movement.

The controls are as follows:
 * 1) The player stands facing 90-135 degrees away from the direction they desire to eventually move in.
 * 2) The player starts holding both the move forward key and the strafe key towards the desired direction, and also moves the mouse in the same direction. This turns and rapidly accelerates the player.
 * 3) When the player is facing the desired movement direction, they jump to preserve the gained speed.
 * 4) The player can now start strafe-jumping and continue accelerating.

Bunny hopping
Bunny hopping is an advanced movement method used in some first-person shooter games which relies on exploiting movement mechanics by combining strafing and jumping. For instance, In games utilising the Quake or GoldSrc game engines or their derivatives, bunny hopping is a technique which leverages strafe-jumping, allowing for a player to accelerate beyond the intended maximum movement speed and quickly change direction while in mid-air. Similarly, jumping on sloped surfaces while strafing into them to gain speed can also be called bunny hopping in games such as The Elder Scrolls Online, Portal 2 and a few other first-person-shooter games. Overall, bunny hopping is a technical exploit allowing the player to move faster or more nimbly than normal.

The earliest (and most advanced) method of bunny hopping that utilized strafing controls exists in Quake, the Quake III Arena mod Challenge ProMode Arena, and their derivatives such as Warsow and Xonotic; Half-Life (version 1.1.0.8, released in 2001, introduced a speed cap limiting the effectiveness of bunny hopping ) and many of its mods and sibling games such as Team Fortress Classic, Team Fortress 2, Dystopia, and the Counter-Strike series; Painkiller, Dark Messiah of Might and Magic, Kingpin: Life of Crime, Titanfall 2, and Apex Legends.

Wallstrafing
Wallstrafing is a movement technique used to gain speed in GoldSrc engine and its successors by exploiting how speed is calculated. The technique is executed by aligning yourself with a wall, turning away from the wall slightly, and walking both forward and toward the wall. This allows you to move faster than the default speed cap. While wallstrafing, increased frame rates result in an even higher speed.

Wallstrafe Jumping
Wallstrafe Jumping is the technique of using wallstrafing in combination with jumping and allows the user to gain speed in the Source engine, where ground wallstrafing has been removed.