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

About A Sub-Fourteen Minute Doom 2 Demo

Recommended Posts

I remember a thread a while ago (it was mentioned on the COMPET-N board, but someone brought it up here too) that said it was theoretically possible to complete Doom 2 in less than fourteen (maybe thirteen) minutes, and I have a question about that. Take a look at this demo. Then "-skipsec 590" to "Level 19: The Citadel" of Andrey's TAS/cheated (whatever you want to call it) Doom 2 speedrun. They both have the same time of 31 seconds. This leads me to wonder if building a Doom 2 speedrun demo will actually be faster. Discuss.

If a lot of people are sure that a built speedrun of less than fourteen or thirteen minutes is possible, then I have an idea. If one person worked on it day and night, it would take forever, but if one person did one level and passed it on for another person to do another, it might be possible. Are any people up for attempting it?

Share this post


Link to post

although I think Andrey's demo proves sub-15 is possible... we must remember that his demo is more than assisted.
I'm sure that Xit Vono, Andrey, Cam, Adam H., Vile, and others have some ideas to cut some seconds off... especially with built versus played.
pursuing a faster built/TAS/cheated DOOM2 movie after Budko's magic is insane.
personally, I really really doubt we'll ever see a 13.xx time.

Share this post


Link to post

Well having each person do their own level is in interesting idea, but it doesn't really help because you still have to wait for other people to finish the previous maps. And I think TAS might actually be more efficient than built in some ways because it gives you the ability to try one spot over and over again to get a difficult trick or monster pass. Perhaps using a mix of the two would be best. One possibility is to use TAS and then use lmpc to perfect the movements which hopefully won't change too much in terms of monster cooperation. If you do this it's best to have one person do the whole thing that way we don't have 30 people that all have to go through the learning curve.

Share this post


Link to post
ultdoomer said:

Then "-skipsec 590" to "Level 19: The Citadel"

or glboom.exe -playdemo 30uv1441.lmp -warp 19

Share this post


Link to post
xit-vono said:

Well having each person do their own level is in interesting idea, but it doesn't really help because you still have to wait for other people to finish the previous maps. And I think TAS might actually be more efficient than built in some ways because it gives you the ability to try one spot over and over again to get a difficult trick or monster pass. Perhaps using a mix of the two would be best. One possibility is to use TAS and then use lmpc to perfect the movements which hopefully won't change too much in terms of monster cooperation. If you do this it's best to have one person do the whole thing that way we don't have 30 people that all have to go through the learning curve.


I am not so sure trying to modify the demo after it was recorded is a good idea at all; especially not if you are trying to modify the demo to gain time. Doom demos are extremely fragile. I'll explain:

Doom pulls random numbers linearly out of a table. A great many things use this table, including some blinking lights. Monsters use it to determine what they are going to do, how much damage is done, etc.

Now if you modify a demo in a movie so that it ends 1 gametic earlier, and in that gametic that you pulled out a monster pulled a random number out to determine what direction it wanted to move in.... the whole thing will desync.... badly.... and you won't even know why, because it won't be obvious.

I've had a demo in e2m4 that, due to a bug in PrBoom, had one extra random number pulled out while I was recording (but not while it was playing back) near the crushing ceiling. Guess where I noticed the desync? The caco's near the teleporter. In the demo I recorded, they weren't there, in the demo I was playing back, they were, and they were pissed.

Totally different scenario caused by ONE random number mixup. Was a pain in the ass to debug too.

Note: When recording, even in compat mode, prboom pulls monster_avoid_hazards (or whatever) from your config, if it is set to 1 (afaik it is by DEFAULT) then monsters near crushers will pull out a random number to determine if they should try to avoid the sector. When you playback a demo recorded with compat mode, it forces monster_avoid_hazards to be 0.

Share this post


Link to post

I presume Xit didn't have it in mind to record the whole thing and then go back and edit with LMPC.

I expect the idea was to record just a few seconds, and then edit this small segment, and hope to god that doesn't cause a desync (if it doesn't - great, and then continue; if it does - bad luck, try again). Of course, this might end up just as tedious as making a built demo in the standard way.

TheHappySpoon said:

Note: When recording, even in compat mode, prboom pulls monster_avoid_hazards (or whatever) from your config, if it is set to 1 (afaik it is by DEFAULT) then monsters near crushers will pull out a random number to determine if they should try to avoid the sector. When you playback a demo recorded with compat mode, it forces monster_avoid_hazards to be 0.

That's a really useful piece of information. A few people have had problems with occasional desyncs (e.g. Vile with his TVR NM movies, cycloid in Bndaly8; edit: and Angus in sc26), which have always puzzled me, as I have never been able to emulate them (my cfg has all these options set to those closest to Doom2.exe). On hearing this explanation, I'm just surprised it doesn't cause problems more often.

Share this post


Link to post

Indeed! This is a significant piece of info, relevant to any player recording under PrBoom 2.x.y with doom2.exe compatibility in any level with crushers... I just tried to record a demo of E2M2, and ran through the crushers over and over, luring monsters into them. The demo de-synched on playback! :-/

Is the proposed solution to set monster_avoid_hazards to 0 in prboom.cfg/glboom.cfg? Are any other variables relevant to this problem? (e.g., monster_backing or monsters_friction)

Share this post


Link to post
Kristian Ronge said:

Indeed! This is a significant piece of info, relevant to any player recording under PrBoom 2.x.y with doom2.exe compatibility in any level with crushers... I just tried to record a demo of E2M2, and ran through the crushers over and over, luring monsters into them. The demo de-synched on playback! :-/

Is the proposed solution to set monster_avoid_hazards to 0 in prboom.cfg/glboom.cfg? Are any other variables relevant to this problem? (e.g., monster_backing or monsters_friction)


Yes, it is.

I am not sure if there are any others, although I find it highly unlikely. There are a great amount of PrBoom demos floating around... I was actually very surprised when I found out what this one does.

Surprised, and well, pissed off because it ruined my e2-0459, which meant I had to record another one (e2-0501) which sucked and ensured that I would have to record yet another one (e2-0451) which I am somewhat satisified with.

Share this post


Link to post

Yeah, changing monster_avoid_hazards in the .cfg to 0 fixed it! Made another E2M2 demo which stayed in synch... Thanks! :-)

This will surely save many players from a lot of (future) head-aches! I believe this is an important enough discovery to merit an addition to one of the "sticky" threads? What do the moderators think?

Just thought of it: this might be what caused Anima's demos on CC2 map 15 to de-synch, for example...

Share this post


Link to post
Kristian Ronge said:

Yeah, changing monster_avoid_hazards in the .cfg to 0 fixed it! Made another E2M2 demo which stayed in synch... Thanks! :-)

This will surely save many players from a lot of (future) head-aches! I believe this is an important enough discovery to merit an addition to one of the "sticky" threads? What do the moderators think?

Just thought of it: this might be what caused Anima's demos on CC2 map 15 to de-synch, for example...


Interesting...this is a good find indeed! Wanna know something else?

Anytime I tried to do a UV-Max for Kama Sutra map08, It would always desynch on me. It always desynched in the same place too (Just after RSK door). So...I stumbled on that little discovery above and switched monster_avoid_hazards in my .cfg for PRBoom (Version 2.2.6 BTW) to 0. Then I gave the level another shot. Guess what happened? It worked! Got a UV-Max exit that didn't desynch (Course, delayed enemies teleporting in just HAD to come up then didn't it?). I've only tried once though, so I must give it another shot and see what happens.

EDIT: Tried another recording attempt at KS map08 UV-Max. No desynching, and the demo looks much nicer. Going to post about it in the demopack thread in a bit.

Share this post


Link to post
Kristian Ronge said:

I believe this is an important enough discovery to merit an addition to one of the "sticky" threads? What do the moderators think?

This might potentially save people hours of frustration (who knows, maybe some people have given up trying to record as a result), so I agree it is certainly important enough for that. I'm not sure how many people make a point of reading sticky threads though, or notice if they are updated.

With that in mind, I propose to make a new sticky with some title like "Recording Prboom -complevel demos" emphasizing this and other points. Input welcome!

Share this post


Link to post

Errrrmmm. I was under the belief that this problem was rather contained, because I had seen nobody complain about it before.

*scratches head* I was also under the belief that all those hours I spent swearing and debugging a mysterious desync were essentially wasted on myself. I am glad to see that this is not the case and that it has helped other people.

Share this post


Link to post

i still have that sub 5 min bndaly8 uvmax desyncing demo around somewhere too! i remember we did conclude that it was probably something to do with the crusher. it really put me off that did, but of course, now we have winmbf :-)

edit: actually i think that demo is online somewhere in a zip with one of the non desyncing ones

edit 2: yeah here it is:

http://www.doomworld.com/vb/attachment.php?s=&postid=328932

at work ATM but anyone fancy trying to play that back while forcing the avoid flag to be 1?

Share this post


Link to post
cycloid said:

i still have that sub 5 min bndaly8 uvmax desyncing demo around somewhere too! i remember we did conclude that it was probably something to do with the crusher. it really put me off that did, but of course, now we have winmbf :-)

edit: actually i think that demo is online somewhere in a zip with one of the non desyncing ones

edit 2: yeah here it is:

http://www.doomworld.com/vb/attachment.php?s=&postid=328932

at work ATM but anyone fancy trying to play that back while forcing the avoid flag to be 1?


I had sent windi a patch and he built a Windows binary of PrBoom 2.2.6 that does force that flag to be set.

Here is a download link: http://www.dashevil.sytes.net/.temp/prboom-monsterhazardhack.zip

Small warning though, the binaries inside it are named "prboom.exe" and "glboom.exe", so either rename them, or put them somewhere else. If you overwrite your gl/prboom.exe you will end up being frustrated. :)

Share this post


Link to post
TheHappySpoon said:

I had sent windi a patch and he built a Windows binary of PrBoom 2.2.6 that does force that flag to be set.

I was hoping you might do this. :)

So presumably Vile's ep2 TVR! NM movie should work with this, and perhaps a few other demos sadly sitting on people's hard disks until now.

Share this post


Link to post

thanks for that patched prboom i'll have a go over the weekend and see if mt 4:39 works!



edit: it works, oh 4:39 yay! not the smoothest of demos (i.e. trademark cycloidal architecture snaggage) but it plays back at least.

Share this post


Link to post

In addition to two of cycloid's blind alley 8 demos (bnd8-439, bnd8-510) that work with the hacked prboom, these work with it as well.
Vile's tvr tvn22038
Ryback's fa26r410
Claudio Barba's lv26-318
Nice to get to see them all complete. :)

I tried a few others but couldn't remember any others that desynced in both doom2 and prboom.'

There were a couple of others that played with doom2 but would not play with the normal prboom, they worked with the prboom hack.

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
×