zCMover: fish movement bug
Hi @Try ! It looks like marine life simulation is working pretty crazy at the moment :)))) https://vimeo.com/580461723/16295d52b0 I think at least some animation speed adjustments must be done to fix this.
According to my observations, all builds are affected. But the recent ones show much worse FPS (16-23, not 50-60 as it was on last release build). I used i7-2600 and GTX-1080 for this test.
Holy fish...!!!
By the way, performance drop seems to be due to debug enabled, so FPS is ok, I suppose :)
Nevertheless, fixing animation speed can give some performance boost, right? ಠ‿↼
Hi, @KorychSP !
This issue is related to zCMover implementation: the controller to move non-npc objects around. Problem is: it's used for:
- Fish
- Windmill
- Irdorath door(second last door, that you see on save-image)
For now it's not clear how to deal with move speed at all (speed is known, but units are not). Current solution works for Irdorath door, but doesn't for fish. And for now my choose is door :)
Testing out different zCMover types:
| Object | moveSpeed | numKeyframes | expected time |
|---|---|---|---|
| windmil | 0.02 | 3 | 20sec |
| keymaster door | |||
| door open | 0.05 | 2 | 3sec |
| door rotate | 0.001 | 3 | 1sec |
| door edge | 0.03 | 2 | 0.5sec |
| idr switch a | 0.0005 | 3 | |
| idr switch b | 0.0005 | 2 | |
| idr bridge | 0.07 | 2 | |
| idr zombie trap | 0.3 | 2 | 0.5sec |
| last door | 0.05 | 2 | |
| fish | 0.1-0.3 | 4-7 | |
| small ship | 0.0005 | 11 |
Current assumption:
- moveSpeed controls how fast trigger moves in space
- If there is no movement - moveSpeed controls rotation speed
As of the current master the fish move correctly; I also remember a windmill animation getting fixed as part of Phoenix migration. Is this still an issue?
Is this still an issue?
Yep: https://github.com/Try/OpenGothic/blob/f9a4e615721bc27fcfa6f3c4a6ab12a8563d46c6/game/world/triggers/movetrigger.cpp#L46-L50
Also doors on Irdorath do not behave well
fixed by 20af3701