Description

By the push of a button, the weapon is aimed towards the screen position or item where the player is looking, rather than screen center. This interaction uses the vector between the camera and the gaze point to select an object which the aim vector is then pointed at. This can reduce the time it takes for the player to bring the target into the cross hair.

While the gain is limited for experienced mouse/keyboard users, it can be very helpful for novice players and/or anyone playing with a gamepad.

 

Variations

Aim at gaze comes in many flavors depending on game and context, these are some of the implementations we have implemented in the past.

Feature
Description
Aim at gazeInitiate your aim/enter aim mode dependent on where you look rather than screen center.
Attack at gazeSelect enemy for your next melee attack using your eyes.
Fire at gazeProvide a powerful experience of being able to immediately shoot (hipshot) where you are looking rather than screen center.
Throw at gazeInitiate the aim for any throwable object with your eyes.

Design considerations

Turning camera vs moving crosshair

We have tried two different kinds of behavior for Aim at Gaze; turning the camera towards to the object you looked at when pressing Aim, versus moving the crosshair to the object you looked at when pressing aim.

Turning camera: As a complement to normal aiming, gaze can be used to determine a place where you want to aim. Look somewhere and press the aim button. The camera rotates and centers on the spot you looked at, and initiates aim mode. This method retains a lot of the normal mechanic of aiming; see a target -> turn camera -> Initiate Aim mode -> Fine tune. Aim at gaze reduces and simplifies the “turn camera” step.

  • There’s a certain amount of disorientation when the camera rotates like this, and there is an inherent discrepancy between the players initial gaze point and the subsequent focus area; the center of the screen while aiming. This means that the player will always have to reorient after aiming, as the player will always have to look from one place on the screen to another in a very quick succession. This is a behavior that can take some getting used to; looking somewhere and pressing Aim also means you should look back to the center as part of the action.
  • Lack of pinpoint accuracy is also something to consider. As everyone’s eyes are different and will have varying accuracy of eye tracking, it is common that the exact place the camera centers on is not exactly where the player wanted to aim, meaning further orientation and adjustment is necessary.
  • There are ways to minimize these issues, see “Aim at Gaze and Aim Assist” and “Gaze To Object Mapping (GTOM)” below on this page.

Moving the crosshair: This is a very different approach that completely changes the activity of shooting at enemies, abandoning the standard interaction for a much more simplified version of aiming, simply moving the crosshair to the point you look.

  • When doing this, the crosshair does not constantly follow your gaze point but rather snaps to valid targets that you look at. Using GTOM, the crosshair can move between valid targets while holding the Aim button and simply recenter when not looking at a valid target.

Aim at gaze in Assassin’s Creed Origins, an example of camera movement to gaze point.

Aim at gaze in Shadow of the Tomb Raider, an example of crosshair movement.

Aim Assist and Gaze To Object Mapping

In order to ensure that the shortcomings of a basic Aim at Gaze implementation are minimized, there are two methods to greatly improve the feel of the feature and reduce frustrations; using the game’s own Aim Assist system (if any) or Gaze To Object Mapping (GTOM)

  • Aim Assist is a common mechanic in most shooter games. When initiating Aim mode, when the crosshair is close to a target, the camera will automatically adjust so the crosshair snaps to the target. In the exact same way, eye tracking can be used to snap to a target when the gazepoint is close to a target, when initiating Aim Mode.
  • GTOM: By using calculations combined with the eye tracking signal, we determine which object in the environment the player is looking at. Using this we can pick the target the player is most likely looking at, and turn the camera and initiate Aim Mode exactly on that target.

Both these approaches reduces disorientation, as even if a players calibration is not perfect, we can pick the closest target to the actual gazepoint, which is usually the correct target, turn the camera and center the crosshair on target. This of course also eliminates the need to fine tune after the camera has turned. It does not, however, address the need for the player to look from one point of the screen to another in quick succession.

  • It should be taken into consideration, that if the targets are small and there are many close to each other, Aim Assist and GTOM can struggle to pick the correct target, as the actual gazepoint is closer to a different target than the player wants to aim at, and will pick that one instead.

 

Rapid aiming (deadzone )

It is not an uncommon scenario in a game where multiple targets appear after each other or group up with each other. In this situation, the player might Aim while destroying a first target, release Aim Mode for a moment, then re-enter Aim Mode without moving the crosshair very much. When this happens, we want to make sure that we do not pick the gazepoint and center the crosshair there, as a slight off-set between the gazepoint and what the player is actually looking means that the crosshair that is already more or less in the correct position will move away to a worse position.

  • To solve this, a small deadzone around the crosshair should be used, so whenever a player’s gazepoint is within this deadzone, we do not initiate Aim at Gaze when entering Aim Mode.

 

Mouse & Keyboard vs Gamepad

It can be argued that Aim at Gaze has more or less value depending on which main input method the player is using. Gamepad is generally considered to be the input method which gains the most value from Aim at Gaze, as turning the camera is generally speaking much slower than using a Mouse. Aim Assist is also almost exclusively a Gamepad specific gameplay feature, the presence of which helps with accuracy, as mentioned above.

  • When using a Gamepad, the user will most probably end up turning the camera towards the target faster, but will still have to reorient, looking from one part of the screen to another after aiming, but the benefit of moving the camera faster may outweigh this possible issue.
  • When using a Mouse, especially veteran players are so fast that the benefit of Aim at Gaze is not as clear, as a player can easily turn the camera just as fast as Aim at Gaze can. It can still help a less experienced player have to do less of the “heavy lifting” of aiming at enemies.
  • No matter which input method is used, Aim at Gaze can be considered both a gameplay enchancing feature as well as an accessibility feature, helping players aim easier if that part of the interaction is challenging for the player.

 

Settings

Settings name
Settings type
Range
Settings description
Aim at gazecheckboxon / offEnter aiming mode in the direction you are looking.
Attack at gazecheckboxon / offSelect target for melee attacks using your gaze position.
Fire at gazecheckboxon / offDirect hipshots where you look rather than at the cross hair.
Throw at gazecheckboxon / offEnter throwing mode in the direction you are looking.

DO’s and DON’Ts

Connecting the aim to the view could be beneficial when the player is focusing his/hers attacks towards a single target and when the context around the current target is the main area of interest.
Disconnecting the aim and  the view is advantageous when engaging multiple targets with directed attacks without constantly having to redirect the view.

Evaluate the possibilities to move the crosshair to the gaze position, rather than centering the screen around the gaze point. This may be applicable and preferred in certain games. This was done in Shadow of the Tomb Raider

General:

DO consider using the game’s Aim Assist system (if any) and snap to targets even when Aim at Gaze is used. If there is an Aim Assist system but we don’t hook into it, add “This disables Aim Assist” or similar to the setting text.

DO place a dead zone around the cross hair so that we only alter the aim when you look outside this dead zone.

DO use a smooth (not slow!) transition of the camera view from current view to the desired aim direction.

DO try to improve gaze point accuracy when the user gaze has not moved further than a defined distance.

DO first teleport the crosshair to desired aim position and then smoothly rotate the camera so that finally it will center on the crosshair.

DO make sure that when looking up or down Aim At Gaze does not aim behind the character. Otherwise, Aim At Gaze will rotate the camera view by 180 degrees.

DO NOT  instantly snap the camera view from the current view to the desired aim vector.

DO NOT  lose the target of where the user is aiming at during the camera to target animation.

DO NOT  “overshoot” during the camera animation: crosshair should move to the target and NOT further. Overshoot can be caused by the difference between in game aiming animation and extended view reset animation.

DO NOT  hit the character when doing the raycast.

General:

DO near plane-far plane single ray cast to determine the intersection point which the aim vector should be turned towards.

Fire at gaze:

DO NOT  frustrate players who need precision targeting. Use when targets are large, weapon has a large spread. Can also be used as a complement to precision aiming if implemented in a way so gamer is not limited in his ability to do precision aiming.

Throw at gaze:

DO NOT  use the approach where we draw the throw arch to end up in gaze point if the game has a limit on how far the user can throw objects.