Jump to content
Sign in to follow this  
C@MPER

Hierarchy in Command System

Recommended Posts

Topic: Hierarchy in Command System

Hello to everyone! This is my second thread (post actually) in this branch. What I wanted to talk about now was slightly described in my previous thread, but I decided to take this out in a separate thread because it’s well… less revolutionary, but it is very essential. So here we go:

Hierarchical Command System

Note: the topic is briefly described in “compressed thread†section, read it for know what it’s all about, all other parts are detailed explanation and special cases explanation. If you want to read full thread, then skip it.

(0) Compressed thread

So where will be hierarchy in ARMA command system? Let’s go to Mission Editor. Imagine that we’ve placed a “basic squad†on the map. In ARMA1 there are 7 ranks (from lowest to highest): 1) Private 2) Corporal 3) Sergeant 4) Lieutenant 5) Captain 6) Major 7) Colonel. And here’s default ranking of the basic squad: SL – Sergeant, TLs – Corporals, and all the rest are Privates. Ranks are okay for our case, so we won’t change them, now let’s preview the mission.

Now: we placed only one basic squad, so in original ARMA there’ll be one team:

“One†– Squad Leader, “Two†– Team Leader, “Three†– Team Leader,  “Four†– Grenadier, “Five†– Automatic Rifleman, “Six†– AT Specialist,  “Seven†– Grenadier, “Eight†– Automatic Rifleman, “Nine†– Sniper

BUT! With hierarchy com-sys implemented we’ll have 3 teams instead:

Team One: “One†– Squad Leader, “Two†– Team Leader, “Three†– Team Leader

Team Two: “One†– Team Leader, “Two†– Grenadier, “Three†– Automatic Rifleman, “Four†– AT Specialist

Team Three: “One†– Team Leader, “Two†– Grenadier, “Three†– Automatic Rifleman, “Four†– Sniper

Note: Team consists of only neighboring ranks, where is one commander, and the rest are subordinates (classical – commander-“one†and all others), and the squad will consist of whole teams hierarchy, connected with each other. (in case described above – these three teams form a squad, because they are connected with each other by Team Leaders.)

NOW, who’s in charge of who: Squad Leader is in charge of both Team Leaders; Team Leader #1 is in charge of his sub-team, which consists of “three†to “five†in original team; Team Leader #2 is in charge of his sub-team, which consists of “seven†to “nine†in original team

Translating these lists to text, Squad Leader gives orders to TL1 or TL2, who in their turn give orders to their sub-teams (three men each) to complete Squad Leader’s order! BUT Squad Leader can’t give direct order to f.e. sniper, although he does have indirect control of him. So Squad Leader can’t f.e. order sniper to target and shoot a man, BECAUSE it’s completely up to defined Team Leader to decide who in his team will complete Squad Leader’s order.

(I) Introduction

Preconditions of the topic I’ve seen in ARMA1: remember, if we place a basic infantry squad in Mission Editor, first unit in it’s named “Squad Leader†and the second as well as the sixth are named “Team Leaderâ€. So I thought that after the whole squad commander – SL gets killed, then team splits into two and both TLs take per three units under their control (There are nine units in “basic aquadâ€, so TL “two†takes “threeâ€, “four†and “fiveâ€, while TL “three†takes “sevenâ€, “eight†and “nineâ€)… Well, I was a bit disappointed when I found out, that this is only a naming feature, without consequent functionality itself. Ok, that’s enough of history, now here’s the subj itself:

(II) The Subject

So where will be hierarchy in ARMA command system? Let’s go to Mission Editor. Imagine that we’ve placed a “basic squad†on the map. In ARMA1 there are 7 ranks (from lowest to highest): 1) Private 2) Corporal 3) Sergeant 4) Lieutenant 5) Captain 6) Major 7) Colonel. And here’s default ranking of the basic squad: SL – Sergeant, TLs – Corporals, and all the rest are Privates. Ranks are okay for our case, so we won’t change them, now let’s preview the mission.

Now: we placed only one basic squad, so in original ARMA there’ll be one team:

1) “One†– Squad Leader

2) “Two†– Team Leader

3) “Three†– Team Leader

4) “Four†– Grenadier

5) “Five†– Automatic Rifleman

6) “Six†– AT Specialist

7) “Seven†– Grenadier

8) “Eight†– Automatic Rifleman

9) “Nine†– Sniper

BUT! With hierarchy com-sys implemented we’ll have 3 teams instead:

Team One:

1) “One†– Squad Leader

2) “Two†– Team Leader

3) “Three†– Team Leader

Team Two:

1) “One†– Team Leader

2) “Two†– Grenadier

3) “Three†– Automatic Rifleman

4) “Four†– AT Specialist

Team Three:

1) “One†– Team Leader

2) “Two†– Grenadier

3) “Three†– Automatic Rifleman

4) “Four†– Sniper

Note: Team consists of only neighboring ranks, where is one commander, and the rest are subordinates (classical – commander-“one†and all others), and the squad will consist of whole teams hierarchy, connected with each other. (in case described above – these three teams form a squad, because they are connected with each other by Team Leaders.)

NOW, who’s in charge of who:

1) Squad Leader is in charge of both Team Leaders

2) Team Leader #1 is in charge of his sub-team, which consists of “three†to “five†in original team

3) Team Leader #2 is in charge of his sub-team, which consists of “seven†to “nine†in original team

4) The quantity of sub-team’s (in this example sub-team is quantity of all privates, and TLs are all the corporals) units is defined by dividing quantity of sub-team units in squad by number of TLs; and given to them, sorted by their number in squad, rounded of cause if after division we get non-integer number. Here is distribution formula:

formyw8.jpg

In formula “n†is number of current commander; “k†is number of the lowest rank (i.e. if lowest rank in squad is private – k=1, if it’s corporal – k=2, ect.); Rk – quantity of units of rank “k†and Cn – quantity of units under the command of current commander.

SO if we have f.e. 4 commanders, then the formula will be calculated 4 times.

Translating these lists to text, Squad Leader gives orders to TL1 or TL2, who in their turn give orders to their sub-teams (three men each) to complete Squad Leader’s order! BUT Squad Leader can’t give direct order to f.e. sniper, although he does have indirect control of him. So Squad Leader can’t f.e. order sniper to target and shoot a man, BECAUSE it’s completely up to defined Team Leader to decide who in his team will complete Squad Leader’s order.

Well, actually if developers decide, that f.e. rank3 commanders (sergeants) should have direct control of rank1 (privates), then I think it’s possible to make such control: Imagine our basic squad again, and we are playing rank3 commander – Squad Leader, and for example we want to order sniper to shoot some target. In our command interface Team Leader 2 is commander of sniper, so HE (TL) is binded to F2 button. So the controls might be: we press F2 once and this will select TL, BUT if we press F2 twice, TL2’s sub-team members will be shown in our command interface (by command interface I mean the green bar with units at the bottom of the screen), and sorted as in TL2’s screen +1 (so TL2 becomes “two†instead of “one†and though sniper “four†comes as “five†in our command interface), because Squad Leader, which we are playing at the moment becomes “one†wink_o.gif So we simply press F5 and give direct order to sniper, that’s it!

Some pics:

1) This is how basic squad will look in Mission Editor: privates at the bottom are connected to TLs (who are corporals), who in their turn are connected to a Squad Leader (sergeant).

bshierarchyos4.jpg

3) Command interface of Squad Leader

slinterfacept7.jpg

4) Command Interface of Team Leader 1

tl1interfacezx0.jpg

III Some details

(1) Commanding Steps and Skipping of them.

(1.1) Commanding Steps. There will be 6 “steps of commanding†for there are 7 ranks in ARMA. So if we f.e. will have 16 privates (rank1, step0), split in four teams, 4 men each and have 4 corporals (rank2, step1) in charge of every team. An further, we’ll have two sergeants in charge of two corporals (rank3, step2) each, so for coordinating all of them it’s best to have a lieutenant (rank4, step3) in charge of both Squad Leaders. So we have:

1) Step 1: privates are under command of corporals

2) Step 2: corporals are under command of sergeants

3) Step 3: sergeants are under command of lieutenants

And so on until Colonels, who are under command of no-one (originally)

Note: this is only an example, in-game “one†(Squad Leader) can command 4 teams (TLs), not only 2, or there can be f.e. 8 privates under one TL command. The number of privates under one corporal,  or corporals under one sergeant and so on is infinite (or 256 or what is game-max?)

(1.2.1) Step-Skipping. Usually one rank units will command only his sub-rank unit (colonel-major, corporal-private, ect.) but there will be cases, where commanding steps will be skipped. F.e. if after a battle there is only one sergeant, one corporal and some privates are left, and they are all in command hierarchy, and corporal suddenly gets shot, then sergeant takes command of the whole team of privates, which makes him skip one step of commanding.

(1.2.2) Hiring. Higher-step commanders will be able to “hire†step-skipped units: ask (or order?) a lower-step commander to move one or even several their subordinates under their command (f.e. sergeant asks corporal to move several privates under command of sergeant).Cases for this might be following: 1)Two teams, both under corporals command, coordinated by one sergeant are conducting operations in town, and this sergeant gets on a roof of some building for better seeing the region of operations for well, let’s say better coordination. In this case he becomes twice more valuable and as a result twice more likely to shoot and as result of THIS – twice more vulnerable. So he might like to “hire†one or even several AI “bodyguards†to cover his six or take cover, when told, when bodyguards notice some weapons aimed at our sergeant smile_o.gif while he performs his direct duties)

2) Another situation, when higher-step commander would like to hire a unit under his control is for some special operation: put a sniper on essential position, or maybe even some covert sabotage, while coordinating both teams to distract attention from his covert op.

Other step-skipping situations are described further in vehicle hierarchy command section below.

(2) War machines hierarchy, temporary and limited commanding.

(2.1) War machines hierarchy As we know, all war machines have their internal command posts: helicopter’s commander is a pilot, tank’s and armored vehicles’ is “tank commanderâ€, ect. Imagine that we have a standard air attack squadron – pilot of the first helicopter will be sergeant and will command three other helicopters (pilots of those, who are ranked corporals) , while commanding his own helicopter’s gunner, who’s ranked private. So we have strongly pronounced hierarchy here: pilots of 3 other helicopters are under command of first helicopter pilot, while they ARE commanders of their machines, being in charge of their gunners.

PICS:

Attack squadron:

airhierarchyvv2.jpg

Helicopter crews:

airhierarchy2bj7.jpg

Sorry, a bit mixed, but step 0 are privates (gunners), step 1 are pilots under command (corporals), and step 2 is first pilot (sergeant)

Note: this will be almost same for all war machines, but more details in further sections.

(2.2) Temporary commanding. Let’s talk about armor smile_o.gif. Imagine that we have a tank battalion, which consists of 4 vehicles. Remember that tank’s internal command post is tank commander’s post. So first tank commander appears to be commander of  rest 3 tanks (tank commanders). But IF f.e. first tank commander will switch places with driver in same machine, who appears to be private, and this private automatically becomes temporary commander of this vehicle (including ex-commander, driver and gunner), but sergeant, who is now driver remains on his post of battalion commander… but again under temp. control of the private. And private can give orders to both driver and gunner in the same vehicle.

Note: well, this system will work, but for some issues I think it’s better to introduce “vechicle rank-locking system†– as an example: tank commander’s post will be locked for privates, ect.

(2.3) Limited commanding. Imagine the situation where a squad must board a helicopter, helicopter in it’s turn must fly to the specified location and para-drop squad there (I remember such mission in OFP wink_o.gif ). So here we go: Team Leader orders his squad to board the helicopter, and boarding himself of cause. The if TL is higher rank than helicopter’s pilot – he gets temporary limited command over him (he can give pilot position where to go and some other order, but he can’t f.e. tell pilot to abandon his vehicle wink_o.gif ), but if TL has lower rank, than pilot, he receives no command. The temporariness of command is in time of TL being on board of the helicopter. After TL gets out, he loses his command over pilot completely. ALSO in this situation the pilot gets temporary limited command over TL as well (it’s limited to “disembark†and “target†if a gunner will be under TL command). So retelling our story with para-drop: TL orders his team to board a helicopter, boards himself. Then if he’s higher rank than pilot, he tell pilot where to go, if he’s not, well… then pilot is supposed to know where, After location is reached, pilot commands “disembarkâ€, after what the whole squad will abandon the vehicle.

Hello to Bohemia dream – this can be very well used f.e. for missions where there is a long distance between respawn zone and combat action zone, and cargo helicopter is present… AND NO SCRIPTS HERE, just AI logic.

(3) “Up and Down†or “taking commandâ€

(3.1) Down.I’ll start with very simple in-game situation: imagine that we have a Squad Leader, who’s in charge of two Team Leaders. And IF SL gets shot the squad (I’ll remind that in this case squad consists of 3 teams, in hierarchical order) will just split into two teams, with both TLs in charge of them. (so team 1 just ends its existence) – so try to shoot commander first! Less coordinated – less victory chances))

(3.2) Up.Not much complicated game situation also: f.e. if there is a sergeant, who has a “take command†waypoint, and two corporals within its placement radius. So when sergeant gets to the location and joins one team firstly – the new team appears (and will consist of Sergeant as commander and one corporal as only subordinate).and after sergeant joins second team, then second corporal just joins this last created team (“one†– sergeant, “two†– first corporal, and “three†as this last corporal), so these two teams (corporals, not counting newly created) will now form a squad, and sergeant will now be able to coordinate both of them.

Note: this will also work with step-skipping, f.e. if we have same situation as described above, but we’ll have captain instead of sergeant, so the third team will be captain-corporal-corporal).

(3.3) Couple of other “taking command situationsâ€. Imagine that we have same situation as in 3.2, but sergeant gets “take command†waypoint, and in placement radius we have major-corporal-corporal squad. In this case when our sergeant joins this squad, he get into middle cell – now HE commands both corporals but appearing under command of the major.

Now another situation: if some rank unit joins squad where his rank is present and highest at the moment (f.e. sergeant joins sergeant-corporal-corporal squad) this will be up to developers, if he will join new sergeant-sergeant team as “two†or he will take second corporal squad under his command.

IV Epilogue

Concerning all the details, implementing such hierarchy me as simply as it looks at first, but I understand not all sections of this thread might find themselves in game (of cause if developers WILL like the idea AT ALL). And though it can be simplified as much as need for again saying wishes of dev’s. F.e. the vehicle section, not likely of cause, but can be thrown out completely. Well, anyway, the whole idea I think will be just candy for campaign and SP missions creating, as well, as for multiplayer, with big amount of players/AIs on server.

Now, if you came through all of this wall of text, then I must congratulate you for your patience and assiduity and really want to thank you for respect. wink_o.gif

Now tell me please, what do you think? And again if some boy has any questions, please feel free to ask!

P.S. I look at this whole wall of text and surprise to myself… got a bit tired lol, and… hope it was worth it wink_o.gif

Share this post


Link to post
Share on other sites

Sorry, I've met the pictures limit, most of them are not the most important, but this is quite essential:

Quote[/b] ]1) Step 1: privates are under command of corporals

2) Step 2: corporals are under command of sergeants

3) Step 3: sergeants are under command of lieutenants

And so on until Colonels, who are under command of no-one (originally)

hierarchy2sj2.jpg

Share this post


Link to post
Share on other sites

Nice ideas there are many things about AI improvements. Imho Suma or Maruk or Ivan Buchta were asked for "real" chain fo command and unit subskills but he said that such things dont have top priority and not in ArmA2 realease feature list.

Would be nice if a teammember get killed Squad/Teamleaders are able to "Regroup". Same goes to formations eg order group Blue "Hold formation" or "Formation Column" instead of AI-automatic-formation. Other little thing is that AI units have to follow given commands. In OFP you could sneak behind enemy lines with AI but in ArmA they engage them regardless of "Stealth" and  "Dont fire" commands. Lets hope BIS is fixing and improving such little things first before they go into bigger AI development.

Share this post


Link to post
Share on other sites
In OFP you could sneak behind enemy lines with AI but in ArmA they engage them regardless of "Stealth" and  "Dont fire" commands. Lets hope BIS is fixing and improving such little things first before they go into bigger AI development.

I've never run into a problem with this. The only time my units open fire when they are on hold fire is when they have already been spotted which makes sense because if you are spotted you would want to take those guys out. Sometimes it may seem like they just shoot at guys but im about 99% sure that everytime it has happened to me the enemy AI spotted one and he fired at him because he was seen.

Sometimes though the AI that is detected has a quicker reaction time than the one that detected him so it seems like he arbitrairly opened fire when in fact he was seen and just defended himself. The AI on hold fire will open fire as soon as the AI that detected him detected him. Sometimes there isn't even a visual cue to the guy detecting him and the AI will open fire on him before he has time to react.

Share this post


Link to post
Share on other sites
Quote[/b] ]The AI on hold fire will open fire as soon as the AI that detected him detected him. Sometimes there isn't even a visual cue to the guy detecting him and the AI will open fire on him before he has time to react.

If there is a command "hold fire" AI should follow it without shooting on sight. Had this troubles many times: enemy were ~200m away on patrol and suddenly AI teammates starts shooting at them. Imho its strange that AI disregards commands and do what they think its right. Nothing against self-defense and I hope BIS will find a way to make differences for units (stealth + danger) behavior.

Share this post


Link to post
Share on other sites
Quote[/b] ]The AI on  hold fire will open fire as soon as the AI that detected him detected him. Sometimes there isn't even a visual cue to the guy detecting him and the AI will open fire on him before he has time to react.

If there is a command "hold fire" AI should follow it without shooting on sight. Had this troubles many times: enemy were ~200m away on patrol and suddenly AI teammates starts shooting at them. Imho its strange that AI disregards commands and do what they think its right. Nothing against self-defense and I hope BIS will find a way to make differences for units (stealth + danger) behavior.

They only do it when they are already detected. Do you want them to sit there and let the enemy patrol get the first shot off? I would much rather them take out one or two guys before they get a shot off at me.

Share this post


Link to post
Share on other sites

talk about it a million times, BI seems to think it not worth the time

end of story

Share this post


Link to post
Share on other sites

This is something I've personally always wanted to see in-game. Maybe a community mod could make it happen?

Share this post


Link to post
Share on other sites

You've pretty much described a conceptual (although more sophisticated) equivalent to the High Command system.

Share this post


Link to post
Share on other sites

Currently the high command is extremely limited, so this is a valid argument ;)

Too bad it'll probably never happen as it'll need a lot of changes to how the AI works.

Share this post


Link to post
Share on other sites

There's no dire need to change the core AI routines to get some better high command action. A higher level script layer should be pretty low on CPU resources and do much of what is suggested.

The first thing that needs to be addressed is movement and formations with CoC=true and using High Command. We have group level formations already, file, wedge, line, echelon, etc. What's needed is formations-of-formations and a decision algorithm.

Given the following setup:

[center][b]Platoon Commander[/b] (Player)
|
[i]HC Commander[/i]
|
[i]HC Subordinate[/i]
|
[b]Squad Leader[/b] (AI)
|
[i]HC Commander[/i]
|
[i]HC Subordinate[/i]
/|\
[b]Fire Team [/b](AI) [b]Fire Team [/b](AI) [b]Fire Team [/b](AI)[/center]

You give the squad leader a move order using the HC interface. With chainofcommand=true on, the fire teams will receive down the chain that exact same waypoint which is dumb as all of the teams try to move to the exact same position. Instead with a simple offset of these team waypoints, a rough formation can be generated.

A script could run that checks distances between fire teams and modifies, creates, holds, or otherwise modifies waypoints to maintain the formation.

Thus when you give the squad leader a "Formation: Column", it's not to tell his group to adopt a column formation but rather to arrange his subordinate groups into a column with one group at the front, one group in the middle, and one at the back.

The actual group formations would not necessarily match the formation for the entire squad. It would be up to the fire team leader's decision (or rather a script making this choice in his stead) as to what formation to take. The squad may be in a column arrangement of teams but the teams themselves may decide to be in wedge. This is a commonly used arrangement in real life.

Building on formations you can get things rather simply like traveling overwatch and bounding overwatch. The decision matrix is pretty straightforward such that AI could adopt these practices pretty frequently and likely to good success.

Share this post


Link to post
Share on other sites

Now that command sytle system would be awesome!

Share this post


Link to post
Share on other sites

The problem is what happens when you're a company commander controlling 3 platoons with like 40 men each? You can't logically give the platoon leader a waypoint, because a platoon is too big to simply be ordered to a waypoint. There will need to be a system that will allow you to give a more generalized order to a platoon leader, and then the platoon leader to actually figure out how to execute it properly by giving more speicific waypoints for his squad. While I'd love to see that, it would take a massive AI overhaul.

Share this post


Link to post
Share on other sites

It wouldn't be an overhaul so much as a necessary layer of scripting. A platoon is on the larger end of what can be considered a point unit. Obviously a platoon in file is gunna take up a fair stretch of road but that's what separates the good commanders from the bad.

More complex tasks (which I think the HC system has an empty slot for) like fire and maneuver, support by fire, break contact, patrol, observe, defend, and transport by vehicle are possible with a scripting layer of manageable complexity.

Ultimately the AI cannot be expected to rival a good player commander but it can at least attempt the basics. Platoon scale combat is about "right" for the ArmA2 battlespace. Anything larger gets to be rather unmanageable even for 100% human players. I believe the AI is perfectly capable of action, it's understanding and decision that are lagging behind. The AI performs a flank just fine, but will often fail to decide correctly when to do it or when not to.

Right now the AI manages team level tactics pretty well. It would be prudent to only worry about the next layer up once the layer below it works satisfactorily. No need to trouble ourselves with how is the AI going to command a Bn if it can't command a squad. One of the hardest parts will be to suppress default behavior that would be in conflict with a more robust system.

Share this post


Link to post
Share on other sites

What I mean is, it's very complicated that when you tell a platoon leader to "take over that hill", he will need to send 1 squad to suppress from another hill, and the 2 other squads to line up and assault it directly, not to mention have him lead the assault and have his SGT go with the 3rd squad.

To move your squad to a given weapon and swap formations/awareness modes/etc is not really doing much. Leading a platoon is where it starts to really require understanding of the situation. Even on the squad level you sometimes need that kind of creativity which the AI again cannot handle, but at least there it's not as common.

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
Sign in to follow this  

×