Different congestion management

Different congestion management

Requests for features in the spring code.

Moderator: Moderators

User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Different congestion management

Post 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
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Different congestion management

Post 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.
User avatar
Anarchid
Posts: 1384
Joined: 30 Nov 2008, 04:31

Re: Different congestion management

Post 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.
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: Different congestion management

Post 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.
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Re: Different congestion management

Post 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.
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: Different congestion management

Post 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.
User avatar
Anarchid
Posts: 1384
Joined: 30 Nov 2008, 04:31

Re: Different congestion management

Post by Anarchid »

real life analogies instead of at code to arrive at a solution: http://www.youtube.com/watch?v=iEIk3RpV6RA
Close enough.
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: Different congestion management

Post 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.
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Re: Different congestion management

Post 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)
User avatar
knorke
Posts: 7971
Joined: 22 Feb 2006, 01:02

Re: Different congestion management

Post 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.
User avatar
Jools
XTA Developer
Posts: 2816
Joined: 23 Feb 2009, 16:29

Re: Different congestion management

Post 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.
User avatar
Anarchid
Posts: 1384
Joined: 30 Nov 2008, 04:31

Re: Different congestion management

Post by Anarchid »

You can enable legacy pathing in your mod. Instant congestion just one LOC away.
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: Different congestion management

Post by Silentwings »

You can enable legacy pathing in your mod.
Huh? Do you mean classic groundmovetype?
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Different congestion management

Post 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.
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Different congestion management

Post 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?
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Re: Different congestion management

Post by Kloot »

Spring.SetUnitBlocking(unitID, false, false)
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: Different congestion management

Post by smoth »

bummer, so there is no way to have the unit moving through ignore them? (imagine giant walker mech).
User avatar
Anarchid
Posts: 1384
Joined: 30 Nov 2008, 04:31

Re: Different congestion management

Post 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.
Last edited by Anarchid on 31 Oct 2013, 10:25, edited 1 time in total.
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: Different congestion management

Post 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
Google_Frog
Moderator
Posts: 2464
Joined: 12 Oct 2007, 09:24

Re: Different congestion management

Post 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.
Post Reply

Return to “Feature Requests”