View Issue Details

IDProjectCategoryView StatusLast Update
0004924The Dark ModPhysicspublic01.02.2019 05:41
ReporterstgatilovAssigned To 
PrioritynormalSeveritynormalReproducibilityalways
Status newResolutionopen 
PlatformOSWindowsOS Versionx64
Product VersionTDM 2.06 
Target VersionTDM 2.08Fixed in Version 
Summary0004924: Rope physics mad when FPS is low and uncapped
DescriptionWhen uncapped FPS is on (aka com_fixedTic 1), most of physics is modeled with arbitrary deltatime depending on framerate (instead of fixed 16 ms step).
When FPS is low, rope physics becomes crazy if you try to swing on it.

Originally posted here:
  http://forums.thedarkmod.com/topic/19774-beta-testing-207/page-4#entry431563
Steps To Reproduce1. Load a mission with rope (e.g. PD3: Erasing the Trail).
2. Find the rope (e.g. at coords 5293.07 896.25 108.25 15.2 18.4 0.0).
3. Enable "Uncapped FPS".
4. Make sure FPS gets low (e.g. use antialiasing + high-quality soft shadows).
5. Get yourself onto the rope (e.g. using noclip temporarily).
6. Try to swing on the rope and then jump from it.
7. Look back at the rope.

In my case, I am thrown out from the rope immediately when I try to swing on it. The rope is jumping around like a crazy polyline after that.

The problem happens when:
  com_fixedTic 1, FPS = 30
The problem does not happen when:
  com_fixedTic 0, FPS = 30
  com_fixedTic 1, FPS = 60

The video showing the problem:
  https://drive.google.com/open?id=1yyRNg7nvZYxjnHdEimxkD1sL33iJWx3M
TagsNo tags attached.

Relationships

related to 0004983 new AIs randomly dying with uncapped and low FPS 
child of 0004493 resolvedduzenko Some physics events have changed in 2.05 due to faster fps 

Activities

duzenko

duzenko

23.12.2018 14:39

developer   ~0011070

Last edited: 23.12.2018 14:41

View 2 revisions

Isn't com_fixedTic 0 a sufficient and complete fix for this?
If we really want to make it fluid then someone needs to dive into the rope code in search of hardcoded const's

stgatilov

stgatilov

23.12.2018 14:44

developer   ~0011072

Yes, disabling "Uncapped FPS" removes the problem completely.
So it is not critical for release, hence scheduled for 2.08.

I understand that it is not a simple problem, but I hope someone could fix it in some future =)
STiFU

STiFU

31.12.2018 13:26

developer   ~0011195

If someone goes into this issue, maybe it could also be investigated why rope-swing is so clumsy.
STiFU

STiFU

06.01.2019 19:29

developer   ~0011250

These crazy rope physics also affect the player when he is attached to it, btw. Try it e.g. on the training mission.

Although I have a decent rig, running the latest Debug build (rev. 7897) resulted in 20 to 30 fps. In the training mission, I just jumped on the hanging rope over the channel and was thrown around like crazy, eventually landing in the water, while awkwardly still being attached to the rope.
nbohr1more

nbohr1more

07.01.2019 02:57

developer   ~0011251

Last edited: 07.01.2019 04:13

View 5 revisions

I'm gonna try a little hack to improve 2.07 until a proper solution is derived:

game_local.cpp

if ( idSessionLocal::com_fixedTic.GetBool() && com_timescale.GetFloat() == 1 && !physicsObj.OnRope() )

Edit: Doesn't work when applied to just game_local...

stgatilov

stgatilov

07.01.2019 04:32

developer   ~0011252

Nbohr1more, please do not hack everything to make it work.
It might happen soon that nobody will be able to understand how different modes interact with each other.

I understand that debug visualization tools are much easier to send to non-capped mode than support them properly, and they are not for ordinary player. But please do NOT toggle uncapped FPS for ordinary gameplay.
nbohr1more

nbohr1more

07.01.2019 04:47

developer   ~0011253

Understood.

I wasn't really happy with this workaround anyway.

Issue History

Date Modified Username Field Change
23.12.2018 12:45 stgatilov New Issue
23.12.2018 12:46 stgatilov Steps to Reproduce Updated View Revisions
23.12.2018 12:50 stgatilov Product Version TDM 2.07 => TDM 2.06
23.12.2018 12:50 stgatilov Description Updated View Revisions
23.12.2018 12:50 stgatilov Target Version => TDM 2.08
23.12.2018 12:53 stgatilov Relationship added related to 0004493
23.12.2018 14:39 duzenko Note Added: 0011070
23.12.2018 14:41 duzenko Note Edited: 0011070 View Revisions
23.12.2018 14:44 stgatilov Note Added: 0011072
31.12.2018 13:26 STiFU Note Added: 0011195
06.01.2019 19:29 STiFU Note Added: 0011250
07.01.2019 02:57 nbohr1more Note Added: 0011251
07.01.2019 03:20 nbohr1more Note Edited: 0011251 View Revisions
07.01.2019 03:48 nbohr1more Note Edited: 0011251 View Revisions
07.01.2019 04:12 nbohr1more Note Edited: 0011251 View Revisions
07.01.2019 04:13 nbohr1more Note Edited: 0011251 View Revisions
07.01.2019 04:32 stgatilov Note Added: 0011252
07.01.2019 04:47 nbohr1more Note Added: 0011253
01.02.2019 04:50 stgatilov Relationship added related to 0004983
01.02.2019 05:40 nbohr1more Relationship deleted related to 0004493
01.02.2019 05:41 nbohr1more Relationship added child of 0004493