Autoaim

Under construction icon-yellow.svgThis article or section is a stub. Please help the Doom Wiki by adding to it.

Vertical autoaimEdit

Since you can't look up or down in Doom or Doom II, the system compensates for you. Accuracy is not affected by the differences in the Z-axis co-ordinates of the player and target.

Horizontal autoaimEdit

The player's projectile weapons have a limited ability to adjust their direction if the nearest target is not exactly straight ahead. From P_SpawnPlayerMissile in p_mobj.c:

   // see which target is to be aimed at
   an = source->angle;
   slope = P_AimLineAttack (source, an, 16*64*FRACUNIT);
   
   if (!linetarget)
   {
       an += 1<<26;
       slope = P_AimLineAttack (source, an, 16*64*FRACUNIT);
   
       if (!linetarget)
       {
           an -= 2<<26;
           slope = P_AimLineAttack (source, an, 16*64*FRACUNIT);
       }
   
       if (!linetarget)
       {
           an = source->angle;
           slope = 0;
       }
   }

An angle in the Doom engine is 32 bits, so that 1<<26 = 360° × (226 ÷ 232) ≈ 5.6°.