Jump to content
.kju

[Looking for ideas] AI commanding improvement project

Recommended Posts

Quote

 

Commanding AI is still a big challenge as new player - even as experienced player its no easy feat.

In addition you have various annoyance and issues with AI that plague the experience a great deal.

 

 

 

I am looking for your ideas how to improve the existing system by extending in modest ways.

 

 

Scope

 

  1. Both infantry and vehicle group (mixed/only)
  2. Adjusting and extending the quick/simple command menu, as well as the classic/complex command menu somewhat
  3. A few custom "behavior modes" to combine multiple aspects into one
  4. Exposing a few scripting commands/scripted features
  5. Better default group setup 
  6. Better default controls/key action assignments
  7. Additional key combos/key shortcuts
  8. Maybe a few custom GUI elements for guidance

 

 

Out of scope

 

  1. Probably wont touch map view commanding (maybe basic multi move waypoint)
  2. No complex extra features or new formations
  3. No custom GUI/radial menu
  4. No multi group management (High Command like)
  5. No micro management of AI units
  6. Helicopters or planes,
  7. Artillery/mortar or other kind of supports
  8. Replicating/Trying to replace advanced AI commanding mods like:

 

 

Drongo's Command Enhancement

https://steamcommunity.com/sharedfiles/filedetails/?id=1515249845

 

 

 

 

 

 

 

 

Now I've done quite some research, testing and play-testing already. As such a fairly good idea what should be done.

 

 

> However before laying those out, I am reaching out to you guys to get your ideas, grievance or advice. <

 

 

Important: Please consider/mention tank/vehicle commanding/combat separately.

 

Related: 

 

  • Like 7

Share this post


Link to post
Share on other sites

Don't know, what listed mods introduce, so not sure, if not duplicating them, but few ideas for streamlining infantry subordinates commanding came to my mind:

 

1. Selecting/deselecting subordinates via aiming at them while RMB* pressed and/or just aiming long enough (alternative selecting way by "pointing the finger" equivalent);

2. If doable, selecting and/or other commanding options (including those from x-x-x menu) can be available under mouse wheel while pointing at subordinate AI similar, as it is currently with vehicles' "get in" and alike actions;

3. Mouse wheel action orders as above, but available without actual aiming at the AI, for all currently selected subordinates;

4. Stance choice keys (perhaps also some other keys, like rising the weapon etc.) tapped twice in quick succesion (double key press) could trigger "copy my new stance"/"copy, what I'm doing now" order for:

- all subordinates, if none selected;

- for selected only if any selected.

 

5. A bit more fancy thing - if any subordinate(s) selected, moving with the crosshair while RMB* pressed over the terrain can define an area boundaries, where selected AIs would then go and pick positions. It may be something as simple as random positions, or with some "pick good cover" stuff going on. 

 

*or whatever is mapped for "temporary zoom"

 

I hope, this helps anyhow. 

  • Thanks 1

Share this post


Link to post
Share on other sites

The listed mods are mainly as reference not trying to replicate them and their scope, but also a reference of useful improvements others already have done I plan to partially mimic.

 

 

 

Selection of units/vehicles easily/with minimal keyboard/mouse actions is an important one indeed.

 

"Select all units" can be a bit confusing as it selects first all units "without order/in formation". So those with "move/ready/etc" wont be. Needs a second to really get all.

One idea is to combine the action with shift/alt/ctrl to toggle select all no matter what 

Another angle here is to use such key combo to toggle select all units with the complex command menu.

Yet another aspect is to have a way to select only vehicles/infantry when you have a mixed group

 

Speaking of vehicles: A way to select only (non cargo or just cargo) crew a vehicle you are in.

Continuing with vehicles it should be useful to have a certain way to select the driver/gunner/commander you are in without figuring out who is who via the tiny command bar icons.

 

Another level to this is to do this for other vehicles (select non cargo/cargo/specific crew) - probably limited to context sensitive selection via cursor you are point at.

 

The general challenge is to avoid conflicts with adjusted controls by people, or make it too complex by even more controls. With using shift/ctrl/alt modifiers this is less of a problem.

Another approach is to (re)use existing key actions and make them dual/multi use.

 

Similar for infantry:  Ability to select a medic, AT, sniper, etc easily. This is kinda tricky. One angle would be to expose this via menu rather than key/mouse input.

As for using cursor to select units - with infantry one should be able to reuse the "Use Default Action". As long as you are not too close to trigger an unit specific action, selecting via cursorTarget should work.

 

 

The native command menu (simple and complex) have conditions when to be displayed (parameter shown) and when to be usable (parameter enable). Sample:

			show = "IsLeader * (IsWatchCommanded) * (1 - CursorOnNeedFirstAID) * (1 - CursorOnNeedHeal) * (1 - CursorOnNeedRepair)";
			enable = "NotEmpty";

One can also launch scripts from it. High command is fully scripted too.

 

 

Last topic to mention for now: Fireteams

 

1) Auto assignment using roles (parameter from configs):

 

For infantry only, or mixed groups:

Red - Rifleman, MachineGunner, Grenadier, Assault, Assistant, Sapper?, Marksman?

Green - MissileSpecialist

Blue - CombatLifeSaver

Yellow - Crewman, Unarmed

White (default) - All units in vehicles (non cargo and cargo)

 

For vehicle only groups: 

Probably one vehicle per fireteam color.

An alternative could be per vehicle type (unarmed transport, light combat vehicle, armor, helicopter, plane).

 

Limitation: No customization/custom setup of fireteams - needs a way to disable.

 

2) Better default key action assignments

  • LAlt 1-5: Select fireteam
  • LCtrl 1-5: Assign fireteam

 

 

 

Share this post


Link to post
Share on other sites

I'm not familiar with ALL of the above mods but I'd love to see a simple way of...

 

1. selecting multiple waypoints (within game, not within the editor)
2. better intelligence on direction of fire (type, distance & rough bearing)
3a. directing suppressive (continuous) fire at a position
3b. directing harassing (alternate) fire at a position
4. flanking a position (either right or left) by moving from cover to cover with no fire unless engaged
5. fixing bayonets & charging a position
6a. advancing via bounding overwatch
6b. falling back via bounding overwatch
7. proper retreat; pop smoke (in direction of incoming fire) & run!
8. get troops into cover & hold fire (for an ambush)
9. get a tank into a hull-down position (for defense)
10. once tanks engage a target, they avoid showing their rear (even if retreating)
11. getting your AT to engage armour (really)
12. getting your medic to heal injured allies, where casualties are listed by distance and/or severity (if known)
13. getting your AI to pop smoke in direction of incoming fire (including tanks) if injured or treating a casualty
14. getting your AI to rearm, where options are listed by distance to re-supply (identical calibre) & by distance for replacement (different weapons)

15a. easier way to assign to Fire / Assault teams

15a. easier way to select to Fire / Assault teams

 

I apologise if some of these features are already supported by the above mods and would be happy to learn which exactly.

Share this post


Link to post
Share on other sites

@domokun sorry for the belated response

 

what do you mean with "selecting" waypoints?

what is "intelligence on direction of fire" - group chat callouts?

whats the actual benefit of suppression? especially a position?

what is "directing harassing (alternate)" - just firing every few seconds some pot shots?

4-7 is out of scope here. seem also pretty hard to realize in dynamic ways to work with different situations

one can do "never fire" with combat mode "BLUE" - get into cover via STEALTH

cant see how you could script hull down - especially AI. do you have some ideas?

10 and 11 cant be done via scripting in meaningful ways as far as i can tell

you can tell medic in your group via context sensitive menu, or by action menu to heal - yeah i can see a list useful to some extent; at the same time its quite artificial - personally the context sensitive seems good enough

one could script smoke use; have this in my game mode - but one can apply only very basic logic and with units only have 1-2 smokes at best, its easily wasted; one could give a target or direction to throw a smoke on command. still not sure how much practical relevance this has. seems very situation specific micro management

rearm is an important topic, yet again not much of a fan of lists/GUI here. personally i would rather see context sensitive action at ammo boxes, vehicles with cargo, dead bodies, etc, as well as a generic "rearm nearby" where each unit evaluates nearby containers for meaningful ammo

fireteams can already be bound via key action - is there another even more simple way to?

 

Thanks for your input! Overall your points are partially covered by these more complex AI mods listed, and my scope is rather modest and more about no micro management or complex features.

 

Share this post


Link to post
Share on other sites

@Rydygier

 

Sending subordinate(s) via context menu and apply  "Find cover" when arrived, sounds somewhat like your point 5, right?

Not sure yet if one can combine that into one though.

With "Stack back" and "Advance" one can spread out the units. Its not exactly the same as "painting" the desired area, but rather close I guess.

 

Double tab for squad command I dont think you can do well. You would need to intercept the key actions, have a key input monitor and all that. Seems also non obvious to me.

Instead a separate key combo modifier may be feasible - say LWIN + action key. However overlap with custom controls is also likely here. Rather "Select all units" + key action.

In general seems too micro management though. Like you rather want AI to have stance based on overall behavior/"combat mode", or to follow the player ("copy my stance"), dont you?

 

Mouse wheel sounds also problematic to me. You already have it in use for action menu, and for AI commanding menus. Adding another state/use, makes it only more complex.

Especially when context sensitive. If you explicitly switch to the "mode" with another key first, then its distinct. However why not integrate into the existing AI command menus then?

 

Would be great to hear some more thoughts on this - could always be I am missing something. Overall my goal is to rather simplify and make options more accessible, instead of adding new layers of complexity.

Share this post


Link to post
Share on other sites
Quote

Sending subordinate(s) via context menu and apply  "Find cover" when arrived, sounds somewhat like your point 5, right?

 

Something like that. 

 

Quote

You would need to intercept the key actions, have a key input monitor and all that. 

 

I think so. Seemed OK to me, but I assumed certain amount of SQF scripting involved. Default A3's key mapping options support 2xkey press mapping too BTW, I'm using it for some things.

 

Quote

Like you rather want AI to have stance based on overall behavior/"combat mode", or to follow the player ("copy my stance"), dont you?

 

Yep. 2x(KEY1) seems better, than default way to get for example "copy my stance" result - dancing over whole keyboard with 0-x-x menu - (Select (All))->(KEY1)->(KEY2)->(KEY3) IIRC. 

 

A general issue become apparent - different people consider different things more or less convenient/intuitive, than default, as for key mapping etc. For me, the less keyboard usage, the simplier/better (thus my ideas utilizing mouse) and the less various keys to be pressed to get something - the better (thus double pressing to get for whole group something similar, pressed one time key do for my character). The less my fingers need to dance on the keybord to get a result - the better to me. 

 

As for individual preferences, for example I, probably unlike the most, never use WSAD for directions, so all my most used key bindings are focused on the right side of the keyboard, around cursor keys - these are easier for me, because separated from other keys, unlike WSAD. So, if new solution should be universally benficial, should allow customization and should work well with different key mappings (like whole thing indeed should be based rather on actionKeys etc. than arbitrarily chosen keys). 

 

Well, I hope more ideas will appear. 

Share this post


Link to post
Share on other sites

@Rydygier thanks for the quick response!

 

The problem with intercept key actions is:

1) mouseDown cannot and specific key combos are also not fully covered; plus RMB also has issues

2) we cannot access native command menu commands (at least i havent found a way yet). so one would need to script features fully. on-top some native engine functionality cant like "find cover"

 

One can define new key actions and make it configurable, and thats should be a given. Yet still reasonable defaults are very important - but also down to personal preference to a certain extent indeed.

 

Personally I think the numpad would be well suited for AI commanding and unit selection, yet its not always available these days.

Share this post


Link to post
Share on other sites

Personally I'd like to see a way to force the AI to make better use of cover and/or concealment. If I point to the base of a tree and tell a squad member to go there, it would be nice if he actually used the tree as cover rather than just taking a position beside it or 5 feet away out in the open. Most structures in the game have predefined defensive positions but natural cover such as trees and rocks and other cover such as vehicles and debris are often ignored by the AI. Also the "find cover" command often results in squad members that still wind up laying prone in the open rather than moving to nearby cover. If no cover is available then simply hiding behind bushes or in tall grass would go a long way when trying to remain undetected. I don't know if what you have in mind could improve on that behavior or if it would be better left to an AI mod but that's one suggestion that I can think of at the moment that perhaps isn't completely outside the scope of what you're considering.

  • Like 1

Share this post


Link to post
Share on other sites

@scimitar

 

nothing one can do via SQF, nor are cover points and "find cover" too bad.

your expectations are just way too high here - its a very complex topic to get AI to position right in this very complex and dynamic environment.

 

also its not really about AI commanding i'd say

Share this post


Link to post
Share on other sites
24 minutes ago, .kju said:

@scimitar

 

nothing one can do via SQF, nor are cover points and "find cover" too bad.

your expectations are just way too high here - its a very complex topic to get AI to position right in this very complex and dynamic environment.

 

also its not really about AI commanding i'd say

 

Okay, I can understand that.

 

Do you think it would be possible to come up with a way to "stack" commands so that multiple commands could be issued at one time and then executed in order? I believe that Rydygier touched on that above as well. That would come in handy when multiple fire teams or squad members need to perform several tasks simultaneously. A "go" order once all commands are issued would be necessary as well as a way to cancel the stacked commands once started in case of unforeseen circumstances such an ambush or unexpected enemy contact. A "recon" command would be great as well. That way a squad member or group could be ordered to try to get eyes on the enemy without engaging or being observed and then reporting. Another useful command would be "probe enemy positions". The AI would try to pinpoint enemy positions by drawing fire and then breaking contact and withdrawing.

Share this post


Link to post
Share on other sites
On 1/19/2020 at 6:52 PM, .kju said:

@domokun sorry for the belated response

 

what do you mean with "selecting" waypoints?

what is "intelligence on direction of fire" - group chat callouts?

whats the actual benefit of suppression? especially a position?

what is "directing harassing (alternate)" - just firing every few seconds some pot shots?

4-7 is out of scope here. seem also pretty hard to realize in dynamic ways to work with different situations

one can do "never fire" with combat mode "BLUE" - get into cover via STEALTH

cant see how you could script hull down - especially AI. do you have some ideas?

10 and 11 cant be done via scripting in meaningful ways as far as i can tell

you can tell medic in your group via context sensitive menu, or by action menu to heal - yeah i can see a list useful to some extent; at the same time its quite artificial - personally the context sensitive seems good enough

one could script smoke use; have this in my game mode - but one can apply only very basic logic and with units only have 1-2 smokes at best, its easily wasted; one could give a target or direction to throw a smoke on command. still not sure how much practical relevance this has. seems very situation specific micro management

rearm is an important topic, yet again not much of a fan of lists/GUI here. personally i would rather see context sensitive action at ammo boxes, vehicles with cargo, dead bodies, etc, as well as a generic "rearm nearby" where each unit evaluates nearby containers for meaningful ammo

fireteams can already be bound via key action - is there another even more simple way to?

 

Thanks for your input! Overall your points are partially covered by these more complex AI mods listed, and my scope is rather modest and more about no micro management or complex features.

 

@kju for #1 I meant "As a commander, I want to assign multiple waypoints (W1 > W2 W3) to a unit"

#2. intelligence = greater detail on direction of fire, e.g. rough type (rifle, machine gun), rough distance (100m/200m/500M/1000M) & rough bearing (NE, South)

#3a. suppressing a unit benefits by the aggressor by discouraging return fire and slowing enemy movement (maybe fixing them) and diminishing morale (perhaps even causing them to retreat). When I wrote "position", I meant all units within a rough area, rather than a single target

#3b. harassing fire = slower, irregular fire used to stress the enemy but also save ammunition (less effective than suppressing fire but more conservative in ammo use), particularly useful if your assault team has a lot of ground to cover before engaging the enemy

#4-7. I understand

#8. yes they hold fire, but do they get into cover. Ambush I feel is a combination of 3 existing orders (Stealth & Find Cover & Face Direction)

#9. To establish a hull-down position, the AI would need to determine which is their greatest visible threat & then scan the terrain to find any depressions (tank commander may not see any)

#10-11. That's a shame but understandable

#12. understood

#13. even a scripted solution would be better (it worked well with SLX in A2)

#14. re-arm is particularly useful if suppressive and/or harassing fire is implemented and underlines the importance of ammo bearers for machinegunnners

#15. I guess I need to improve my keyboard shortcuts

Share this post


Link to post
Share on other sites

Finally found some time to get back to this. Sorry for the wait! Will respond to your points tomorrow.

 

I want to get feedback from you guys on a few topics:

 

1) Context sensitive command visualization and feedback

 

Atm only the cursor changes depending on object your are point at (vehicle, hostile target, injured person, etc).

However whats completely lacking is the 3d aspect - you have not real sense at distance what are point at. Especially with MOVE commands this is an issue.

 

Also some few seconds persistent feedback is missing on commands.

 

BiA is showcasing this fairly well how this visualization and feedback helps:

 

 

 

2) Commands to AI

 

Atm you essentially only have MOVE, TARGET/ATTACK, WATCH and SUPPRESSION (plus HEAL, REVIVE, DISARM MINE, REPAIR and ARTILLERY).

What is somewhat missing is the WP like behavior (HOLD, DESTROY, SAD, GUARD, SENTRY - ref: https://community.bistudio.com/wiki/Waypoint_types).

The tricky thing here is you cannot give WP to units in player groups. You would need to split them off and have ways to rejoin your group - and you loose control in the meantime.

However in general AI is largely only either tagging along with the player in some formation, or you order them to move somewhere basically.

 

One has also formations, stances, behavior and combat mode, yet they are somewhat limited for AI under player command or tied to the player behavior itself.

 

Also missing is the ability to stack multiple commands easily. There are 2d map based system like HC and community modded, but none of these are really good enough IMO

and more AI management rather than AI assistance.

 

Sadly one cannot order "take cover" via sqf. It would be fairly decent in combination with MOVE commands.

 

What else is missing here or needs improvement?

 

 

3) AI unit selection

 

Atm you can "select all" (not waiting/read - needs a second press to really selection all), or select individual units via F keys, or use the 3d cursor to select single units.

However to select multiple units is fairly tricky, especially when they are beyond the first ten. Also you cannot stack select via 3d cursor (AFAIK).

Plus to select only vehicles, vehicle cargo, specific vehicle positions, or specific unit types in your group is also quite a hassle. Plus BI made the unit bar visualization worse and worse since OFP..

One can use colored FT to some extent to assign specific groups and automate their assignment via SQF.

 

Overall looking for good interaction concepts with this and whats most important.

 

 

4) Menus

 

Currently there is context sensitive menu (simple command menu), classic menu (complex command menu) and high command.

The classic is somewhat clumsy to access atm. Switching between HC and normal is not great. CS menu is missing various essential commands from classic menu.

 

Originally the idea was to extent the CS menu with some more entries. The downside is the engine is visually limited to ten or so entries.

If you add more, those command end up outside the menu border. Another issue is with too many entries it becomes both hard to scroll at some point, plus direct access via number keys is a problem eventually.

Another idea was to make a new menu to be opened by key combos for CS menu and classic menu. Problem is backspace cant be combined (engine limitation).

Plus key combo can also be used to have different unit selections in the first place.

 

One option is to add one entry at the end of the CS menu.

Another to (ab)use the HC menu (as long as you dont control any HC groups).

To define a new key action could be done too, yet it gets messy/even more complex.

 

 

5) Revealing enemies

 

Probably unbeknownst to most players OFP introduced also a very elaborate system here. Every units has different levels of knowledge about each others.

It starts from being aware of something in the first place, to learn about the type in few different stages (unknown, infantry vs vehicles, what type of vehicle, exact type),

as well as to learn if its a neutral, friendly or hostile unit/object. 

Most of this is happening automatically based on your own awareness (eyes, ears, optics, radar) or info share from your group (and to some extent your whole side).

 

This is influenced largely by config values per source and target classes, as well as terrain and current environment.

 

However probably many (no longer) know that there is an extra reveal key action. Its basically a "focus on current cursor area", bit similar to zooming in via RMB or optics.

This way you can improve the awareness process/progress/level, and due info share also let your group know.

 

Now as GL this is a very essential tool as you make your team aware of enemies in the first place, or speed up the process considerable.

As result the AI can react appropriately. Also some GL AI commands require a certain awareness level of the target to be available or to work.

So in summary this is very crucial to make AI act and engage properly.

 

Better default assignment (TAB instead of RMB) helps, yet people need to know about it the first place.

Visualization is also lacking. OFP still had this to some extent via the 3d cursor information. I think its completely gone in A3..

There are quite some SQF commands available tied to that system. It could be used to visualize new targets or have some enhanced

auto awareness for cadet mode.

 

 

6) Abstraction

 

To end with full control vs simplification: OFP introduced a very in-depth control over AI with many commands, thus menus and submenus via the classic/complex command menu.

It allows very fine grained control and a great variety of interaction with AI.

 

A2 saw the introduction of the context sensitive command menu. It greatly reduced the complexity. The context sensitivity allows a lot more flexible interaction.

However by itself its also quite limited and relies still mainly on the player to both manage AI and engage in combat yourself.

  • Like 4

Share this post


Link to post
Share on other sites

why don't use tactical pinging with animation (pointing front) like phronk script? look around 2.41.  VTS gesture is a good in some aspects either for AI

 

Share this post


Link to post
Share on other sites

@zukov not sure what your whole point is. please explain

sure a gesture pointing anim may not be bad to reinforce a (certain?) command, but its just a visual gimmick in the end (for AI commanding).

also how does tactical ping relate - to use its key action to trigger an AI command? to use the same visualization?

Share this post


Link to post
Share on other sites

@scimitar

> Stacking commands

There is mods that do this fairly well.

 

In my context its probably only relevant for 3d - not 2d map.

 

That said its also the question what is meaningful beyond multiple MOVE commands.

Otherwise you need temporary scripted waypoints (see post above for its complexity).

Another problem is mixing of different commands (say MOVE + another), and changing/deleting setups.

Then its gets easily very complicated again. And its done fairly well in other AI mods already.

 

> Sync command execution

There is mods that do this fairly well. Not my scope to have a "RTS" command layer.

 

> Custom recon or probe commands

Out of scope again sorry. Would need scripted waypoints again, plus hard to impossible to do this convincingly/well enough with SQF/Arma limits.

 

Share this post


Link to post
Share on other sites

@domokun

> Command stacking

As said a basic level is feasible, yet not more for my scope.

 

 

> Intelligence = greater detail on direction of fire

Again do you mean group chat call outs? Or visualization? Automated or manual?

 

 

> Suppression

I can' tell how well/poor the native system works, and one can script this to some extent (effects of suppression).

However I am not sure how much this can really be improved beyond whats available natively (and in relation to complexity and effort involved).

Best to check dedicated suppression mods/scripts first to get a better sense whats out there already. I am doubtful it will be worth it.

 

Also to have different levels or types of suppression fire is quite hard to script. Can't see this working well and worth the effort.

 

 

> Get troops into cover & hold fire

Unfortunately its impossible to combine the "take cover" movement command with anything else.

So you need to stack those commands yourself. The best one can do is: STEALTH+HOLD FIRE/NEVER FIRE(+FACE DIRECTION).

For direction you would either need a submenu again to choose, or some sort of cursor direction determination process.

It may be possible to script this, yet would first need to figure out how this is to work exactly in a smooth way. Other games may provide good references tho.

 

 

> Hull-down

There is no practical way to determine a suitable location.

 

 

> Pop smoke in direction of incoming fire

To determine the direction in meaningful ways is not simple to impossible.

Probably better would be an command to order an AI to throw a smoke (in your current view/cursor direction).

For tanks/vehicles an auto eject on getting hit is probably meaningful.

 

 

> Rearm

One can script this to some extent but its not that simple.

Have to check if there is any decent existing solutions.

  • Like 1

Share this post


Link to post
Share on other sites

@.kju I apoligize i wrote bad
 

directly from the thread 
 

Quote

Release 02 :

-Now AI react to the commo rose if you are the leader of your group.

-Go gesture will sent the group ahead up to ~50 meters.

-Cover gesture will switch the group in danger mode.

-Come will make the group back in formation.

-Freeze will make the group stop in their current motions.

-Cease will switch back the group to aware if possible (outside engagement).

-Point will make half the group scan the direction you pointed while the other half will cover the flanks and the rear.

in addition you can match the voices command with animations gestures, 
about the tactical pinging with animations you have a Icon that shows approximately where the enemy is (need voices to me)
if you mix this stuffs, already in game, you have something similar to video that you show above.

i still apologize for my bad wrote post


 

Share this post


Link to post
Share on other sites

It would be nice to have a command to set up selected units in a perimeter defense.

 

I wrote a script for that years ago. Might be of help.

 

/*
	Author: Revo

	Description:
	Orders units in player's group to set up a perimeter defense

	Parameter(s):
	-
	Returns:
	-
*/

if(count units group player == 1) exitWith {};
_units = units group player;
_count = (count _units) - 1; 								//All units except the player will build a perimeter
_angle = 360/_count; 										//incremental angle

player groupChat "Quick, set up a perimeter";				//Short group message

for "_i" from 1 to _count do 								//starts at 1 in order to ignore the player
{
	_distance = [5,15] call BIS_fnc_randomNum; 				//small distance variations for the visual appearance
	_dir = _i * _angle; 									//direction the unit should watch
	_pos = [player, _distance, _dir] call BIS_fnc_relPos;	//waypoint position
	_posWatch = [player, 50, _dir] call BIS_fnc_relPos; 	//workaround, position to make unit watch proper direction
	_units select _i doMove _pos;
	_units select _i doWatch _posWatch;
	_units select _i setUnitPos "MIDDLE";
};

 

  • Like 1

Share this post


Link to post
Share on other sites

This is what I have for custom menu for now:

 

Custom menu

 

And custom commands to simplify things somewhat - probably tied in above custom menu or in a separate one:

 

Custom behavior modes

Attack

  • Combat Mode: RED (Fire At Will, Engage At Will)
  • Behavior: COMBAT
  • Formation: LINE/WEDGE
  • // UnitPosition: MIDDLE
  • DisableAI:
        
    • AUTOCOMBAT-OFF
  • //EnableAttack: ON?
  • ForceSpeed: 100%?

Defend

  • Combat Mode: YELLOW (Fire At Will, Disengage)
  • Behavior: COMBAT
  • Formation: DIAMOND
  • // UnitPosition: MIDDLE
  • DisableAI:
        
    • AUTOCOMBAT-ON
  • //EnableAttack: OFF
  • ForceSpeed: 0.66%?

Aware

  • Combat Mode: GREEN (Hold Fire, Disengage)
  • Behavior: AWARE
  • Formation: FILE
  • // UnitPosition: AUTO
  • DisableAI:
        
    • AUTOCOMBAT-OFF
          
    • COVER-OFF?
  • //EnableAttack: OFF
  • ForceSpeed: -1

Stealth

  • Behavior: STEALTH
  • Combat Mode: BLUE (Never Fire, Disengage)
  • Formation: LINE/WEDGE
  • UnitPosition: DOWN
  • DisableAI:
        
    • AUTOCOMBAT-ON
          
    • LIGHTS-OFF
  • //EnableAttack: OFF
  • ForceSpeed: 0.22%?

All Clear/Retreat

  • Combat Mode: WHITE (Hold Fire, Engage At Will) (or BLUE?)
  • Behavior: CARELESS (or SAFE?)
  • // Formation: COLUMN - gets ignored, but set default?
  • UnitPosition: MIDDLE?
  • DisableAI:
        
    • AUTOCOMBAT-OFF
          
    • TARGET-OFF
          
    • AUTOTARGET-OFF
          
    • CHECKVISIBLE-OFF
          
    • COVER-OFF
  • //EnableAttack: OFF
  • ForceSpeed: 100%


References

  • Like 4

Share this post


Link to post
Share on other sites

Another interesting thread, kju!  I have spent an inordionate amount of time controlling AI groups. I'll list off some of the falws that have always annoyed me or made the command menu unecessarily cumbersome.

90% of combat modes are useless. The single best and most important way of ensuring survivability is stance.
Being shot at or need to sneak. Force PRONE stance.

Assaulting. Force CROUCHED stance.

 

Escaping, disengaging or otherwise is hard. In Arma2 it was possible to force "UP" stance and set formation to "COLUMN" which seemed to offer more direct control of the group. I seem to remember reading this somewhere, but I've failed to find documentation for this.  (certainly there is an extra config parameter that remains in ARMA3-- though I find little real difference).


The bounding behaviour exhibited by Combat and Stealth combatModes are invariably of dubious value. In stealth the short standing rushes work contrary to the purpose of the order. In Combat, this will often leave the unit standing exposed.

The '6' Action menu is a mess. There are two problems here.

1. The list is populated by actions which are far to distant to the unit in question to be useful

2. Useful commands within the list are dynamic and therefore not dependable in stressful situations.

Three comands I would like to see persistent and unyielding.
1. Treat yourself

2. Access subordinate inventory
3. Access inventory  (essentially run to nearest object with inventory access-- typically crate or vehicle)

It would also be useful if the actions relating to picking up weapons and so on would have a distance measure in meters.

Interacting with buildings is hard. It would be supremely useful to be able to point at a building. Select relevant units (F1-F12 menu) and then with a single button press have them move into the building.  This has both offensive and defensive potential.  It does not really need to be much more complicated than that.  (Adding more options seems to add overhead to something which ought to be a simple system).

Suppression. While setting up suppression isn't difficult, per se, it is somewhat cumbersome to set up persistent suppressive fire.  It is a shame that suppressFor seems to have little effect. Being able to order 10-60 seconds of deliberate fire on a position would have been a godsend.

-k

Share this post


Link to post
Share on other sites

@nkenny

 

Stance is certainly very important. However combat modes are not really about stances either. Player commander stance management is doable. Automated based on situation or environment probably not really. Arma is way too complex and the influence on AI too limited, as well as ability to get input on the environment.

 

To get units to retreat from combat try:


 

units player apply
{
 _x disableAI "AUTOCOMBAT";
};



units player apply
{
 _x disableAI "TARGET";
 _x disableAI "AUTOTARGET";
 _x disableAI "COVER";
 _x disableAI "CHECKVISIBLE";

 _x doMove (position player); 
 _x setUnitPos "UP";
 _x setBehaviourStrong "CARELESS";
 _x forceSpeed 100;
};
Quote

The '6' Action menu is a mess.

What commands explicitly do you need the menu for?

 

Quote

1. Treat yourself

2. Access subordinate inventory
3. Access inventory  (essentially run to nearest object with inventory access-- typically crate or vehicle)

What means 1? To get a medic in your team to heal you? Can you do that via "INJURED" in the  context sensitive command menu. Also you can use it with a medic selected to treat others.

Or use the medic support call (5-1-1). So please elaborate

 

Inventory access and rearm are very important indeed. These are on my list and should be doable via context sensitive command menu.

 

Quote

Interacting with buildings is hard

You can already order units to building positions. What is a hassle is to order multiple units/the whole team as you need to do it for each position individually.

Pretty sure there are already scripted solutions from A2 days for that though. So only needs to be tied into the context sensitive command menu (or some custom one).

 

That said AI is pretty stupid with buildings (movement, animations, turning, awareness, no flexibility). So to make AI really meaningful with buildings you really need to script a lot in addition.

 

Personally I never understood why so many are fixated on buildings - Arma is an open world simulation. Buildings/objects is one of its biggest weak points in many ways - not just for AI.

 

Quote

Suppression

You can also order suppression via the context sensitive command menu (by holding ALT). Or are you saying its not working well enough?

 

To be able to adjust the duration/an endless mode one can toggle off would be convenient. However not simple to implement such logic nicely interface wise and have it really meaningful gameplay wise.

 

Personally I am not convinced either suppression is really working well in Arma (that said don't have too much hands-on experience with it nor did I notice it to matter really).

Arma seems also not really well suited for it given its aiming mechanics for both player and AI. However I am always open to be convinced otherwise with good arguments or examples.

Share this post


Link to post
Share on other sites
5 hours ago, .kju said:

 

Personally I never understood why so many are fixated on buildings - Arma is an open world simulation. Buildings/objects is one of its biggest weak points in many ways - not just for AI.

 

 Hence exactly WHY we are fixated on it!

 

 Buildings and urban environments are a huge part of pretty much every war and hold a titillating effect upon approach -as the hidden mystery and danger it may posses can be daunting and presents interesting challenges to the both the assaulting force as well as defenders. Arma since OFP has done next to nothing to advance the AI's battle-tude towards buildings treating combat the exact same way they  do across a valley, Woods or a desert which is almost obscene. Those wishing to breathe some life into that most neglected area are to be applauded imo.

 

No offense kju, greatly respect your work in this series -but this thread is strange. It asks what people want in terms of AI commanding -lists the many capable AI mods and scripts already available and then answers most requests with "Outta the scope of this thread/engine or "what your asking for is not necessary produce an argument to change my mind"

😶

Edit: And the term "Open World Simulation" was coined later in the series as it was originally promoted as the premiere Cross Arms Military Sandbox. 

  • Like 3

Share this post


Link to post
Share on other sites

Buildings/objects have too many issues you cant solve with scripting or at all. Geometry, collisions, movement, cover point behavior and types, weapon use, destruction, ladders, lack of jumping, falling behavior, usually buildings are standalone - aka not connected to something else. You have one/few entries, go in to some window and thats it. More like a bunker. Combat inside is largely frustrating.

 

As said there are already previous script systems to make AI take building positions or clear a buildings. But these are quite rudimentary and dont/cant address anything of the above issues.

The recent work of using very heavily scripting movement inside helps somewhat I would assume. Still many other issues to address.

 

As mentioned my scope is limited here as I have only little time and thus cant nor dont want to aim for solutions working in every Arma context. The commanding aspect with buildings will help very little as far as i can tell.

To me customized move commands or use of waypoints for your own group seem way more meaningful to interact better with the Arma style environment.

Share this post


Link to post
Share on other sites

@froggyluv best read again the thread introduction, whats within scope and whats out of scope to better understand what I am trying to achieve and what I consider feasible

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×