Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
PKr

Are "revenant tracer desyncs" still a thing in chocolate doom?

Recommended Posts

Hey!

 

Recently I've been recording a demo of Eternal Doom in Sprinkled Doom. The demo plays nicely in Chocolate Doom and Sprinkled Doom. However when I tried to replay this demo in DSDA Doom, it breaks at the end of the map01 when revenants first shoot at me.

 

Is that how a "revenant tracer desync" bug works?

Share this post


Link to post

No, that would not apply to your case.

 

The revenant tracer desync bugs works basically as a quirk of Doom's deterministic running state: To ensure demos can be rerun perfectly, the game sets an internal timer to 0 when it begins running, and increases it by 1 every tic that runs. Thus, normally a demo will also begin at tic 0 (since the level begins immediately when you tell it to record), but if the game has already been running, this value will not be zero. However, this is only a problem with internal demos (i.e; DEMO1, DEMO2, DEMO3...) as a result, since any external demos will, obviously, launch the game immediately, start running at tic 0, and the game will exit when the demo ends.

 

Boom (the predecessor to PrBoom, which in turn is the predecessor to PrBoom+, which in turn is the predecessor to DSDA-Doom) fixed this logic, but as a result, demos made on non-Boom engines will need special handling to run properly on engines based upon Boom for anything that would require determinism - like revenant fireballs.

 

More likely, it's due to the fact that since DSDA-Doom is based on PrBoom+, and your demo was recorded in Sprinkled Doom, you need to apply the right complevel. See if it will desync when you start it with Complevel 2. This can be done in multiple ways:

  • The cheat code tntcomp can be used ingame.
  • The game can also be launched with the -complevel parameter.
  • Edit default_compatibility_level in the config file.

Of course, if you're already set to complevel 2 and it's still desyncing, that indicates something else is afoot.

 

As for Chocolate Doom, it would indeed retain this bug (intentionally), but again, that would only ever apply to internal demo reels. External demos, for the reasons mentioned above, will never have this bug, as it's not a problem with recording the demo, but instead with its playback.

Edited by Dark Pulse

Share this post


Link to post
1 hour ago, Dark Pulse said:

No, that would not apply to your case.

 

The revenant tracer desync bugs works basically as a quirk of Doom's deterministic running state: To ensure demos can be rerun perfectly, the game sets an internal timer to 0 when it begins running, and increases it by 1 every tic that runs. Thus, normally a demo will also begin at tic 0 (since the level begins immediately when you tell it to record), but if the game has already been running, this value will not be zero. However, this is only a problem with internal demos (i.e; DEMO1, DEMO2, DEMO3...) as a result, since any external demos will, obviously, launch the game immediately, start running at tic 0, and the game will exit when the demo ends.

 

Boom (the predecessor to PrBoom, which in turn is the predecessor to PrBoom+, which in turn is the predecessor to DSDA-Doom) fixed this logic, but as a result, demos made on non-Boom engines will need special handling to run properly on engines based upon Boom for anything that would require determinism - like revenant fireballs.

 

More likely, it's due to the fact that since DSDA-Doom is based on PrBoom+, and your demo was recorded in Sprinkled Doom, you need to apply the right complevel. See if it will desync when you start it with Complevel 2. This can be done in multiple ways:

  • The cheat code tntcomp can be used ingame.
  • The game can also be launched with the -complevel parameter.
  • Edit default_compatibility_level in the config file.

Of course, if you're already set to complevel 2 and it's still desyncing, that indicates something else is afoot.

 

As for Chocolate Doom, it would indeed retain this bug (intentionally), but again, that would only ever apply to internal demo reels. External demos, for the reasons mentioned above, will never have this bug, as it's not a problem with recording the demo, but instead with its playback.

Well, he explained it. But yeah tl;dr: Internal demos will desync because of Revenants since they don't start at tic 0.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×