Difference between revisions of "Turning resolution is lowered when recording demos"

From DoomWiki.org

[checked revision][checked revision]
m (Automated edit - Link Colin Phipps)
m (bold title style since redirect target)
 
(5 intermediate revisions by 4 users not shown)
Line 3: Line 3:
 
Internally Doom uses a 16-bit integer (two [[Wikipedia:Byte |byte]]s) 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.
 
Internally Doom uses a 16-bit integer (two [[Wikipedia:Byte |byte]]s) 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 [[speedrun]]s more difficult.
+
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 speed running are however easier with the reduced resolution since it makes it easier to line up facing a cardinal direction, such as the glide on map02 in Doom 2.
 +
 
 +
In the Doom [[speedrun]]ning 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 ==
 
== Solution to the problem ==
Line 12: Line 14:
  
 
[[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.
 
[[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.
 +
 +
A custom executable called {{c|SR50.EXE}} released in 2015 <ref>{{dwforums|id=73161}}</ref> by [[Andrew Stine (Linguica)]] allows [[straferunning]] in Vanilla Doom, bypassing the limitation. It is a modification of {{c|CTRLAPI.EXE}}, a program by [[Simon Howard (Fraggle)]]. It makes use of the [[External control driver]] feature.
  
 
== External links ==
 
== External links ==
 
 
* [http://games.moria.org.uk/doom/doom2-longtics-hack Doom2 Longtics Hack] - [[Colin Phipps]]' page on the problem
 
* [http://games.moria.org.uk/doom/doom2-longtics-hack Doom2 Longtics Hack] - [[Colin Phipps]]' page on the problem
 
* {{idgames|id=14590|DOOM v1.9 to v1.91 Patcher and other tools}}
 
* {{idgames|id=14590|DOOM v1.9 to v1.91 Patcher and other tools}}
* [http://www.doom2.net/doom2/doomp191/ DOOM v1.9 to v1.91 Patcher] - Page about the modification on [[Doom2.net]]
+
* [https://www.doom2.net/doom2/doomp191/ DOOM v1.9 to v1.91 Patcher] - Page about the modification on [[Doom2.net]]
 +
 
 +
==References==
 +
<references/>
 +
 
  
 
[[Category:Errors and bugs]]
 
[[Category:Errors and bugs]]
 
[[Category:Demos]]
 
[[Category:Demos]]

Latest revision as of 17:03, 24 January 2023

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 speed running are however easier with the reduced resolution since it makes it easier to line up facing a cardinal direction, such as the glide on map02 in Doom 2.

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.

A custom executable called SR50.EXE released in 2015 [1] by Andrew Stine (Linguica) allows straferunning in Vanilla Doom, bypassing the limitation. It is a modification of CTRLAPI.EXE, a program by Simon Howard (Fraggle). It makes use of the External control driver feature.

External links[edit]

References[edit]

  1. Doomworld forums thread