Jump to content
Rydygier

HETMAN - Artificial Leader

Recommended Posts

Thanks.

Also figure one of the factors leading to the problem... I think. Not enough spacing between vehicles. For some reason that messes the thing up, not sure why... Thanks a bunch for helping me out, I also learned quite a few about HETMAN :)

Share this post


Link to post
Share on other sites

Order is always same, but one could randomly swap positions of each objective by some separate scripting. So first place all objectives on desired positions, then paste this code at the beginning of init.sqf to shuffle objectives between their positions:

_objectives = [RydHQ_Obj1,RydHQ_Obj2,RydHQ_Obj3,RydHQ_Obj4];
_positions = [];

	{
	_positions pushBack (position _x)
	}
foreach _objectives;

	{
	_ix = floor (random (count _positions));
	_myPos = _positions select _ix;
	_x setPos _myPos;
	_positions set [_ix,0];
	_positions = _positions - [0]
	}
foreach _objectives;

It's not tested, but should do the work. 

Share this post


Link to post
Share on other sites

Order is always same, but one could randomly swap positions of each objective by some separate scripting. So first place all objectives on desired positions, then paste this code at the beginning of init.sqf to shuffle objectives between their positions:

_objectives = [RydHQ_Obj1,RydHQ_Obj2,RydHQ_Obj3,RydHQ_Obj4];
_positions = [];

	{
	_positions pushBack (position _x)
	}
foreach _objectives;

	{
	_ix = floor (random (count _positions));
	_myPos = _positions select _ix;
	_x setPos _myPos;
	_positions set [_ix,0];
	_positions = _positions - [0]
	}
foreach _objectives;

It's not tested, but should do the work. 

 

Thank you, will give it a shot!

Share this post


Link to post
Share on other sites

Big fan of all your works Rydy.

 

I am making a mission where I have spaced out the 4 objectives quite far from each other and made only one side HAL commanded to make it an invasion force. However since HAL is not aware of the enemies kms away on Altis, he sends out infantry on normal patrol and honestly it is unplayable due to such stretches of fireworks absence.

 

How can I make HAL aware of the enemy presence in first objective so that he begins with assault orders. I tried putting reckless to 1 etc but to no avail.

 

Thanks :)

 

P.S. one request. Please make a GUI like system you did with War Stories, but make it modular please so that we can assign all the objectives, HAL traits etc in the editor itself without the need for script editing. :)

Share this post


Link to post
Share on other sites

 

 

How can I make HAL aware of the enemy presence in first objective so that he begins with assault orders. I tried putting reckless to 1 etc but to no avail.

 

 

 

 

RydHQ_AlwaysKnownU = [] – (enemy) units added to this array will be always considered as known to Leader;

 

 

 

Please make a GUI like system you did with War Stories, but make it modular please so that we can assign all the objectives, HAL traits etc in the editor itself without the need for script editing. 

 

Short version: no such plans currently, sorry. 

 

Long version:

 

GUI like in HWS is possible in the mission, not in the editor. Editor itself is GUI for mission making, that Hetman uses (placing objectives, units, typing init variables possible in editor too...). So this is rather about a mission, where players could set all the Hetman things via some GUI, then play. Or some editor-placeable modules with options, like in ALiVE or sort of. 

 

Frankly, typing or even copying and pasting several init variables into a text file renamed to init.sqf is too easy to justify spending the time needed to make GUI doing same thing. For me, such GUIs are usually wasting of time - time consuming, but no real gain. 

 

For people wanting just to play with Hetman, not making missions using Hetman, there is HWS, obviously simplified comparing to full possibilites of Hetman - too many of them to put them into decent GUI. 

  • Like 1

Share this post


Link to post
Share on other sites

Short version: no such plans currently, sorry. 

 

Long version:

 

GUI like in HWS is possible in the mission, not in the editor. Editor itself is GUI for mission making, that Hetman uses (placing objectives, units, typing init variables possible in editor too...). So this is rather about a mission, where players could set all the Hetman things via some GUI, then play. Or some editor-placeable modules with options, like in ALiVE or sort of. 

 

Frankly, typing or even copying and pasting several init variables into a text file renamed to init.sqf is too easy to justify spending the time needed to make GUI doing same thing. For me, such GUIs are usually wasting of time - time consuming, but no real gain. 

 

For people wanting just to play with Hetman, not making missions using Hetman, there is HWS, obviously simplified comparing to full possibilites of Hetman - too many of them to put them into decent GUI. 

 

Thank you for the detailed explanation. By the way, regarding

RydHQ_AlwaysKnownU = [] – (enemy) units added to this array will be always considered as known to Leader;

I am sorry but how can I manually enter each enemy units' classname there? O.o

I hope thats not what you mean. Rather just the side? Like West or East?

 

Thank you.

Share this post


Link to post
Share on other sites

Units, not sides. Not classnames, but unit names, those, you may put into "name" field of the unit in the editor. If you need to put there more, than a few, simple script could help with that, but you don't need to put there every enemy in the area. It's enough to put only one, and this will attract attack orders there. Or should - can't recall, if this feature was tested. 

 

Name in the editor some enemy in the objective area, where you want HAL's attacks,  for example Enemy1, then in the init.sqf (or some init field):

 

RydHQ_AlwaysKnownU = [Enemy1];

Share this post


Link to post
Share on other sites

Units, not sides. Not classnames, but unit names, those, you may put into "name" field of the unit in the editor. If you need to put there more, than a few, simple script could help with that, but you don't need to put there every enemy in the area. It's enough to put only one, and this will attract attack orders there. Or should - can't recall, if this feature was tested. 

 

Name in the editor some enemy in the objective area, where you want HAL's attacks,  for example Enemy1, then in the init.sqf (or some init field):

 

RydHQ_AlwaysKnownU = [Enemy1];

I am sorry I forgot to be specific, I am actually spawning AI via the AI spawn module. It keeps spawning them in the atackers side so I think its impossible to name AI spawned mid mission.

Share this post


Link to post
Share on other sites

Then just add there a single hostile unit in editor too and use it as "decoy". Simpliest IMO. Otherwise you would need either to edit spawning code, to grab AI at its spawn or write the code, that would detect units after spawn.  

Share this post


Link to post
Share on other sites

Then just add there a single hostile unit in editor too and use it as "decoy". Simpliest IMO.

You make it look so simple. O.O

And your prompt responses are a treat. Much appreciated. :D

Share this post


Link to post
Share on other sites

What is the advantage of using more leaders per Big Boss rather then just 1 for each side? If you set both leaders to attack objectives at the same time, wouldn't big boss use them the same?

 

It would make my mission editing a lot more simple to just use two.

Share this post


Link to post
Share on other sites

If Leader acts under optional Big Boss control, it's Big Boss, who picks objectives for such Leader - that's the point of BB. You don't point manually, where Leader should move his forces, but instead BB uses own judgement to decide, which point on the map would be best next target for each of controlled by him Leaders - until all such points on the map (or designated as battlefield part of the map) is taken. Points are picked basing on chosen Locations, like towns or hills  -mission maker may also manually add own such tempting spots to choose from. In fact such BB's objectives are given in portions, that may count more, than one goal at a time (chains) per Leader, then BB awaits, till Leader take all of them, then designates new portion etc.

 

At the beginning, depending on his army positions, BB defines left flank, center and right flank ahead. If he controls more, than only one Leader, he'll designate each to separate flank, so Leaders acts simultanously, each on his own offensive direction (sometimes one may temporarily support the other, but it's rare occurence). If there is more, than three Leaders under BB control, additionaly the fourth Leader (and eighth, if all 8 he controls) will be kept as a reserve used for garrisoning taken objectives or to support other Leaders. Which Leader will be designated to which flank depends on flank area (bigger force will likely get bigger flank) and topography (depending on Leader's force foot infantry-vehicles ratio, so each Leader should get part, where his force will perform best: force of many vehicles most flat, open areas preferably, foot infantry force - on the contrary).

Share this post


Link to post
Share on other sites

Hi,

 

Long time user for my SP expériences, Wonder if there is an update of HAL ?

 

Indeed, playing with Warstories i saw the welcome message "HAL 1.61 is here" ?

Share this post


Link to post
Share on other sites

It's "1.161" said in HWS, likely an oversight, HWS IIRC runs on at least 1.2, or even the newest, which is the one linked in this thread - 1.22 currently. It was quite long time since last update, so I'm unsure. :) I hope to release next update for HAL and HWS at some not so far point in the coming year, but it's still not first on my "to do", while now I anyway have no time for Arma scripting due to RL job. 

  • Like 1

Share this post


Link to post
Share on other sites

My post seems to have been eaten... I want to exempt a few groups (singular units) from HAL so I can use them with the BI transport request module. That way I can request transport, but at the moment the waypoints get in each other's way and cause the unit to freak out. Is there a way to just remove a group from HAL's command?

Share this post


Link to post
Share on other sites

Certainly. 

 

RydHQ_ExcludedG = [myExcludedgroupName1,myExcludedGroupname2,etc.];

 

or

 

RydHQ_Excluded = [TeamLeaderOfMyExcludedgroupName1,TeamLeaderOfMyExcludedgroupName1,etc.];

 

or make it by switching on limited control mode and adding under control all groups but those to-be-excluded. 

 

Check the manual for details (chapter 7).

 

You can effectively redefine these variables on the fly, but waypoints/tasks previously given to the newly excluded groups will be continued. Also:

 

 

For breaking of current task routine for a group use:

groupName setVariable ["RydHQ_MIA",true];

 

For manually permanent disabling of chosen Leader’s further control (groups with current orders will continue) use:

LeadersGroupName setVariable ["RydHQ_KIA",true];

 

For manually permanent disabling whole Hetman activity:

[] call RYD_KillHetman;

Share this post


Link to post
Share on other sites

hello,

 

this mod looks brilliant on paper and i'm gonna try it.

 

is there a difference between script version and addon version concerning performance and multiplayer-compatibility?

 

i've read the manual and i understand that on default hetman will make new decisions every 10 minutes. is this correct? so in between these cycles there is no performance impact through hetman but only through the normal vanilla low-level ai working their waypoints, right?

so, if i make a smaller scenario for example only covering 10km x 10km without air-units and perhaps in an area with medium to bad visibility (hills, forests...), i probably should decrease the cycle to lets say 3 min, to let hetman react quicker? so basically shorter cycle means quicker reaction, with the downside being that a possible performance impact occurs more often?

 

also it's stated, that multiplayer is not supported but should work. i'm mainly interested in smaller coop-scenarios with 1 opposing hetman-commander (and perhaps even one friendly hetman-commander). i would not run that on a dedicated server, but hosting from my pc. is there anything to look out for when trying to make a coop scenario? possible bugs, performance-impacts or generally gameplay-issues to be aware of? is hetman for example working with respawn of player-units under hetmans command?

 

thanks in advance.i'm a bit scared due to the complexity of the mod, so i think i need this little bit of help, before i go out testing for myself:)

Share this post


Link to post
Share on other sites

1. AFAIK there is no difference between pbo and scripted version as for in-game results. 

 

2. Main decision-making loop has certain interval that also depends on amount of groups to handle, to emulate comm delays required for actual issuing the orders. It's up to few minutes "heartbeat". On the top of that - each eg. 10 minutes HAL does some additional re-checks and decisions. And, on the top of that, we have also optional Big Boss with own cycle/interval.

 

However in result of decision-making process there are parallel threads spawned, that handle execution of the order - one per tasked group, one per Leader for Big Boss. Interval doesn't apply to these threads. Aren't CPU intense though, general construction is: some calculations-resulting waypoint setting-waituntil with a sleep etc. Scripts are anyway scheduled by engine, having only hardcoded small part of computational power to use and queued if exceed, so I wouldn't expect any FPS drops due to scripts directly. Led by them AI in motion/in fight - that's another story. All is server side except some sporadic communicates/intel sent to non-server side players leading own groups. 

 

In general - yes. The lesser interval, the quicker reactions (although Big Boss can break sleep if situation require immediate reaction) and the more intense calculations. IMO just try default settings and alter them only, if you experience some too big exec delays etc. apart from that - just experiment to optimize according to own needs.  

 

3. I really don't know much about MP. I know however, some people long time are using/was using Hetman for MP sessions without problems. These people may have more valuable advices eg. about using ZBE caching or headless client or whatever they use to boost performance for numerous AIs. Just run the code on the server. 

 

4. You may start from included simple demo missions in SP to see, how basics work, and extend your knowledge about possibilities gradually. Good luck. :)

  • Like 1

Share this post


Link to post
Share on other sites

Its been a while since I got a chance to Arma and the first thing I want is to get back into HETMAN, so I had a few questions about HAL:

 

- I saw you wrote somewhere in the HWS thread that we don't need RHQ Config arrays for addon units anymore?  Did you implement that successfully? That would save some time :D

 

- I saw you wrote back in A2 HAC, something about setting attack helicopters to hover at a distance, and use guided missiles instead of flying straight at the target.  Any success in that?

Share this post


Link to post
Share on other sites

1. Yes, there was no bug reports so far, so I'm assuming, it works without RHQ well enough (determines kind of force by it's config). RHQ is still optional possibility.

 

2. No. Frankly managed to forget about this. When I get time to go back to HAL, perhaps I'll see if anything possible to change vanilla way of chopper attacks. No idea, when. Rather not soon though. 

Share this post


Link to post
Share on other sites

Hi Rydygier, first, thanks for this great addon:....I have a cuestión, Fire for effect is compatible with the Hal? Is there any conflict between them?

 

Thanks!

Share this post


Link to post
Share on other sites

FFE's code is incorporated within HAL to work smoothly as part of Leader's pallette of combat/support measures. Using FFE and HAL together would be duplication of functionality. Just place some arty pieces under Leader's command and those should be used according to Leader's will. See chapter 5.11 in the Manual. 

 

Still, if you really want, you can use both together (not tested though), just be sure to either exclude all arty from Leader's command or disable arty fire in HAL by RydHQ_ArtyShells = 0;

  • Like 1

Share this post


Link to post
Share on other sites

Thanks for answering....but i have no idea how to do that, i use the addon version, where i have to put the RydHQ_ArtyShells = 0; ?? Explain to a fool xD

 

FFE and HAL dont work together, i like the FFE system and i want to disable the HAL artillery system..i use the RHS arty units..

Share this post


Link to post
Share on other sites

Use it as any init variable from Manual - paste into init field of any object in editor or, highly recommended, prepare init.sqf file (make a new text file and rename it) in your mission folder and paste it there using common notepad. 

 

But again - FFE is present in the HAL, so in fact no need to do so unless you really want to disable HAL's own FFE just to run separate FFE. 

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

×