Anonymous | Login | Signup for a new account | 2024-04-25 15:24 UTC |
My View | View Issues | Change Log | Roadmap | Zandronum Issue Support Ranking | Rules | My Account |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0002298 | Zandronum | [All Projects] Bug | public | 2015-06-09 02:18 | 2019-01-01 20:09 | ||||
Reporter | unknownna | ||||||||
Assigned To | Leonard | ||||||||
Priority | high | Severity | minor | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | 2.0 | ||||||||
Target Version | 3.1 | Fixed in Version | 3.1 | ||||||
Summary | 0002298: Ancient +jump misprediction that harks back to early Skulltag days | ||||||||
Description | If you have a high ping and hold +jump and then for instance bump into an actor that can't be predicted properly, e.g. a moving monster, the jump pattern will in most cases permanently desync until you release +jump. This causes all sorts of unnecessary jitter to appear. I also notice this behavior when jumping while standing on lowering/raising floors, e.g. when standing on lifts. It's a bit more difficult to reproduce the issue with players, but it's possible. | ||||||||
Steps To Reproduce | 1. zandronum -file jumping_01.wad -host 2. Connect a client to the server with an emulated ping of 603. 3. "addbot" in the server console 6 times. 4. Join the game. 5. Run into the bots while holding +jump and jumping from bridge things to real floors and vice versa. 6. Press +use to teleport to the next room. 7. Run into the zombiemen while holding +jump. 8. Press +use to teleport to the next room. 9. Hold +jump while pressing +use to activate the platform. 10. Press +use on the normal floor to teleport back to the starting room. | ||||||||
Additional Information | Once the jumping pattern has desynced, ZDaemon seems to automatically re-sync itself compared to Zandronum. It's not really a major issue in the sense that it's devastating, but it's noticeable when playing competitively and/or when getting a lag spike. | ||||||||
Attached Files | jumping_01.wad [^] (9,455 bytes) 2015-06-09 02:18 jumping_02.wad [^] (17,267 bytes) 2017-10-22 02:16 jumpTest.cld [^] (24,967 bytes) 2017-10-29 11:04 | ||||||||
Relationships | ||||||
|
Notes | |
(0018584) Leonard (developer) 2017-10-22 02:18 |
PR. I also attached a new testing wad that allows to reproduce the issue much faster: simply go in and out of the center sector once while holding +jump to get the desync (with 600 ping as reported). |
(0018632) Torr Samaho (administrator) 2017-10-28 11:08 |
Please see the comment I just left in the pull request. |
(0018633) Leonard (developer) 2017-10-28 14:37 |
I replied. |
(0018642) Torr Samaho (administrator) 2017-10-29 11:05 edited on: 2017-10-29 11:07 |
Thanks! The code looks good now, but with your example wad and an emulated ping of 300, I still easily get prediction errors. I attached a demo to illustrate the effect. Perhaps something went wrong when I applied your patch locally. Does this work for you with a ping of 300? |
(0018648) Leonard (developer) 2017-10-29 16:02 |
The patch works for me. After watching your demo, I think you misunderstand what should be fixed here: the misprediction in itself cannot be fixed (you are jumping on bridges which are solid on the server but not on the client), what this fixes is the permanent jumptics desync that would result from such mispredictions. You may notice that simply running without jumping into the bridges will make the client jitter as well: the position cannot be predicted either due to the nature of the misprediction. Quote from unknownna This is what the patch should fix. If you try without the patch and with 600 ping, the jumping pattern will never resync unless you let go of +jump. With the patch however, the jumping pattern resyncs itself almost immediatly (just like the position always did). Quote from unknownna In real conditions, this may happen when packets are dropped or with ping spikes, we just use 600 ping here because that means the client is teleported back high enough so as to not re-hit the ground and therefore change its jumptics every time. |
(0018690) Torr Samaho (administrator) 2017-10-31 19:06 |
Oh, wait. You are saying that your example wad jumping_02.wad intentionally desyncs client and server, so that you are supposed to get mispredictions even with the fix? That's quite unlike the usual example wads here. A small hint that the wad contains an unfixable sync issue that should be disregarded would have been helpful ;). I was apparently looking for the wrong thing. |
(0018692) Torr Samaho (administrator) 2017-10-31 19:30 |
I added your patch. |
(0018693) Leonard (developer) 2017-11-01 00:14 |
You're right, I didn't realise my first note implied the issue was the misprediction itself, my bad. |
(0019230) StrikerMan780 (reporter) 2018-05-08 21:26 |
Can someone upload a zandronum build with the interpolation bug fixed? The jitter makes this one harder for me to tell if there's something wrong or not. |
(0019234) StrikerMan780 (reporter) 2018-05-10 02:52 edited on: 2018-05-10 02:53 |
Ok, with a high simulated ping of 600, I can trigger some pretty nasty mispredictions by bumping into monsters in jumping_01.wad, but it doesn't stay screwed up, it corrects itself rather quickly. I guess this is normal? |
(0019238) Leonard (developer) 2018-05-10 12:50 |
If you're talking about the jumping pattern then yes, this is what the fix is supposed to do. |
(0019240) StrikerMan780 (reporter) 2018-05-11 19:55 |
Yes, I am. So I guess this can be marked as fixed then. |
This issue is already marked as resolved. If you feel that is not the case, please reopen it and explain why. |
|
Supporters: | unknownna Combinebobnt |
Opponents: | No one explicitly opposes this issue yet. |
Issue History | |||
Date Modified | Username | Field | Change |
2015-06-09 02:18 | unknownna | New Issue | |
2015-06-09 02:18 | unknownna | File Added: jumping_01.wad | |
2015-06-09 02:18 | unknownna | Status | new => confirmed |
2015-06-17 03:55 | unknownna | Relationship added | related to 0000106 |
2017-10-22 02:16 | Leonard | File Added: jumping_02.wad | |
2017-10-22 02:18 | Leonard | Note Added: 0018584 | |
2017-10-22 02:18 | Leonard | Assigned To | => Leonard |
2017-10-22 02:18 | Leonard | Status | confirmed => needs review |
2017-10-22 02:18 | Leonard | Target Version | => 3.1 |
2017-10-28 11:08 | Torr Samaho | Note Added: 0018632 | |
2017-10-28 11:09 | Torr Samaho | Status | needs review => assigned |
2017-10-28 14:37 | Leonard | Note Added: 0018633 | |
2017-10-28 14:37 | Leonard | Status | assigned => needs review |
2017-10-29 11:04 | Torr Samaho | File Added: jumpTest.cld | |
2017-10-29 11:05 | Torr Samaho | Note Added: 0018642 | |
2017-10-29 11:06 | Torr Samaho | Status | needs review => assigned |
2017-10-29 11:07 | Torr Samaho | Note Edited: 0018642 | View Revisions |
2017-10-29 16:02 | Leonard | Note Added: 0018648 | |
2017-10-29 16:02 | Leonard | Status | assigned => needs review |
2017-10-31 19:06 | Torr Samaho | Note Added: 0018690 | |
2017-10-31 19:30 | Torr Samaho | Note Added: 0018692 | |
2017-10-31 19:30 | Torr Samaho | Status | needs review => needs testing |
2017-11-01 00:14 | Leonard | Note Added: 0018693 | |
2018-05-08 21:26 | StrikerMan780 | Note Added: 0019230 | |
2018-05-10 02:52 | StrikerMan780 | Note Added: 0019234 | |
2018-05-10 02:53 | StrikerMan780 | Note Edited: 0019234 | View Revisions |
2018-05-10 12:50 | Leonard | Note Added: 0019238 | |
2018-05-11 19:55 | StrikerMan780 | Note Added: 0019240 | |
2018-05-13 12:44 | Leonard | Status | needs testing => resolved |
2018-05-13 12:44 | Leonard | Resolution | open => fixed |
2018-05-13 12:44 | Leonard | Fixed in Version | => 3.1 |
Copyright © 2000 - 2024 MantisBT Team |