Page 1 of 2

Different congestion management

Posted: 30 Oct 2013, 11:36
by Jools
The current congestion management works by having the unit who wants to move pushing the blocking units. This is quite unrealistic, as vehicles at least, when pushed that way would tip over and not simply slide forward.

Could we instead have some kind of system where the unit blocking the path actively moves out of way instead. That would look much better.

See this image for the idea:

Image

Re: Different congestion management

Posted: 30 Oct 2013, 14:33
by smoth
This is a bad idea, why would the unit blocking the way move? this proves problematic for projects like mine where facing is important. and it also creates problems with positioning.

I think the unit should avoid the stationary unit. NOT that the stationary unit should move out of the way.

Re: Different congestion management

Posted: 30 Oct 2013, 14:41
by Anarchid
I think the unit should avoid the stationary unit. NOT that the stationary unit should move out of the way.
Sometimes it just should. Sometimes, there's no other way. But there are so many pitfalls. It's avoiding those pitfalls that ends up deciding if PFS is win or fail.

A few example pits:
1) Static units in narrow passage. A moving one wants to pass. Ex-statics end up bumping into walls.
2) Static unit has a tag for not being nice, or is enemy. A backup plan for moving through is needed to handle such case.
3) Static units in tight formation. Moving is possible, but they would bump others.

All those pits are avoidable, of course. After all, what's PFS if not avoiding pits.

Re: Different congestion management

Posted: 30 Oct 2013, 14:47
by Jools
smoth wrote: I think the unit should avoid the stationary unit. NOT that the stationary unit should move out of the way.
Sure, maybe that's even better. I just don't like the current behaviour, which is that it pushes through the blocking units like a battering ram.

Re: Different congestion management

Posted: 30 Oct 2013, 14:52
by Kloot
The answer is no.

Watch https://www.youtube.com/watch?v=TyBeCD4dGDI from 0:40 onward and take a guess why the current system was introduced.

If you think you can make it work regardless, contribute a code patch instead of idea screenshots.

Re: Different congestion management

Posted: 30 Oct 2013, 15:21
by Jools
I think it's more inspiring to look at real life analogies instead of at code to arrive at a solution: http://www.youtube.com/watch?v=iEIk3RpV6RA

I'm not pretending this is easy to code, I'm merely discussing the idea. First you have the idea, then you code. I don't think the movement in the linked spring 82 is so bad, but I admit it can be annoying to players. On the other hand, what we have now puts too much emphasis on the ability to move and not on reality. Who said traffic should not be difficult to manage?

Well, this is my opinion. I'd like to hear what other people think.

Re: Different congestion management

Posted: 30 Oct 2013, 15:30
by Anarchid
real life analogies instead of at code to arrive at a solution: http://www.youtube.com/watch?v=iEIk3RpV6RA
Close enough.

Re: Different congestion management

Posted: 30 Oct 2013, 15:33
by Silentwings
I'd like to hear what other people think.
I think the current pathing/collision in 94.1.1+git is very good and don't see a need to change.

Re: Different congestion management

Posted: 30 Oct 2013, 15:46
by Kloot
real life
real life tends to be excruciatingly unplayable (as people also keep finding out again and again when they try to incorporate "realistic scale" into their game designs)

Re: Different congestion management

Posted: 30 Oct 2013, 16:50
by knorke
I think it's more inspiring to look at real life analogies instead of at code to arrive at a solution: http://www.youtube.com/watch?v=iEIk3RpV6RA
I only see a problem not a solution: After end of 1min 37s video most vehicles managed to move 1 meter or so. (silver van still in same spot)

Imo one also has to think about what situations pathfinder has to solve and what situations player has to solve/prevent. If two large unit swarms meet head-on and get tangled that is "to be expected" which makes it a bit "acceptable." It is more the small, trivial looking situations that cause annoyance in players.

Re: Different congestion management

Posted: 30 Oct 2013, 17:24
by Jools
My point was in fact the opposite: that traffic should be an annoyance and not reduced to something you can just push through. Or if you push through it like a medieval battering ram, that could work with kbots, but let the vehicles flip over at least.

Re: Different congestion management

Posted: 30 Oct 2013, 17:35
by Anarchid
You can enable legacy pathing in your mod. Instant congestion just one LOC away.

Re: Different congestion management

Posted: 30 Oct 2013, 17:46
by Silentwings
You can enable legacy pathing in your mod.
Huh? Do you mean classic groundmovetype?

Re: Different congestion management

Posted: 31 Oct 2013, 00:32
by smoth
Anarchid wrote: 1) Static units in narrow passage. A moving one wants to pass.
Ex-statics end up bumping into walls.
Then it should either path all the way around or if that path is too long/ultimately blocked, it should say it cannot get there. It is the player's fault for blocking the passage with his unit.
Anarchid wrote:2) Static unit has a tag for not being nice, or is enemy. A backup plan for moving through is needed to handle such case.
What?
Anarchid wrote:3) Static units in tight formation. Moving is possible, but they would bump others.
if they are moving in a formation the formation would have to narrow out as they go. if you want to have TRUE formation movement the rest of the units would slow down to allow the others to return to formation via lua. Spring does not and never has had real formation movement. So pointless argument blocked by "LUA IT"

Anarchid wrote:You can enable legacy pathing in your mod. Instant congestion just one LOC away.
Seriously, I tried this and it isn't the same. Did you? did you only try it with BA? "Use legacy pathing" is a sort of brush off which boredlines on insulting.

let me show you something from before..
http://www.youtube.com/watch?v=oid97sy2jc8

I have not sat down and done the test in the latest.. but I remember kloot did improve it from 91's version. Last I tried it, the units occasionally get stuck but this again requires push resistant on all units so they do NOT get plowed through.

Re: Different congestion management

Posted: 31 Oct 2013, 00:33
by smoth
Kloot i have been meaning to ask you, is there a way to allow units to pass right through each other(like a ghost through a wall) ignoring the other units during movement?

Re: Different congestion management

Posted: 31 Oct 2013, 03:13
by Kloot
Spring.SetUnitBlocking(unitID, false, false)

Re: Different congestion management

Posted: 31 Oct 2013, 03:37
by smoth
bummer, so there is no way to have the unit moving through ignore them? (imagine giant walker mech).

Re: Different congestion management

Posted: 31 Oct 2013, 09:10
by Anarchid
if they are moving in a formation the formation
I wrote "static" to mean statics. Purpose of case was to ask what would they do of the space where they would split into was already occupied by other statics. And then, one frame later, mobiles.
What?
Some units might refuse to be told to move out of the way. Maybe they have an "assholePathing" tag, or maybe they belong to one's enemy and don't care for player's "let me pass" requests.

Re: Different congestion management

Posted: 31 Oct 2013, 09:46
by Silentwings
bummer, so there is no way to have the unit moving through ignore them? (imagine giant walker mech).
Setting pushresistant=true might help it push other stuff out of the way a bit

Re: Different congestion management

Posted: 31 Oct 2013, 15:43
by Google_Frog
The pathfinding in the current dev engine is very good from what I have seen. By pathfinding I actually mean path following. Units follow paths, push each other out of the way, don't slow down when they bump terrain. It's unrealistic but I say 'screw realism', the most important part of the pathing for me is playability.

Exploring ideas is good but pathing in Spring has been so fickle that I'd rather we didn't have another complete redesign. But go ahead and try something, firstly you have to realise that you have to do the coding work for this. If you're just being an ideas man then this won't work. Your idea is far too large and contested for anyone else to put work into demonstrating that it is any good.