Skip to content

Avoiding "push resistance" stucked units (develop version) - #522

Open
sanguinariojoe wants to merge 4 commits into
spring:developfrom
sanguinariojoe:isBlockedDev
Open

Avoiding "push resistance" stucked units (develop version)#522
sanguinariojoe wants to merge 4 commits into
spring:developfrom
sanguinariojoe:isBlockedDev

Conversation

@sanguinariojoe

Copy link
Copy Markdown
Contributor

It is supermegahacky, but it works!

https://youtu.be/0ZxID60eJaU

(Tested just on maintenance)

@gajop gajop left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I'm not knowledgeable enough in the pathfinding system and no time to learn it right now,
so I won't be able to merge this without some smarter people coming in and giving this a review.

Is this an urgent issue for you?

Comment thread rts/Sim/MoveTypes/GroundMoveType.cpp Outdated
@sanguinariojoe

Copy link
Copy Markdown
Contributor Author

Is this an urgent issue for you?

We are having many problems with blocked units in s:44. However, I cannot say if it a good risk-benefit balance, since I don't know how many other games are using push resistance.

@sanguinariojoe

Copy link
Copy Markdown
Contributor Author

Hey!

We (Spring-1944) can really enjoy these changes. Can someone please take a look, merge, and cherry-pick in maintenance?

I have been testing for a while, and I think the solution is robust and efficient.

@ashdnazg

ashdnazg commented Sep 14, 2020

Copy link
Copy Markdown
Member

Math fix needs bumping path estimator version.
The other hack seems risky, I'll think about it.

@abma

abma commented Jan 13, 2022

Copy link
Copy Markdown
Contributor

am i right with:

push resistence basicly is a hack to simulate small units can't push large units?

if so, shouldn't push resistence beeing removed and replaced by more realistic physics which takes mass and friction of objects into account?

can't stuck units beeing detected by the timeout of move commands and then moved by a lua gadged?

please correct me if i'm wrong! thank you!

@sanguinariojoe

Copy link
Copy Markdown
Contributor Author

push resistence basicly is a hack to simulate small units can't push large units?

Nope. Push resistance completely disables the units pushing system, no matter the mass/size of the units. And actually that is the behavior we want in S44

can't stuck units beeing detected by the timeout of move commands and then moved by a lua gadged?

I tried this approach in the past with quite poor results. I really think this approach is the appropriate one, i.e. if 2 units are trying to get the same spot, just one of them may take it and the other one shall "keep moving"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants