Posted on Leave a comment

Unit groups in a RTS – GameDev.net

Please contact us if you have any trouble resetting your password.
In Starcraft when an AI Player is attacking you what you have is a thin constant stream of units arriving at your base. What does it take to build an alternative? In Total Annihilation the AI player waits until a group of units has pilled up and then attacks. If the attack is unsuccesful the remaining attacking units retreat. The Total Annihilation approach probably works the same as Starcraft except the retreat. The maps layout in Starcraft probably causes the units to spread like a stream. How does a typical RTS AI player attack work? Select all combat units, Attack-move selected combat units to the enemy base?
My project`s facebook page is “DreamLand Page”
There have been a lot of variation in games over the decades, so there really isn’t a “typical”.
Some games have mini-formations, like a group of 5 soldiers may cluster and move as a group taking a single tile. Some games have included commands to keep a formation, so you could place them in a particular ordering and they’d advance at a uniform speed based on the slowest units, such as creating a line of soldiers and they’d hold the line as they travel or attack or retreat. Some games have included automatically-issued commands causing units to scatter or evade defensively, or standing orders to hold position or not return fire rather than evade or counterattack.
The logic is typically implemented as nested state machines. Logic may be to move toward a target, patrol between points, react to getting attacked taking any of various sub-choices depending on what is attacking, and much more. The limit is usually more about development budget and time than it is about creativity, as designers with unlimited time and money could devise a tremendous number of commands and flows.
There are also hundreds of articles over the decades with all kinds of explanations of grouping behavior, flocking behavior, pathing together vs pathing independently, treating clusters as a single unit for pathfinding instead of a bunch of tiny objects all doing their own search, and much more.
There have been a lot of variation in games over the decades
I see what you’re saying. Age of Empires 2 had formations. That’s a bit more intricate than just select and move everyone to the enemy base.
My project`s facebook page is “DreamLand Page”
Even that, “select everyone and move to the enemy base”, do you want them to stay together, or do you want some type of strategic organization?
Do you want the fastest moving units to arrive first, before the slowest, or do you want them to arrive as a cohesive whole? There are merits to both.
Do you want new units to arrive and attempt to join the formation as a cohesive whole, or just wherever you clicked?
Do you want newly formed units to replace the ones that were lost in the formations, or to meet at some other waypoint?
All are good ideas, and all require implementation.
Even that, “select everyone and move to the enemy base”, do you want them to stay together, or do you want
If it’s the most basic scenario ever there’s just one way to do it.
My project`s facebook page is “DreamLand Page”
Calin said:
If it’s the most basic scenario ever there’s just one way to do it.
That’s the grand picture, the simple idea on top, the lower frequencies, the highest level abstraction, or however you call it.
But below that lurk the depths, the details, the complexities, and with it comes the opportunity to add depth to the game.
At least that’s how you can think about it. While in reality it’s mostly just a pile of unexpected work, i would say.
Anyway, what i try to say is that your quote does not hold – if we take a closer look.
Even if all my units are supposed to just walk to the enemy base, there is never only one way to do it, if there are multiple units.
As the player i will observe their behevior. I will notice how they prevent collisions with each other etc., and i will judge if it looks natural or silly.
Ideally i’ll enjoy the observation. In german they call it ‘Wuselfaktor’, meaning to watch hundreds of cute tiny settlers building a village or having some daily routines. It’s important players find this satisfying to watch, and i guess the same also applies to other top down genres like RTS.
Your latest video showed good progress on this. The behavior looked much smoother, and no more visible ‘silly computer AI’ corner cases.
But improvement is still possible, and will become necessary once better graphics expose more details.
Now i see two options to continue:
1. Decide about features you want. E.g. if you want clearly defined formations, work on that. E.g. let them form a N x M grid pattern and they should keep that in shape while moving along a common path.
2. Don’t implement such features yet, but instead improve the default behavior so it looks more natural and units appear smarter. Eventually you’ll have tuning parameters to define the behavior, and simply changing those parameters will affect if they walk in a straight line if they have a commonm goal, or if they form a blob shape. (If you have terrrain, this should also affect those things.)
You said you want to make a generic RTS AI, iirc.
But sooner or later you get down to the depths of all those details no matter what, and at this point it becomes easier to make just one specific game instead some genric default AI supposed to serve any game design.

source

Leave a Reply

Your email address will not be published. Required fields are marked *