MantisBT - Zandronum
View Issue Details
0001079Zandronum[All Projects] Bugpublic2012-09-27 10:042018-09-30 20:15
unknownna 
Torr Samaho 
urgentmajoralways
closedfixed 
1.0 
1.11.1 
0001079: Client greatly mispredicts its z position if pushed over a ledge by something else
This is another ancient ST bug. It's very similar to the "bump into players, fall through bridge things" issue. What happens is that your client instantly puts you on the lowest floor when dropping down, even if the floor is over a thousand map units lower. I created an example WAD and recorded a demo of the issue. It's very easy to reproduce the bug.
1. zandronum.exe -file zmisprediction_01.wad -playdemo 2012.09.27_11.57.14_zmisprediction_01.cld
I set the priority to urgent since it's a major desync. The client shouldn't have to put itself on the lowest floor like that.
No tags attached.
parent of 0000047closed  player position desynchronizes with lowering lift online 
related to 0000517closed Torr Samaho No thrust prediction for Archvile attacks & rocket jumps 
related to 0001222closed Torr Samaho Players who jitter due to a bad connection can void collision detection 
related to 0002294feedback  Very evident misprediction of movement on raising floors in general 
? zmisprediction_01.wad (1,870) 2012-09-27 10:04
/tracker/file_download.php?file_id=765&type=bug
? 2012.09.27_11.57.14_zmisprediction_01.cld (72,723) 2012-09-27 10:05
/tracker/file_download.php?file_id=766&type=bug
? floor_lowerbyvalue_test_02.wad (1,382) 2012-09-30 10:43
/tracker/file_download.php?file_id=769&type=bug
? floor_lowerbyvalue_test_03.wad (2,944) 2012-10-01 03:48
/tracker/file_download.php?file_id=770&type=bug
? 2012.10.01_05.41.56_floor_lowerbyvalue_test_03.cld (66,808) 2012-10-01 03:48
/tracker/file_download.php?file_id=771&type=bug
? 2012.10.08_01.26.15_zmisprediction_01.cld (43,353) 2012-10-07 23:39
/tracker/file_download.php?file_id=797&type=bug
? player_bridge_desync_test_04.wad (6,204) 2012-10-14 18:46
/tracker/file_download.php?file_id=811&type=bug
? 2012.10.14_20.43.32_player_bridge_desync_test_04.cld (26,021) 2012-10-14 18:46
/tracker/file_download.php?file_id=812&type=bug
? 2012.10.15_23.41.07_player_bridge_desync_test_04.cld (17,828) 2012-10-15 21:43
/tracker/file_download.php?file_id=818&type=bug
? 2012.10.21_21.11.28_player_bridge_desync_test_04.cld (38,168) 2012-10-21 19:14
/tracker/file_download.php?file_id=827&type=bug
? zmisprediction_04.wad (8,158) 2012-10-21 21:50
/tracker/file_download.php?file_id=828&type=bug
? 2012.10.21_23.42.09_zmisprediction_04.cld (18,919) 2012-10-21 21:50
/tracker/file_download.php?file_id=829&type=bug
? player_bridge_desync_test_06.wad (6,168) 2012-10-22 05:20
/tracker/file_download.php?file_id=830&type=bug
? 2012.10.22_07.03.29_player_bridge_desync_test_06.cld (37,551) 2012-10-22 05:20
/tracker/file_download.php?file_id=831&type=bug
? 2012.10.22_23.04.09_player_bridge_desync_test_04.cld (31,798) 2012-10-22 21:26
/tracker/file_download.php?file_id=832&type=bug
? 2012.10.24_00.16.29_zmisprediction_04.cld (32,203) 2012-10-23 22:26
/tracker/file_download.php?file_id=835&type=bug
? 2012.10.24_08.41.59_player_bridge_desync_test_06.cld (35,980) 2012-10-24 07:03
/tracker/file_download.php?file_id=836&type=bug
png Screenshot_Doom_20121024_084832_03.png (498,794) 2012-10-24 07:15
/tracker/file_download.php?file_id=837&type=bug
? 2012.11.12_22.41.51_doom2.cld (17,967) 2012-11-12 21:51
/tracker/file_download.php?file_id=885&type=bug
Issue History
2012-09-27 10:04unknownnaNew Issue
2012-09-27 10:04unknownnaFile Added: zmisprediction_01.wad
2012-09-27 10:05unknownnaFile Added: 2012.09.27_11.57.14_zmisprediction_01.cld
2012-09-27 10:05unknownnaStatusnew => confirmed
2012-09-27 10:13unknownnaNote Added: 0004825
2012-09-30 10:11Torr SamahoNote Added: 0004872
2012-09-30 10:12Torr SamahoAssigned To => Torr Samaho
2012-09-30 10:12Torr SamahoStatusconfirmed => assigned
2012-09-30 10:18Torr SamahoNote Edited: 0004872bug_revision_view_page.php?bugnote_id=4872#r2643
2012-09-30 10:18Torr SamahoStatusassigned => feedback
2012-09-30 10:43unknownnaFile Added: floor_lowerbyvalue_test_02.wad
2012-09-30 10:45unknownnaNote Added: 0004875
2012-09-30 10:45unknownnaStatusfeedback => assigned
2012-09-30 19:32Torr SamahoNote Added: 0004885
2012-09-30 19:33Torr SamahoStatusassigned => needs testing
2012-10-01 03:48unknownnaNote Added: 0004890
2012-10-01 03:48unknownnaFile Added: floor_lowerbyvalue_test_03.wad
2012-10-01 03:48unknownnaFile Added: 2012.10.01_05.41.56_floor_lowerbyvalue_test_03.cld
2012-10-01 03:50unknownnaNote Edited: 0004890bug_revision_view_page.php?bugnote_id=4890#r2651
2012-10-01 03:50unknownnaNote Edited: 0004890bug_revision_view_page.php?bugnote_id=4890#r2652
2012-10-01 20:09Torr SamahoNote Added: 0004901
2012-10-02 01:11unknownnaNote Added: 0004905
2012-10-06 20:15Torr SamahoNote Added: 0005007
2012-10-06 20:15Torr SamahoNote Edited: 0005007bug_revision_view_page.php?bugnote_id=5007#r2739
2012-10-06 20:16Torr SamahoNote Revision Dropped: 5007: 0002738
2012-10-06 20:19NotIvanNote Added: 0005008
2012-10-06 23:16unknownnaNote Added: 0005009
2012-10-06 23:17unknownnaNote Edited: 0005009bug_revision_view_page.php?bugnote_id=5009#r2741
2012-10-07 08:29Torr SamahoNote Added: 0005015
2012-10-07 08:55unknownnaNote Added: 0005017
2012-10-07 21:16Torr SamahoNote Added: 0005043
2012-10-07 23:39unknownnaNote Added: 0005046
2012-10-07 23:39unknownnaFile Added: 2012.10.08_01.26.15_zmisprediction_01.cld
2012-10-12 23:02unknownnaRelationship addedrelated to 0000517
2012-10-14 08:13Torr SamahoNote Added: 0005095
2012-10-14 11:12unknownnaNote Added: 0005100
2012-10-14 12:43Torr SamahoNote Added: 0005103
2012-10-14 13:58unknownnaNote Added: 0005106
2012-10-14 17:28Torr SamahoNote Added: 0005111
2012-10-14 18:21unknownnaNote Added: 0005112
2012-10-14 18:26Torr SamahoNote Added: 0005114
2012-10-14 18:46unknownnaFile Added: player_bridge_desync_test_04.wad
2012-10-14 18:46unknownnaFile Added: 2012.10.14_20.43.32_player_bridge_desync_test_04.cld
2012-10-14 18:46unknownnaNote Added: 0005116
2012-10-15 00:14unknownnaNote Edited: 0005116bug_revision_view_page.php?bugnote_id=5116#r2794
2012-10-15 00:19unknownnaNote Edited: 0005116bug_revision_view_page.php?bugnote_id=5116#r2795
2012-10-15 20:50Torr SamahoNote Added: 0005126
2012-10-15 21:43unknownnaFile Added: 2012.10.15_23.41.07_player_bridge_desync_test_04.cld
2012-10-15 21:44unknownnaNote Added: 0005128
2012-10-16 04:44unknownnaNote Edited: 0005128bug_revision_view_page.php?bugnote_id=5128#r2801
2012-10-21 19:00unknownnaNote Added: 0005163
2012-10-21 19:02Torr SamahoNote Added: 0005164
2012-10-21 19:14unknownnaFile Added: 2012.10.21_21.11.28_player_bridge_desync_test_04.cld
2012-10-21 19:14unknownnaNote Added: 0005166
2012-10-21 21:09Torr SamahoNote Added: 0005168
2012-10-21 21:50unknownnaFile Added: zmisprediction_04.wad
2012-10-21 21:50unknownnaFile Added: 2012.10.21_23.42.09_zmisprediction_04.cld
2012-10-21 21:51unknownnaNote Added: 0005169
2012-10-22 05:20unknownnaFile Added: player_bridge_desync_test_06.wad
2012-10-22 05:20unknownnaFile Added: 2012.10.22_07.03.29_player_bridge_desync_test_06.cld
2012-10-22 05:21unknownnaNote Added: 0005170
2012-10-22 05:21Torr SamahoNote Added: 0005171
2012-10-22 05:48unknownnaNote Added: 0005172
2012-10-22 05:49unknownnaNote Edited: 0005172bug_revision_view_page.php?bugnote_id=5172#r2823
2012-10-22 20:02Torr SamahoNote Added: 0005174
2012-10-22 21:25unknownnaNote Added: 0005175
2012-10-22 21:26unknownnaFile Added: 2012.10.22_23.04.09_player_bridge_desync_test_04.cld
2012-10-23 21:14Torr SamahoNote Added: 0005179
2012-10-23 22:26unknownnaNote Added: 0005182
2012-10-23 22:26unknownnaFile Added: 2012.10.24_00.16.29_zmisprediction_04.cld
2012-10-23 23:43unknownnaNote View State: 0005116: private
2012-10-23 23:44unknownnaNote View State: 0005116: public
2012-10-24 05:28Torr SamahoNote Added: 0005186
2012-10-24 07:02unknownnaNote Added: 0005187
2012-10-24 07:03unknownnaFile Added: 2012.10.24_08.41.59_player_bridge_desync_test_06.cld
2012-10-24 07:15unknownnaFile Added: Screenshot_Doom_20121024_084832_03.png
2012-10-24 07:15unknownnaNote Edited: 0005187bug_revision_view_page.php?bugnote_id=5187#r2831
2012-10-24 19:56Torr SamahoNote Added: 0005190
2012-10-24 20:46unknownnaNote Added: 0005192
2012-10-25 19:16unknownnaRelationship addedparent of 0000047
2012-11-12 21:50unknownnaNote Added: 0005391
2012-11-12 21:51unknownnaFile Added: 2012.11.12_22.41.51_doom2.cld
2012-11-12 21:54unknownnaNote Edited: 0005391bug_revision_view_page.php?bugnote_id=5391#r2972
2012-11-12 22:17unknownnaNote Edited: 0005391bug_revision_view_page.php?bugnote_id=5391#r2973
2012-12-18 20:47DuskTarget Version => 1.1
2013-04-06 02:31ArcoNote Added: 0006240
2013-04-07 20:19DuskRelationship addedrelated to 0001222
2013-04-07 20:19DuskNote Added: 0006270
2013-04-07 20:19DuskStatusneeds testing => resolved
2013-04-07 20:19DuskFixed in Version => 1.1
2013-04-07 20:19DuskResolutionopen => fixed
2015-07-10 22:11unknownnaRelationship addedrelated to 0002294
2018-09-30 20:15Blzut3Statusresolved => closed

Notes
(0004825)
unknownna   
2012-09-27 10:13   
You can see in the demo that the client successfully predicted its drop when shot with a shotgun, so I think that it should be possible to improve the current behavior.
(0004872)
Torr Samaho   
2012-09-30 10:11   
(edited on: 2012-09-30 10:18)
That's a bug in the prediction code (the part that pushes you down to the floor when you started your tic on the floor). I have to analyze this more closely to see how it can be fixed.

EDIT: This has to do with the code that keeps the prediction smooth when on a lowering floor. Do you have a simple example wad with a moving floor at hand so that I can check that the new fix doesn't break the prediction on moving floors?

(0004875)
unknownna   
2012-09-30 10:45   
Quote from Torr Samaho
Do you have a simple example wad with a moving floor at hand so that I can check that the new fix doesn't break the prediction on moving floors?

Yes. The linedef in front of the player will lower the floor. Press +use when the floor has lowered. It will then raise to the original position.
(0004885)
Torr Samaho   
2012-09-30 19:32   
This hopefully works better. This is more a band-aid than real fix though. I'm also not sure how well this works on fast moving floors.
(0004890)
unknownna   
2012-10-01 03:48   
(edited on: 2012-10-01 03:50)
Quote from Torr Samaho
This hopefully works better.

Amazing work, Torr. It dramatically improved the behavior. What a great relief it is to finally have all these ancient ST bugs fixed. Trust me, most players, and particularly competitive players, will appreciate these fixes a lot.

Quote from Torr Samaho
I'm also not sure how well this works on fast moving floors.

It doesn't always predict that you're supposed to drop down when the floor moves faster than the gravity pull. You won't hear the DSOOF sound locally under certain circumstances (600 ping).

And the client will sometimes think that it's on the higher floor when it actually is on the lowering floor.

There's another ancient ST bug that you also see very often online: Try to hold +jump and +forward while a floor is lowering/raising itself. The client will start to greatly mispredict its movement pretty quickly. It will then permanently mispredict its jump pattern till you release +jump. It'd be very nice if this particular desync could be fixed.

I made an example WAD and recorded a demo of the 3 issues. The +jump desync is the most important one.

zandronum.exe -file floor_lowerbyvalue_test_03.wad -playdemo 2012.10.01_05.41.56_floor_lowerbyvalue_test_03.cld


(0004901)
Torr Samaho   
2012-10-01 20:09   
Quote from unknownna
It doesn't always predict that you're supposed to drop down when the floor moves faster than the gravity pull. You won't hear the DSOOF sound locally under certain circumstances (600 ping).
Just a quick question before I start analyzing the new demo: Does the new fix make the behavior of fast moving floors any worse than before or is it just the same?
(0004905)
unknownna   
2012-10-02 01:11   
It seems to be a bit smoother in 1.0.
(0005007)
Torr Samaho   
2012-10-06 20:15   
Quote from unknownna
It seems to be a bit smoother in 1.0.
Can you elaborate? I tried your new example wad in 1.0 and in the current testing binary and the latter didn't seem to be less smooth. Can you elaborate?

Quote from unknownna
And the client will sometimes think that it's on the higher floor when it actually is on the lowering floor.
This binary should improve the behavior, the view shouldn't get stuck on the higher floor anymore. At least it's fixed in your demo.

(0005008)
NotIvan   
2012-10-06 20:19   
Doesn't this happen with monsters as well? Some monsters, while trying to drop off of a ledge sometimes "teleport" up and down until they actually fall.
(0005009)
unknownna   
2012-10-06 23:16   
(edited on: 2012-10-06 23:17)
Quote from Torr Samaho
This binary should improve the behavior, the view shouldn't get stuck on the higher floor anymore. At least it's fixed in your demo.

Indeed, it took care of the issue. Well done.

Quote from Torr Samaho
Can you elaborate? I tried your new example wad in 1.0 and in the current testing binary and the latter didn't seem to be less smooth. Can you elaborate?

When comparing 1.0 and the latest testing binary side by side, both with an emulated ping of 603, I notice a difference between the two: In 1.0, you're not pulled back as much when dropping down. When you've landed in the testing binary, the client pulls itself back a little.

Actually, cl_ticsperupdate seems to play a role here. If it's set to 1, 1.0 feels smoother to me and it's easier to control the player movement there. But if it's set to 3, the testing binary feels a bit better.

(0005015)
Torr Samaho   
2012-10-07 08:29   
Ah, I only tried with "cl_ticsperupdate 3", that explains the differences. I further worked on the prediction: Please test if this is as smooth as 1.0.
(0005017)
unknownna   
2012-10-07 08:55   
Quote from Torr Samaho
Please test if this is as smooth as 1.0.

Yes, this seems to be even smoother than 1.0.
(0005043)
Torr Samaho   
2012-10-07 21:16   
One thing that's also important to test: Can you confirm that the prediction still works well while walking on bridge things?
(0005046)
unknownna   
2012-10-07 23:39   
Quote from Torr Samaho
Can you confirm that the prediction still works well while walking on bridge things?

The prediction still seems to work well when moving, jumping and bumping into other players on bridge things in this binary. But I noticed that the client now puts itself on the lowest floor if shot while standing on bridge/floor ledges. I recorded a small demo of the issue. It seems that it started to break in this binary.
(0005095)
Torr Samaho   
2012-10-14 08:13   
Quote from unknownna
It seems that it started to break in this binary.
That is caused by the different handling that prevents to unsmoothen the movement on fast moving floors. We may be forced to decide what we prefer here. The current z-prediction should be much better now than it was in 1.0 (can be seen in 2012.09.27_11.57.14_zmisprediction_01.cld). If you have to decide, what would you prefer?
(0005100)
unknownna   
2012-10-14 11:12   
Quote from Torr Samaho
If you have to decide, what would you prefer?

That's a tough one. Obviously competitive players hate to fall to the lowest floors instantly, so the first fix seems to completely take care of that issue. But at the same time, the binary that broke the z prediction also fixed the door, rocket jump and archvile blast issue, and also made Zandronum feel nearly identical to ZDaemon. So the newer fixes are also highly desired.

Why do we have to stop now? I still feel that it should be possible to fix the issue here, even though it might get complicated.
(0005103)
Torr Samaho   
2012-10-14 12:43   
Quote from unknownna
Obviously competitive players hate to fall to the lowest floors instantly, so the first fix seems to completely take care of that issue. But at the same time, the binary that broke the z prediction also fixed the door, rocket jump and archvile blast issue, and also made Zandronum feel nearly identical to ZDaemon. So the newer fixes are also highly desired.

You misunderstood me. I can combine both fixes, but in that case the non-smooth movement on fast moving floors will be back. So the potential decision only would have been between increased accuracy at ledges and more smoothness on fast moving floors.

Quote from unknownna
Why do we have to stop now? I still feel that it should be possible to fix the issue here, even though it might get complicated.

The prediction is a difficile issue and I think we are about to reach a point where small improvements require enormous amounts of work.

Anyway, I probably found a different way to fix this, without reintroducing the problems on fast moving floors. Please test if this binary works better.
(0005106)
unknownna   
2012-10-14 13:58   
Quote from Torr Samaho
Please test if this binary works better.

Thanks, this works a lot better. But in floor_lowerbyvalue_test_03.wad, there's still no DSOOF sound when landing like in ZDaemon. And ZDaemon handles the +jump desync a bit better when compared side by side, both with an emulated ping of 603. ZDaemon seems to re-sync itself again, but Zandronum stays desynced till you release +jump. But Zandronum is now smoother than ZDaemon when standing on a fast moving floor.

Quote from Torr Samaho
The prediction is a difficile issue [...]

I disagree. Once the evident mispredictions are fixed, people will shut up and move on. People stopped complaining about the weak SSG when we implemented the old RNG. People stopped complaining about the weapon desyncs when we fixed most of them. People stopped complaining about falling through bridge things and jittering when jumping on them when we fixed the desyncs. People will stop complaining about these issues too if we manage to fix them. These bugs are are small on paper, but you notice them all the time as a player, and it makes the port very unattractive to play on as a player who takes himself and his skill seriously. Most of these issues have never been dealt with since ST's birth. It's no wonder that many people lost all hope and faith of having them fixed. But now is the chance. Right now we're thoroughly dealing with them once and for all. And I must say that you've done one hell of a job with all of this.

I got a question: How come the client starts to jitter and almost don't see any z thrusting locally when rocket jumping on bridge things? It's completely smooth on regular floors.
(0005111)
Torr Samaho   
2012-10-14 17:28   
Quote from unknownna
But in floor_lowerbyvalue_test_03.wad, there's still no DSOOF sound when landing like in ZDaemon. And ZDaemon handles the +jump desync a bit better when compared side by side, both with an emulated ping of 603.

I didn't touch the jumping stuff at all. This binary was just intended to fix the problems when falling off a ledge.

Quote from unknownna
Quote from Torr Samaho
The prediction is a difficile issue [...]
I disagree. [...]

I guess my statement was too ambiguous, I was only referring to the implementation to be difficile. I fully agree that a good prediction is very important, that's why I have been spending so much time on it lately. Nevertheless, it's difficult to improve it and the more we already worked on it, the more difficult it gets.

Quote from unknownna
I got a question: How come the client starts to jitter and almost don't see any z thrusting locally when rocket jumping on bridge things? It's completely smooth on regular floors.

Standing on floors and standing on objects is handled differently. Please test if this binary is better. Please also test how it affects jumping on bridge things and real floors (it may very well break or improve the jumping behavior).
(0005112)
unknownna   
2012-10-14 18:21   
Quote from Torr Samaho
I fully agree that a good prediction is very important, that's why I have been spending so much time on it lately.

It's good to know that we're on the same team. Thanks.

Quote from Torr Samaho
Please test if this binary is better.

Hmm, I don't notice any improvement. There's a little difference, but no improvement.

And I also noticed that the client will put itself above bridge things if the client passes beneath them when thrusted by something, e.g., a SSG shot, while standing on bridge things. The client thinks that it's above the bridge things when it actually is under them. But this also happens in the original fix as well. Surprisingly, this doesn't happen in 1.0.

Quote from Torr Samaho
Please also test how it affects jumping on bridge things and real floors (it may very well break or improve the jumping behavior).

Jumping still seems to work like before.
(0005114)
Torr Samaho   
2012-10-14 18:26   
Quote from unknownna

Hmm, I don't notice any improvement. There's a little difference, but no improvement.

Can you make a short demo of the rocket jumping problems on bridges? For me the behavior improved noticeably with the last change, but possibly I'm looking at something different than you.
(0005116)
unknownna   
2012-10-14 18:46   
(edited on: 2012-10-15 00:19)
Quote from Torr Samaho
Can you make a short demo of the rocket jumping problems on bridges?

zandronum.exe -file player_bridge_desync_test_04.wad -playdemo 2012.10.14_20.43.32_player_bridge_desync_test_04.cld

There's no z thrusting on the bridge thing.

Edit:

Quote from Torr Samaho
For me the behavior improved noticeably with the last change, but possibly I'm looking at something different than you.

I stand corrected. You're right, but it's still not good enough.

(0005126)
Torr Samaho   
2012-10-15 20:50   
This also seems to work on 2012.10.14_20.43.32_player_bridge_desync_test_04.cld, but no guarantees that it works well enough or doesn't break anything else...
(0005128)
unknownna   
2012-10-15 21:44   
(edited on: 2012-10-16 04:44)
Yes, this is nearly perfect. But I still notice some jitter on bridge things compared to real floors. If you press +forward a little after being thrusted by the explosion, the client pulls itself back. I recorded a small demo of the issue.

zandronum.exe -file player_bridge_desync_test_04.wad -playdemo 2012.10.15_23.41.07_player_bridge_desync_test_04.cld


(0005163)
unknownna   
2012-10-21 19:00   
Quote from unknownna
And I also noticed that the client will put itself above bridge things if the client passes beneath them when thrusted by something, e.g., a SSG shot, while standing on bridge things. The client thinks that it's above the bridge things when it actually is under them. But this also happens in the original fix as well. Surprisingly, this doesn't happen in 1.0.

I was able to reproduce this in 1.0 as well, but it's easier to reproduce it in the newer builds.
(0005164)
Torr Samaho   
2012-10-21 19:02   
Do you have a demo of this?
(0005166)
unknownna   
2012-10-21 19:14   
Quote from Torr Samaho
Do you have a demo of this?

zandronum.exe -file player_bridge_desync_test_04.wad -playdemo 2012.10.21_21.11.28_player_bridge_desync_test_04.cld
(0005168)
Torr Samaho   
2012-10-21 21:09   
Please check if this is better without breaking anything else.
(0005169)
unknownna   
2012-10-21 21:51   
Excellent. It fixed the issue and rocket jumping is now almost completely smooth on bridge things, but it can now look like the client puts itself on the lowest floor if you have a high ping (603). You can see that in the demo. I don't consider it to be a bug though.

One thing I noticed is that the client temporarily mispredicts its z postition if moving from a lowering floor to bridge things. The view flickers from being on the lowering floor to being above the bridge thing. I recorded a small demo if the issue. I didn't notice this in 1.0.

zandronum.exe -file zmisprediction_04.wad -playdemo 2012.10.21_23.42.09_zmisprediction_04.cld

We're almost there.
(0005170)
unknownna   
2012-10-22 05:21   
Quote from unknownna
[...] and rocket jumping is now almost completely smooth on bridge things [...]

And here's a demo of what seems to be the final bridge thing rocket jump issue. If the bridge things have different z positions, the client will jitter when sliding on them after being thrusted by something, e.g., a rocket explosion.

zandronum.exe -file player_bridge_desync_test_06.wad -playdemo 2012.10.22_07.03.29_player_bridge_desync_test_06.cld
(0005171)
Torr Samaho   
2012-10-22 05:21   
Do these two things only happen in the latest prediction test binary or also in some of the earlier ones?
(0005172)
unknownna   
2012-10-22 05:48   
(edited on: 2012-10-22 05:49)
Quote from Torr Samaho
Do these two things only happen in the latest prediction test binary or also in some of the earlier ones?

Only in the latest binary does it look like the client puts itself on the lowest floor after being thrusted on a ledge by something when having a high ping (600). I don't think that it's a bug, but rather a natural side effect of the latency. If the floor height differences are bigger, you'll see the drop. In the earlier builds you saw the drop, but it jittered. You see the drop anyway if you have medium ping (300). There's no jitter present now.

The other issue also occurred in earlier binaries as well, but it's a bit different in the various binaries. Practically it's a minor issue since you're very unlikely to encounter the situation normally. But the final rocket jump issue is present in IDL: MAP04.

(0005174)
Torr Samaho   
2012-10-22 20:02   
It looks like all the band-aids converge to something. I now significantly changed how the "on ground" status is handled. Please test how well this works.
(0005175)
unknownna   
2012-10-22 21:25   
Now this is a lot better. Rocket jumping is now pretty much completely smooth on bridge things. It seems that you finally nailed it. Well done.

But I still notice the view flicker issue in zmisprediction_04.wad. I think it has something to do with sliding on the bridge things from the sides. I think I managed to capture the effect in a demo. The 3rd time the client is thrusted by a SSG shot, it temporarily mispredicts its z position.

zandronum.exe -file player_bridge_desync_test_04.wad -playdemo 2012.10.22_23.04.09_player_bridge_desync_test_04.cld
(0005179)
Torr Samaho   
2012-10-23 21:14   
The effect in 2012.10.22_23.04.09_player_bridge_desync_test_04.cld is hardly noticeable, I can't say for sure if it's a bug of the prediction or a misprediction caused by the latency. Is there any way to make the effect more pronounced?

BTW: I think I found a way to further simplify the code. Can you check if this works exactly like the last testing binary?
(0005182)
unknownna   
2012-10-23 22:26   
Quote from Torr Samaho
Can you check if this works exactly like the last testing binary?

It seems to work exactly like the last testing binary.

Quote from Torr Samaho
Is there any way to make the effect more pronounced?

I can only think of the example in zmisprediction_04.wad. I recorded a small demo of it with the new binary.

zandronum -file zmisprediction_04.wad -playdemo 2012.10.24_00.16.29_zmisprediction_04.cld
(0005186)
Torr Samaho   
2012-10-24 05:28   
I'm pretty sure that 2012.10.24_00.16.29_zmisprediction_04.cld shows a side effect of the way the movement on moving floors is kept smooth and is independent of the effect happening in 2012.10.22_23.04.09_player_bridge_desync_test_04.cld.
(0005187)
unknownna   
2012-10-24 07:02   
(edited on: 2012-10-24 07:15)
Hmm, it seems to be some sort of a jitter that you don't really feel in the player movement. I notice it in player_bridge_desync_test_06.wad, but as you said, it's hardly noticeable. If I record a demo I can see it as a demo spectator: The rocket thrusts that thrust the player away from the wall when compat_explosionthrust is 1 sometimes thrust the player a bit too far. The client pulls itself back before the proper momentum kicks in. I can also see this if I snap multiple screenshots of the thrusts.

Does this demo that I recorded with the latest binary reveal anything? First the angle is perfect and the thrusts are smooth, but when I alter the angle the thrusts cause the client to jitter.

zandronum -file player_bridge_desync_test_06.wad -playdemo 2012.10.24_08.41.59_player_bridge_desync_test_06.cld

Edit:

I uploaded a screenshot of the jitter.

(0005190)
Torr Samaho   
2012-10-24 19:56   
The first person perspective of the demo looks very smooth to me.
(0005192)
unknownna   
2012-10-24 20:46   
It is indeed very smooth. Are you able to see the jitter when you're a demo spectator? Try to set cl_capfps to 1. It seems to make it more noticeable.
(0005391)
unknownna   
2012-11-12 21:50   
(edited on: 2012-11-12 22:17)
I'm noticing a characteristic jitter on SOLID things. Does this demo reveal anything? I recorded it in DOOM2: MAP03.

zandronum -playdemo 2012.11.12_22.41.51_doom2.cld

Quote from NotIvan
Doesn't this happen with monsters as well? Some monsters, while trying to drop off of a ledge sometimes "teleport" up and down until they actually fall.

Yes, but it's a separate issue.

Edit:

I think the new demo is actually displaying the +jump desync. It doesn't happen if I only press +jump once.

(0006240)
Arco   
2013-04-06 02:31   
I have tried v06 with the latest version with induced lag and it appears fine. I may test again later on.
(0006270)
Dusk   
2013-04-07 20:19   
Quote
I'm noticing a characteristic jitter on SOLID things. Does this demo reveal anything? I recorded it in DOOM2: MAP03.

This is reported as 0001222

I'm closing this now that all other issues appear to be resolved and confirmed as fixed.