Turning resolution is lowered when recording demos

From DoomWiki.org

If a player is recording a demo under vanilla Doom, the resolution with which they can turn the player is decreased. This is due to a limit in the Doom demo format.

Internally Doom uses a 16-bit integer (two bytes) to store the turning movement. When playing network games, two bytes are transmitted, for example. However, the demo format uses a single byte to record the turning movement of the player. Because of this, the range of values that a player can turn each tic is substantially reduced.

To cope with this limitation, the resolution when turning must be reduced when recording a demo; otherwise, the demo might become desynchronized when played back. Doom does this, but the effect is noticeable to experienced players (while aiming over a long distance, for example). Playing while recording a demo is arguably more difficult than playing normally, and this makes speedruns more difficult.

Solution to the problem[edit]

Colin "cph" Phipps developed a solution to the problem in the form of a modified Doom binary. His "DOOM v1.9 to v1.91 patcher" modifies the version 1.9 executable to record demos using a 16-bit format for turning values. This removes the problem of reduced resolution.

A slight problem with this solution is that demos recorded using the modified binary will not play in v1.9 vanilla Doom, and vice versa. However, PrBoom, Chocolate Doom, and the Eternity Engine also support the format.

PrBoom plus additionally has an option to play with reduced turning resolution while not recording, so speedrunners can practice advanced tricks without requiring a demo recording all the time.

External links[edit]