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 in some situations more difficult than playing normally. Some tricks used in speedrunning are, however, easier with the reduced resolution, since it makes it easier to line up facing a cardinal direction, such as the glide in MAP02: Underhalls in Doom II.

In the Doom speedrunning community, the term "shorttics" refers to this decreased turning resolution, whereas "longtics" refers to the regular turning resolution outside of a demo-recording environment.

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]

References[edit]