Idea: Mini-AI to automate player's commanders

Ideas and suggestions for how to improve the Warzone 2100 base game only. Ideas for mods go in Mapping/Modding instead. Read sticky posts first!
User avatar
NoQ
Special
Special
Posts: 6226
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: Idea: Mini-AI to automate player's commanders

Post by NoQ »

* The ability to target an area and not just a single target
alt+click?
User avatar
aubergine
Professional
Professional
Posts: 3459
Joined: 10 Oct 2010, 00:58
Contact:

Re: Idea: Mini-AI to automate player's commanders

Post by aubergine »

NoQ wrote:
* The ability to target an area and not just a single target
alt+click?
Or set VTOLs to circle or patrol... (am I right in thinking that Alt+click does patrol?)
"Dedicated to discovering Warzone artefacts, and sharing them freely for the benefit of the community."
-- https://warzone.atlassian.net/wiki/display/GO
User avatar
NoQ
Special
Special
Posts: 6226
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: Idea: Mini-AI to automate player's commanders

Post by NoQ »

Alt+click does "attack there" for normal units (what you do by clicking "attack" and then clicking on a ground in your starcraft), "patrol" for VTOLs.
drayfus
New user
Posts: 2
Joined: 09 Feb 2013, 07:48

Re: Idea: Mini-AI to automate player's commanders

Post by drayfus »

How about make the commander act like the other units so no units lagging behind, if there's a mortar or other long range unit commander acts like that even if com cant hit. All the pros non of the cons, no running back for repairs pulling all the units to minus the boosts, no mortars not firing because the commander has no line of sight where they would normally. Its a command unit not a combat unit. The commander has use yes, just get rid of the cons... plz.
Angles
New user
Posts: 1
Joined: 17 Feb 2013, 17:08

Re: Idea: Mini-AI to automate player's commanders

Post by Angles »

I'd say that making the commander use an AI would be a great help
so here's my ideas for it
1.have preset modes to use e.g. scout(find out what's around the map),harvester(more oil and power now!)
2.maybe have it so that the commander if it wants do do something different, have it ping the player and tell him/her what it wants to do?
User avatar
aubergine
Professional
Professional
Posts: 3459
Joined: 10 Oct 2010, 00:58
Contact:

Re: Idea: Mini-AI to automate player's commanders

Post by aubergine »

@drafus: That's a really interesting idea - so all units assigned to commander sort of assimilate it, just as it assimilates them, so they act like a hive mind with all of them merging in to a single "brain"...

@Angles: I like the idea of the commander being able to ping the user with updates, etc. Only problem it would be a bit weird having a unit called a "commander" communicating with the player known as the "Commander".
"Dedicated to discovering Warzone artefacts, and sharing them freely for the benefit of the community."
-- https://warzone.atlassian.net/wiki/display/GO
User avatar
Rman Virgil
Professional
Professional
Posts: 3812
Joined: 25 Sep 2006, 01:06
Location: USA

Re: Idea: Mini-AI to automate player's commanders

Post by Rman Virgil »

.

Player selectable, expanded maneuver mini-scripts in the Commander UI, would work wonders (less than a handful would do it & mini-map linked). 'Course the one caveat would be "Segregated Arms" in group assemblage because I donot think scripts alone will ever solve the current problems with "Combined Arms" groups. :hmm:

.
.

Impact = C x (R + E + A + T + E)

Contrast
Reach
Exposure
Articulation
Trust
Echo
.
User avatar
aubergine
Professional
Professional
Posts: 3459
Joined: 10 Oct 2010, 00:58
Contact:

Re: Idea: Mini-AI to automate player's commanders

Post by aubergine »

Could you elaborate on what you mean by that Rman? I'm not familiar with those terms (segregated/combined arms).
"Dedicated to discovering Warzone artefacts, and sharing them freely for the benefit of the community."
-- https://warzone.atlassian.net/wiki/display/GO
User avatar
Rman Virgil
Professional
Professional
Posts: 3812
Joined: 25 Sep 2006, 01:06
Location: USA

Re: Idea: Mini-AI to automate player's commanders

Post by Rman Virgil »

aubergine wrote:Could you elaborate on what you mean by that Rman? I'm not familiar with those terms (segregated/combined arms).
You bet.

In the context of WZ Combined Arms would be mixing different combat unit types in one Commander led group and Segregated Arms would be only one combat unit type per Commander led group.

In Cam and Ski you can get away with Combined Arms which is interesting and fun doctrine applied in a game setting. But in MP, if you wanna be competitive, you have to stick to Segregated Arms even without using Commanders in your combat groups.

Segregated Arms can be varied and deep fun too, if you can effectively maneuver 3+ groups, coordinated from different vectors and modulated velocities. This is where your mini-ai idea can be brought to bear through the command UI with mini-ai maneuver scripts, I think.

The problem with Combined Arms groupings is that, unlike in RL, mobility speed is not adjusted to a common denominater.... all the different unit types are bumbling over each other at different speeds, putting themselves out of optimal positon for their type and no amount of microing can course correct in the heat of battle between armies or even if your trying to storm a fixed position with advance-retreat-advance maneuvering.
.
.

Impact = C x (R + E + A + T + E)

Contrast
Reach
Exposure
Articulation
Trust
Echo
.
User avatar
aubergine
Professional
Professional
Posts: 3459
Joined: 10 Oct 2010, 00:58
Contact:

Re: Idea: Mini-AI to automate player's commanders

Post by aubergine »

With sufficient AI control over troops attached to a commander, however, the combined arms approach could work very well IMHO.

First, a commander whilst merely moving around could instruct it's droids to move at the same or similar speeds, with melee troops (flamers) out front, followed by meatshield troops (eg. cannon tanks) then ranged weapons bringing up the rear.

Code: Select all

syncDroidSpeed( listOfDroids, <true | false> );
EDIT: The syncDroidSpeed() function does not yet exist and would need adding to JS API.

During combat, the melee troops could be sent in to deliver quick damage to approaching enemy droids, whilst the cannon fodder troops are used to soak up damages from enemy defences and hold the line against enemy droids, etc.

Code: Select all

var rushToTarget = function(droid) {
  syncDroidSpeed( droid ); // if passed single droid, unsyncs its speed
  orderDroidLoc( droid, DORDER_SCOUT, this.x, this.y );
}

var toMeleeTroops = function(droid) {
  return droid.name.contains( "flamer" );
}

target = <some object or position>;
enumGroup( commandDroid ).filter( toMeleeTroops ).forEach(rushToTarget, target);
(Note: There is currently no way to get a list of droids attached to a commander or sensor - would be nice if enumGroup() could be passed a droid and get a list of droids assigned to that droid).

The commander AI would be responsible for working out where and when to send troops.

With drafus' idea of having the entire group be part of the same "hive mind", sharing sensors, etc., the sensor coverage of the group could be quite significant. If bolo's (command droids) could be upgraded to the point where their sensor is the equivalent of a WS sensor, all the better. Commanders would then be a compelling alternative to mere sensor droids.

Furthermore, other droids on the field could be given a new secondary order setting that denotes whether they can be temporarily or permanently requisitioned by nearby commanders. For example, a command group might come under attack and request assistance from nearby units. Idle or patrolling/circling units, would go to the rescue of the command group, and then return to their previous orders afterwards if applicable.

Trucks set to allow commander control would be able to assist the command group by creating repair facilities and defences if applicable.
Last edited by aubergine on 19 Feb 2013, 18:29, edited 1 time in total.
"Dedicated to discovering Warzone artefacts, and sharing them freely for the benefit of the community."
-- https://warzone.atlassian.net/wiki/display/GO
User avatar
Rman Virgil
Professional
Professional
Posts: 3812
Joined: 25 Sep 2006, 01:06
Location: USA

Re: Idea: Mini-AI to automate player's commanders

Post by Rman Virgil »

aubergine wrote:With sufficient AI control over troops attached to a commander, however, the combined arms approach could work very well IMHO.

First, a commander whilst merely moving around could instruct it's droids to move at the same or similar speeds, with melee troops (flamers) out front, followed by meatshield troops (eg. cannon tanks) then ranged weapons bringing up the rear.

Code: Select all

syncDroidSpeed( listOfDroids, <true | false> );
During combat, the melee troops could be sent in to deliver quick damage to approaching enemy droids, whilst the cannon fodder troops are used to soak up damages from enemy defences and hold the line against enemy droids, etc.

Code: Select all

var rushToTarget = function(droid) {
  syncDroidSpeed( droid ); // if passed single droid, unsyncs its speed
  orderDroidLoc( droid, DORDER_SCOUT, this.x, this.y );
}

var toMeleeTroops = function(droid) {
  return droid.name.contains( "flamer" );
}

target = <some object or position>;
enumGroup( commandDroid ).filter( toMeleeTroops ).forEach(rushToTarget, target);
(Note: There is currently no way to get a list of droids attached to a commander or sensor - would be nice if enumGroup() could be passed a droid and get a list of droids assigned to that droid).

The commander AI would be responsible for working out where and when to send troops.

With drafus' idea of having the entire group be part of the same "hive mind", sharing sensors, etc., the sensor coverage of the group could be quite significant. If bolo's (command droids) could be upgraded to the point where their sensor is the equivalent of a WS sensor, all the better. Commanders would then be a compelling alternative to mere sensor droids.

Furthermore, other droids on the field could be given a new secondary order setting that denotes whether they can be temporarily or permanently requisitioned by nearby commanders. For example, a command group might come under attack and request assistance from nearby units. Idle or patrolling/circling units, would go to the rescue of the command group, and then return to their previous orders afterwards if applicable.

Trucks set to allow commander control would be able to assist the command group by creating repair facilities and defences if applicable.
Well then, I gladly, stand corrected. :)

That is all together exciting. :D

It's amazing how much room there is to make WZ not only a better game but also expand it's uniqueness.

I have no data to support my sense that there is this silent majority just waiting for the kind of stuff your describing to become a reality.... but I do believe it.

Thanks for getting into the nuts and bolts.
.
.

Impact = C x (R + E + A + T + E)

Contrast
Reach
Exposure
Articulation
Trust
Echo
.
User avatar
Rman Virgil
Professional
Professional
Posts: 3812
Joined: 25 Sep 2006, 01:06
Location: USA

Re: Idea: Mini-AI to automate player's commanders

Post by Rman Virgil »

.

Got more into my underlieing reasoning on this topic in Goth's CAM 4 thread but it really belongs here.

I have a set of criteria / questions I ask myself that essentially sets parameters on automation.

Aubergine's scripting to address WZ's inherent and fundamental problems with combined arms groupings in competitive MP beautifully, and affirmatively, speaks to those criteria questions.

These are the 2 inter-locking criteria questions:

~ Does the change (or set of changes) promote Deep Fun GPMs ...?

~ Does the change (or set of changes) promote more decision-making opportunities that employ the complete 33 Strategies of War ... ?

So, in other words, if the answer is "no" to both questions then the automation is very likely miss-guided...

Though I specifically referenced MP mode with aubergine's solution to the 14-year old "Combined Arms Group" frustrating maneuver problems, I apply these same criteria questions to SKI and CAM modes... as well any accompaning GUI design changes that are grounded in CTA research.
Here's one of my favorite quotes related to all the foregoing:
"The battlefield is a scene of constant chaos. The winner will be the one who controls that chaos, both his own and the enemies."

- Napoleon Bonaparte
.
.

Impact = C x (R + E + A + T + E)

Contrast
Reach
Exposure
Articulation
Trust
Echo
.
User avatar
Merowingg
Regular
Regular
Posts: 2468
Joined: 15 Nov 2009, 13:05
Location: Poland

Re: Idea: Mini-AI to automate player's commanders

Post by Merowingg »

I like the aubergines idea.

I am one of this 0,001 % od people who use commanders from time to time. Those are cool and are part of the game, even if only flashing and shoting beams with menu which is already to difficult for many players. "I have mentioned the W button case many times already"

I also remember good old surrounded by "not smart people" playing times, when I was called idiot, because I used a commander..

Anyway, I like it very much :)
“Beneath this mask there is more than flesh. Beneath this mask there is an idea, and ideas are bulletproof.” - V

"Mark my words boy, Mark them well, I have survived your predecessors and I will survive you." - Merovingian

Regards - Mero
drayfus
New user
Posts: 2
Joined: 09 Feb 2013, 07:48

Re: Idea: Mini-AI to automate player's commanders

Post by drayfus »

aubergine wrote:The commander AI would be responsible for working out where and when to send troops.

With drafus' idea of having the entire group be part of the same "hive mind", sharing sensors, etc., the sensor coverage of the group could be quite significant. If bolo's (command droids) could be upgraded to the point where their sensor is the equivalent of a WS sensor, all the better. Commanders would then be a compelling alternative to mere sensor droids.

Furthermore, other droids on the field could be given a new secondary order setting that denotes whether they can be temporarily or permanently requisitioned by nearby commanders. For example, a command group might come under attack and request assistance from nearby units. Idle or patrolling/circling units, would go to the rescue of the command group, and then return to their previous orders afterwards if applicable.

Trucks set to allow commander control would be able to assist the command group by creating repair facilities and defences if applicable.
I'm really sorry but that's not what I meant, I'm saying retard the commander, make him less important as a controller for the group and use the group/him as simple a waypoint / buff. Change it so hes only a waypoint and buff, unit don't follow him and he doesnt fight. If you're going to do this make it a option please.
User avatar
theArmourer
Trained
Trained
Posts: 89
Joined: 19 Feb 2010, 02:27

Re: Idea: Mini-AI to automate player's commanders

Post by theArmourer »

Perhaps it would be best to take this in stages, rather like the project seems to work best.

As such, stage one would be to fix any bugs currently related to the commander as a unit, but not with the implemantion. I don't know of any. The second would be to add a more software-simple added functionality, and the best I could think of, that could provide a real advantage, would be formations and fire control.
Fire control would be the easiest. Units not assigned to a commander are independant. When a target is given, that order is sent to all droids selected. When units are attached to a commander, the commander recieves the target order, and assigns the target to a certian number of droids that will do . . . maybe 150% of the necessary damage, after a percentage is taken out for average inaccuracy.
Formations would be simply that. Perhaps some basic default ones, like a square/tercio, line, skirmish/staggered, and column. As a second step, add a user-defined formation utility. This stuff is intended to be real improvement without any A.I. beyond priortization and path-finding.

After this, add optional A.I. routines. Self-Preservation would be a useful one, where if faced with more than a certian amount % of force, the unit would perform a retreat to a rally point either AI or user defined. A defensive AI would be useful for both the Opforce AI and Commander AI, for creating rally points, and when placed in a static position, good defensive points within the perimiter would be ID'd, and defenses/guards established. When engaging an enemy, a commander, as a unique ability, would be able to priortize targets unless user input was received. This could then expand into multiple targeting as a benefit of Commander turret upgrades. Lvl 1: 1 target, Lvl2: 2 targets, ect. Then targets could be queued up.

Code: Select all


queue = the list of units to attack
unit = unit being targeted

if(ATTACK)
{
     if(queue.length() >= commander.maxunits())
          queue.clearbottom;
     queue.push(unit);
}
if(ADDATTACK)
{
     queue.append(unit);
}
Any unused attack designators would be AI assigned. If a unit had range beyond that of the commander, and hadn't recived any orders form the com (specificly arty, but anything else really) it could engage targets it sighted, but the commander didn't.
Right now, assigning sensors to commanders is pretty useless. (AFAIK) But it could be set up so that sensors subordinated to a commander are used to extend the commanders designation range. Units would not recieve the bonuses from the commander, but fire control would be extended to really wide ranges. Repairs would be ordered by the commander if there were attached repair units. Units would be rotated to where repair units were.

AND, I just had an idea for the command center. A Base Level commander. It would co-ordinate static defense fire-control, and dynamicly assign arty support to mobile commanders within range. Automate defense repairs when trucks are available. If units are assigned to base defense(individual units or a commander), it would move them if the AI determined the enemy forces were dangerous. Basiclly the retreat function, but for static emplacements. Maybe add "commander towers/hardpoints." The Center would also allow unassigned units to provide support to nearby commanders.

tl:dr, make changes that allow commanders with units attached to act like smart, super-powerful, single units.
~theArmourer
Post Reply