Mancubus fireball clipping


In the Doom engine, it is possible for small, fast-moving fireballs to clip through walls. A wall, pillar, or other solid object usually blocks the fireballs, but not always; from time to time, a fireball will fly straight through an apparently permanent feature, possibly ambushing an unwary player on the other side. This occurs when the fireball is moving faster in map units per tic than the distance of its radius, enabling the projectile to skip clipping against linedefs in the intervening space.

Though this is most often noticed with the mancubus because of its projectile's fast speed and unusually small width, it can be noticed with other monsters, often imps, when playing in Nightmare! or with the -fast parameter on. The problem is worse in some console ports due to a lower tic rate meaning that projectiles are checked less often for clipping; in Doom 64, the Hell knight, baron of Hell, and nightmare imp all suffer the problem frequently.

Because of an additional typo in the source code which neglects to check for projectiles with negative velocities, this is even more prone to happen when the projectile is moving toward the west or south. This particular bug is fixed in the MBF source port, but even there, small and fast projectiles may still pass through walls. ZDoom and ports descended from it additionally fix the larger issue by forcing projectiles that are moving too quickly versus their size to make multiple smaller moves in each tic.