Zandronum Chat on our Discord Server Get the latest version: 3.0
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000042Zandronum[All Projects] Bugpublic2010-09-20 21:332011-08-11 17:54
Reporterunknownna 
Assigned ToTorr Samaho 
PriorityurgentSeveritymajorReproducibilitysometimes
StatusassignedResolutionopen 
PlatformMicrosoftOSWindowsOS VersionXP/Vista/7
Product Version98c 
Target VersionFixed in Version 
Summary0000042: player death sequence starts at a much higher floor height
DescriptionIf you manage to frag a player who is standing next to a wall, the corpse will sometimes begin it's death sequence at a higher floor height, even though the higher floor is much taller in map units compared to the floor the player was standing on. The player dies at a floor height of 40, but the death sequence starts at a floor height of 168.

Please watch the demo that I've included in this report. The second frag showcases the glitch. Also, Wartorn told me that if you set 'cl_capfps' to 0, the corpse will be seen as flickering between the higher and lower floor.

Done in a local server with an emulated ping of 235ms.
Attached Files? file icon 2010.09.20_22.41.59_dwango5.cld [^] (45,093 bytes) 2010-09-20 21:33
? file icon 2010.09.21_00.11.53_dwango5.cld [^] (169,258 bytes) 2010-09-20 22:20
? file icon playerposition_desync_test.wad [^] (1,050 bytes) 2010-10-04 11:58
? file icon 2010.10.04_13.54.58_playerposition_desync_test.cld [^] (55,265 bytes) 2010-10-04 11:59
? file icon playerposition_desync_test2.wad [^] (1,866 bytes) 2010-11-02 02:56
? file icon 2010.11.02_03.47.08_playerposition_desync_test2.cld [^] (82,797 bytes) 2010-11-02 02:56
png file icon Screenshot_Doom_20110426_030352.png [^] (36,833 bytes) 2011-04-26 01:04


? file icon playerposition_desync_test_03.wad [^] (1,881 bytes) 2011-04-26 01:05
png file icon Screenshot_Doom_20110426_034442.png [^] (40,225 bytes) 2011-04-26 01:46


png file icon Screenshot_Doom_20110811_194709.png [^] (129,733 bytes) 2011-08-11 17:53


? file icon playerposition_desync_test_04.wad [^] (1,881 bytes) 2011-08-11 17:54

- Relationships

-  Notes
User avatar (0000115)
Wartorn (reporter)
2010-09-20 22:27

Verified in 98d-2937. I don't think this is an easy fix, though.
User avatar (0000116)
unknownna (updater)
2010-09-20 22:37
edited on: 2010-09-21 03:50

Added a second demo. The client shooting the other client has an emulated ping of 335ms. It seemed very probable to happen with that setup; where the shooter had a higher ping than the one being shot.

The desynchronization is that the client of the shooter sees the other client as being on a higher floor, but the other client doesn't see itself as being on the higher floor. The demo is recorded from the shooter's POV, so coop-spying the other client won't allow you to see the desynchronization as it truly is.

User avatar (0000117)
Wartorn (reporter)
2010-09-20 22:54

Some additional insight: It seems to be really angle and position dependent, I could easily reproduce the problems based on the locations given in the demos, but not anywhere else.
User avatar (0000261)
unknownna (updater)
2010-10-04 12:06
edited on: 2010-11-02 02:54

Made an example WAD and a demo to it. It has nothing to do with the death sequence.

EDIT:

Made another example WAD with a demo to it. Demo uses 98c. Had no ping emulation. A simple pistol shot makes the other player flicker up to the higher floor.

User avatar (0001471)
unknownna (updater)
2011-04-26 01:06
edited on: 2011-04-26 01:19

Thanks to EmZee712 and Fluffles, we can now easily reproduce this issue.

Steps to reproduce:

1. Start a standard server with the example WAD loaded.
2. Connect two clients to the server.
3. Join the game with client A.
4. Bump into the diagonal wall with client A.

Edit:

Hmm, it seems that this only happens in 98e. It started to occur in build 3122M (software 3D floors).

User avatar (0001472)
Torr Samaho (administrator)
2011-04-26 01:37

> Hmm, it seems that this only happens in 98e. It started to occur in build 3122M (software 3D floors).

But it only happens online?
User avatar (0001473)
unknownna (updater)
2011-04-26 01:46
edited on: 2011-04-26 01:48

Yes. Another strange thing is that your bullet puffs are affected by it as well. This does not happen offline. But the bullet puff issue is also present in 98d.

User avatar (0001476)
unknownna (updater)
2011-04-26 04:38

IIRC, you fixed this issue in that build.
User avatar (0001721)
Torr Samaho (administrator)
2011-05-21 22:28

If this fixes the issue then I know what's causing it. In this case the fix will increase net traffic.
User avatar (0001725)
unknownna (updater)
2011-05-21 23:14
edited on: 2011-05-21 23:17

Very nice. It fixed the issue. But the issue is still present for your own puffs though.

> In this case the fix will increase net traffic.

No need to worry about this.

User avatar (0001727)
Torr Samaho (administrator)
2011-05-21 23:37

> But the issue is still present for your own puffs though.

I'm sure that this has the same reason: To save bandwidth the server only sent the player's position at 16 bit accuracy. When at a sector boundary, this could cause a player to be rounded to the neighboring sector and since a player can't be inside the floor, it was then raised to the floor height. I made the server sent the x/y position at full precision, fixing the problems for players. I really don't want to send the puffs at full precision though, since there are potentially a lot of puffs, this would eat a lot of bandwidth.

> No need to worry about this.

Well, at latest if a broadband connection is not enough anymore for simple deathmatch, we need to worry about these things.
User avatar (0001728)
unknownna (updater)
2011-05-22 00:14

> Well, at latest if a broadband connection is not enough anymore for simple deathmatch, we need to worry about these things.

It was only directed towards this particular case.

> I'm sure that this has the same reason: To save bandwidth the server only sent the player's position at 16 bit accuracy. When at a sector boundary, this could cause a player to be rounded to the neighboring sector and since a player can't be inside the floor, it was then raised to the floor height. I made the server sent the x/y position at full precision, fixing the problems for players. I really don't want to send the puffs at full precision though, since there are potentially a lot of puffs, this would eat a lot of bandwidth.

I see. I wonder where Spleen went. If ST had client-side puff prediction, this wouldn't be an issue, right? So the visual error has no effect on the gameplay? In that case, it's not so important to have it fixed.
User avatar (0001729)
Torr Samaho (administrator)
2011-05-22 00:28

> I wonder where Spleen went.

AFAIK he is too busy with RL issues.

> If ST had client-side puff prediction, this wouldn't be an issue, right?

Yes, puff prediction is a very difficult issue though. Unless it is 100% accurate (which likely is impossible to achieve), IMHO it's better not to do any puff prediction.

> So the visual error has no effect on the gameplay?

Other than the displayed puff position being off, it shouldn't have any effect.
User avatar (0001941)
unknownna (updater)
2011-07-24 07:17
edited on: 2011-07-24 07:20

> Yes, puff prediction is a very difficult issue though. Unless it is 100% accurate (which likely is impossible to achieve), IMHO it's better not to do any puff prediction.

It seems that ZDaemon's puff prediction works in a certain way. Clients only predict all the puffs that don't hit anything. But the puffs that hit something are delayed. So no blood puffs are predicted locally. Would it be possible to have a similar setup in ST?

User avatar (0001942)
Torr Samaho (administrator)
2011-07-24 12:01

> Clients only predict all the puffs that don't hit anything. But the puffs that hit something are delayed. So no blood puffs are predicted locally. Would it be possible to have a similar setup in ST?

This would be possible but still has the same problem: Unless you find a way to make the prediction perfectly accurate the client doesn't know exactly how many of the puffs hit and how many miss. So if you do it like this, it's very possible that you see too few or too many puffs.
User avatar (0002117)
unknownna (updater)
2011-08-11 17:52

The player z position still desyncs if the other player jumps near the ledges when "sv_aircontrol" is set to 0 and "compat_limited_airmovement" is set to 1 (oldschool). It looks pretty stupid since the player is seen as skipping from the higher floor to the lower floor rather than jumping.

Issue Community Support
Only registered users can voice their support. Click here to register, or here to log in.
Supporters: No one explicitly supports this issue yet.
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2010-09-20 21:33 unknownna New Issue
2010-09-20 21:33 unknownna File Added: 2010.09.20_22.41.59_dwango5.cld
2010-09-20 22:20 unknownna File Added: 2010.09.21_00.11.53_dwango5.cld
2010-09-20 22:27 Wartorn Note Added: 0000115
2010-09-20 22:37 unknownna Note Added: 0000116
2010-09-20 22:54 Wartorn Note Added: 0000117
2010-09-21 03:50 unknownna Note Edited: 0000116 View Revisions
2010-10-04 11:58 unknownna File Added: playerposition_desync_test.wad
2010-10-04 11:59 unknownna File Added: 2010.10.04_13.54.58_playerposition_desync_test.cld
2010-10-04 12:06 unknownna Note Added: 0000261
2010-10-04 12:06 unknownna Note Edited: 0000261 View Revisions
2010-11-02 02:54 unknownna Note Edited: 0000261 View Revisions
2010-11-02 02:56 unknownna File Added: playerposition_desync_test2.wad
2010-11-02 02:56 unknownna File Added: 2010.11.02_03.47.08_playerposition_desync_test2.cld
2011-04-26 01:04 unknownna File Added: Screenshot_Doom_20110426_030352.png
2011-04-26 01:05 unknownna File Added: playerposition_desync_test_03.wad
2011-04-26 01:06 unknownna Note Added: 0001471
2011-04-26 01:06 unknownna Status new => confirmed
2011-04-26 01:06 unknownna Priority low => high
2011-04-26 01:06 unknownna Severity minor => major
2011-04-26 01:16 unknownna Note Edited: 0001471 View Revisions
2011-04-26 01:19 unknownna Note Edited: 0001471 View Revisions
2011-04-26 01:23 unknownna Priority high => urgent
2011-04-26 01:37 Torr Samaho Note Added: 0001472
2011-04-26 01:46 unknownna Note Added: 0001473
2011-04-26 01:46 unknownna File Added: Screenshot_Doom_20110426_034442.png
2011-04-26 01:48 unknownna Note Edited: 0001473 View Revisions
2011-04-26 04:38 unknownna Note Added: 0001476
2011-05-21 22:28 Torr Samaho Note Added: 0001721
2011-05-21 22:53 Torr Samaho Assigned To => Torr Samaho
2011-05-21 22:53 Torr Samaho Status confirmed => feedback
2011-05-21 23:14 unknownna Note Added: 0001725
2011-05-21 23:14 unknownna Status feedback => assigned
2011-05-21 23:17 unknownna Note Edited: 0001725 View Revisions
2011-05-21 23:37 Torr Samaho Note Added: 0001727
2011-05-22 00:14 unknownna Note Added: 0001728
2011-05-22 00:28 Torr Samaho Note Added: 0001729
2011-07-24 07:17 unknownna Note Added: 0001941
2011-07-24 07:20 unknownna Note Edited: 0001941 View Revisions
2011-07-24 12:01 Torr Samaho Note Added: 0001942
2011-08-11 17:52 unknownna Note Added: 0002117
2011-08-11 17:53 unknownna File Added: Screenshot_Doom_20110811_194709.png
2011-08-11 17:54 unknownna File Added: playerposition_desync_test_04.wad
2012-06-09 13:22 Torr Samaho Category General => Bug






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker