#83: Movement jerks when moving uphill on terrain

1 view
Skip to first unread message

Cafu Trac

unread,
Aug 27, 2011, 4:20:03 PM8/27/11
to cafu...@googlegroups.com
#83: Movement jerks when moving uphill on terrain
--------------------------+-------------------------------------------------
Reporter: johndoe31415 | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: Cafu Engine | Version: svn-head
Keywords: | Platform: Linux: other
--------------------------+-------------------------------------------------
Using SVN 353 on Gentoo Linux x86_64, I see the following behavior: When
moving on certain parts of the map uphill in an approximate 45° angle on
terrain, the movement jerks periodically (i.e. the player is moving up and
down and moves sideways downhill sometimes). The exact phaenomenon differs
from time to time.

This can be reproduced with the attached map. If one spawns in that map
using DeathMatch and walks straight up for about 8 seconds, then turns
around 180° there will be a hill up left which has a black texture.
Walking towards that black texture always shows the described effect.

--
Ticket URL: <http://trac.cafu.de/ticket/83>
Cafu 3D Game and Graphics Engine <http://www.cafu.de>
The open-source game engine and graphics engine for multiplayer, cross-platform, real-time 3D action.

Cafu Trac

unread,
Aug 28, 2011, 5:02:38 AM8/28/11
to cafu...@googlegroups.com
#83: Movement jerks when moving uphill on terrain
--------------------------+-------------------------------------------------
Reporter: johndoe31415 | Owner: Carsten
Type: defect | Status: confirmed

Priority: normal | Milestone:
Component: Cafu Engine | Version: svn-head
Keywords: | Platform:
--------------------------+-------------------------------------------------
Changes (by Carsten):

* owner: => Carsten
* platform: Linux: other =>
* status: new => confirmed


Comment:

Many thanks for your report!

- Possible relationship with #74?
- For original thread on cafu-dev, see
- https://groups.google.com/group/cafu-
dev/browse_thread/thread/a1d3a540359969a9/ff4c5839f079f2ea or
- http://thread.gmane.org/gmane.comp.games.cafu.devel/244

--
Ticket URL: <http://trac.cafu.de/ticket/83#comment:1>

Cafu Trac

unread,
Aug 26, 2015, 5:33:43 AM8/26/15
to cafu...@googlegroups.com
#83: Movement jerks when moving uphill on terrain
---------------------------+-----------------------
Reporter: johndoe31415 | Owner: Carsten
Type: defect | Status: confirmed
Priority: normal | Milestone:
Component: Cafu Engine | Version: svn-head
Resolution: | Keywords:
Platform: |
---------------------------+-----------------------

Comment (by Carsten Fuchs <carsten.fuchs@…>):

In [changeset:"50d0ec3f90ab1892f65e608b61adbf841654454d/git"]:
{{{
#!CommitTicketReference repository="git"
revision="50d0ec3f90ab1892f65e608b61adbf841654454d"
Math3D/Brush: Avoid getting stuck in terrain.

The player could occasionally get stuck in terrain, e.g. in map TechDemo.
This change helps, as it is now virtually always possible to get un-stuck
again,
e.g. by moving sideways or backwards, but it is still possible to get to a
complete standstill with the forward-key held down.
More work is required to get to the root of this problem.

References #83.
}}}

--
Ticket URL: <http://trac.cafu.de/ticket/83#comment:2>

Cafu Trac

unread,
Aug 26, 2015, 5:44:03 AM8/26/15
to cafu...@googlegroups.com
#83: Collision detection: Movement jerks when moving uphill on terrain
---------------------------+-----------------------
Reporter: johndoe31415 | Owner: Carsten
Type: defect | Status: confirmed
Priority: normal | Milestone:
Component: Cafu Engine | Version: svn-head
Resolution: | Keywords:
Platform: |
---------------------------+-----------------------

Comment (by Carsten):

This problem existed at least since 2011 as reported, and became most
likely more pronounced after branch `remove-25.4-map-scaling` was merged
at [6540c3f] on 2015-04-05 (because not all epsilon values were adjusted
likewise, thus causing subtly different results than before).

Possible actions and ideas:

- Tweak the player's origin in all directions by +/- 0.1 (or any other
epsilon value) whenever stuck, foregoing the clever but cumbersome
attempts to avoid getting stuck in the first place.

- Create detailed debug logs of these occasions. As this is difficult to
reproduce, logging could be activated e.g. when the original player
position was not in solid, and the origin after the move ''is'' in solid.
\\ As the logging alone might require a lot of code that must be accessed
from several modules (cpp files), putting all code into a class and pair
of files of its own might be helpful.

- Review if the terrain-related StartSolid handling is proper and sound,
as this is different from that of the ClipSys. (Also see change [9d7bc31]
of 2015-04-24: "ClipSys: In `TraceResultT`, clarify that `Fraction == 0.0`
is still different from `StartSolid == true`.")

- See branches:
- `revise-clipsys`, merged at [d756efe] on 2015-05-05
- `remove-25.4-map-scaling`, merged at [6540c3f] on 2015-04-05

--
Ticket URL: <http://trac.cafu.de/ticket/83#comment:3>
Reply all
Reply to author
Forward
0 new messages