Bugs:Duke Nukem 64
This page details bugs of Duke Nukem 64.
Heat-seeking missiles won't aim correctly at the crosshair when looking up or down.
Explanation: The calculation for the vertical velocity of heat-seeking missiles is off. While heat-seeking missile are slower than regular missiles (512 vs 644 units), the constant for vertical velocity stay the same.
It's very difficult to use the heat-seeking missiles if you are looking up or down while firing, and it will almost always hit the ceiling or floor.
Explanation: The game does some rudimentary calculation for the vertical aiming, and there's no variable for the pitch like there's for angle. The vertical movement is achieved by adding or substracting 1024 of the z coordinate, until it matches the z coordinate of the target sprite. However, this approach only works if the heat-seeking were fired while aiming at the horizon.
If the target enemy is killed, the heat-seeking missiles may explode mid-air or aim at a random direction.
Explanation: When an enemy is destroyed, the sprite is deleted, however the the spriteID is still in the memory. In case a new sprite is spawned, the ID is recycled, and the missile will change its course. Depending, the new ID is given to the heat-seeking missile own smoke trail, resulting in it exploding mid-air because its assumed target is too close to it.