Unit Groups - pathing and limits

SlayMaximus

Member!
Joined
Dec 29, 2003
Messages
64
Reaction score
0
Location
Virginia
Website
www.riplo.com
I'm currently refining a mod to WM Wars to 5 v 5 players. In the original WMW, if too many creeps were spawned, they would pause or delay in their pathing to the various regions. That is, they would all pile up in the spawn region. Becasue of the increased number of creeps in a 5v5 version, this problem is more critical. I'm trying to understand why the creeps are pausing and not moving to the regions as ordered.

As first I thought this may have to do with a limit on the size of a unit group, and that having too many units in a single group would cause them to pause until other units in their group got out of the way. Therefore, I revised the triggers to create multiple different groups to spread the number of creeps out, but this was unsuccesful. It doesn't appear to have made any difference.

Also, I think it is important that none of the move orders are down at the group level. That is, the groups are only to identify units for pathing selection and are not used in a "Unit Group - Issue order targteing a point" command, which may (as I understand) have a limit to the number of creeps that can be ordered.

For example, the triggers that control the spawning and initial move of a creep are as follows:

Unit - Create 1 (Unit-type of (Picked unit)) for (Owner of (Picked unit)) at (Center of Spawn Bottom Left1 <gen>) facing Default building facing degrees
Unit - Change ownership of (Last created unit) to Player 11 (Dark Green) and Retain color
Unit Group - Add (Last created unit) to UnitsTopRightOuter1
Unit - Order (Last created unit) to Move To (Center of Outer Middle Left <gen>)

Thereafter, the movement triggers are similar to:

Events
Unit - A unit enters Outer Middle Left <gen>
Conditions
Or - Any (Conditions) are true
Conditions
((Entering unit) is in UnitsTopRightOuter1) Equal to True
((Entering unit) is in UnitsTopRightOuter2) Equal to True
((Entering unit) is in UnitsTopRightOuter3) Equal to True
Actions
Unit - Order (Entering unit) to Move To (Center of Bottom Left Outer <gen>)

Note the use of the OR conditions that I inserted when dividing all the units into multiple groups as stated above.

Any thoughts, comments or suggestions on this would be appreciated and sorry for the long post.

Thanks.
 

x42bn6

Retired Staff
Joined
Nov 11, 2002
Messages
15,150
Reaction score
2
Location
London, United Kingdom
Try putting a Wait [0.01] seconds after spawning the units before moving. It does take time to render the units before they can move.

Also, you could do what I do, order a 'flood', where say every 2 minutes, order all units in that region to move, depending on how many you spawn.
 

SlayMaximus

Member!
Joined
Dec 29, 2003
Messages
64
Reaction score
0
Location
Virginia
Website
www.riplo.com
Thanks for the comments. The units will ultimately move after the earlier units in front of them are killed, thus making me believe that the move order is being properly executed. Also, unless their is an overload, the creation and movement work perfectly. But, I'll try a delay in any event to see if that helps.

I have thought about a "sweep-up" as you propose second to catch any laggers that are behind, but again since the unit has received the order (as evidenced by the fact that it will ultimately move), it is unclear what effect re-ordering it will do. It certainly should not be necessary, but giving it an extra nudge couldn't hurt.

Thanks again for your comments.
 

x42bn6

Retired Staff
Joined
Nov 11, 2002
Messages
15,150
Reaction score
2
Location
London, United Kingdom
In the 'big sweep', you could always order the units to Hold Position first before asking to move.

It acts like a debug too, because if units need that to move, then 1) your map may be unbalanced and 2) the delay needs to be increased.

I've seen maps with 0.5 second delays, which compensates for possible lag.
 

NewPosts

New threads

Top