Reality Engine

The Reality Engine, also known as RAGE for "Reality Advanced Gaming Engine", is a custom engine written by Randal Linden and used for the Super NES port of Doom. Since the game was ported without having the Doom source code as a reference, it has many differences in how the engine internals work.

Differences from the Doom engine
Since the Reality engine was written without access to the Doom source code, it deviates from Doom behavior in many places. The limited capacities of the hardware also demanded several sacrifices and compromises to be made.
 * Monster infighting is not implemented; however monsters are not immune to projectiles from other monsters of same type.
 * The sound propagation system is not implemented. Effectively, all monsters behave as ambush monsters, waiting to have the player in their line of sight.
 * View bobbing is not implemented. Weapon bobbing, on the other hand, is stronger than in the original engine.
 * Lost souls do not have a charge attack, instead they have a regular melee attack.
 * The cyberdemon has a combined attack like the imp and baron, meaning that if the player is within melee range, no rocket is shot and instead the player takes damage directly while the claw scratch sound is played.
 * Bullet impacts do not spawn blood or bullet puffs.
 * The shotgun does not shoot seven pellets with spread, but has a single target attack instead.
 * The chaingun can fire bullets one at a time.
 * The rocket launcher deals a lot more damage.
 * The engine does not handle transparent midtextures. These are simply removed. Sometimes, the levels were modified to take this into account.
 * The engine does not render flat textures on floors or ceiling, replacing them with a solid color. The level converter replaces flats by their dominant color.
 * Collisions use a cylindrical model instead of a square model.

Easter Egg
Within the ROM itself, a hidden message can be found which reads, "Rage / Reality Engine written by Randy Linden. Special thanks to my loving wife, Jodi Harvey." It can only be found if the ROM file is opened in a hex editor, and is found at position 10F (271 in decimal) and address.