Jump to content
Sign in to follow this  
blakeace

Blake's AI Forward Observer

Recommended Posts

Blake's AI FO Module Version 1.4.02

OsX1iANNogk

pmztnBVOI6Q

6sNzqCB5Cn8

History:

Version 1.4.02

  • Added: Distance given in "debug" mode is referenced to the first artillery unit synced to the module if using placed units. Module is used for dynamically placed units.
  • Added: Marker range circles showing ranges when using "debug" mode.
  • Improved: FO's will now only call missions from one battery at a time if they are synced to multiple AI FO modules. If using multiple batteries and FO's will more likely spread the fire missions around the different FO's better.

Version 1.4.01

  • Changed: The code checking for night to be more realistic. FO's now mix up the ILLUM/HE combination differently depending on the amount of ambient moonlight at night using the moonIntensity command. Night time is found more correctly using hte night SunOrMoon command.
  • Changed: The AI schedule ILLUM/HE missions with realistic spcing rather than randomly selecting which type on a percentage like die roll.
  • Changed: The prediction algorithm slightly to reduce fire mission calculation time.
  • Added: A sample mission to observe the new ILLUM changes, Note the FO's still require themselves to not have NVG's for them to call ILLUM.
  • Fixed: Report log when trying to add binoculars to a unit that already had a pair.

Version 1.4

  • Updated the prediction algorithm when units are on a road.
  • Tweeked the general prediction algorithm's lead caculations.
    The BIS artillery module now gives the artillery units all the available ammo types by default. Because of this the below changes were made.
  • Set the default SADARM ammunition type count to zero. By default these specialised rounds shouldn't be available I believe.
  • Updated the sample missions. No need to manually set specialised ammo types to the artillery units, they now get them by default.

~Note: Use the ammo type number of fire missions counters to set which types are available and how many missions they can deliver.

Version 1.3

  • Added AI from the same group may attempt to move to a dead FO and retrieve his FO ability.
  • Added code to prevent unlimited ammunition from the artillery.
  • Improved the efficiency of the code slightly.

Version 1.2

  • Fixed Displaying of the artillery ranges broken in 1.1
  • Added sample missions

Version 1.0:

  • Added the ability to sycronize your own placed artillery from the editor.
  • Added a counter for each FO to track how many fire missions they have called.
  • Added an object variable that toggles whether an individual FO is able to call fire missions.
  • Added a debug mode where at the startup of the module it will display when tested locally the minimum and maximum range of the modules artillery group. I also displays the distance from the aifo module position to the first synced FO. This should greatly improve placement of artillery so it is in effective range.
  • Removed the salute(shielding eyes from the sun ;) ) animation from units that start with a weapon.
  • Raised the maximum speed that the FO will target.
  • Changed the minimum safe distance to friendly units. This will now increase with the range between the artillery units and the target. Lessening the chances of friendlies being caught, though it also lowers the chances of ai calling in a fire mission if units are to close too.

Version 0.1a:

Initial release.

Introduction:

Check the sample missions for how to use the placed artillery.

The module is based on my AI artillery framework scripts. I have tweaked and changed a couple of things, but mainly it is fundamently the same. The reason for producing a module was to create a very simple way for mission designers to add opposition artillery. Like the framework it uses real mortar pieces firing rounds at targets that the FO's genuinely know about. Using the BIS artillery module functionality hidden within. Leaving the user with a nice graphical way of creating opposition artillery.

Mission designers need to be aware of the ranges of different artillery objects. Basic ranges can be found at http://community.bistudio.com/wiki/Artillery_Module

It is not intended to be deadly accurate, though the default mortars still pack a real punch if detonating nearby.

Installation:

Install as you would any other addon. (Check the BIS forums if unsure!).

Instructions:

Place the module (Blake's AI FO mortar) found in the modules section of the editor anywhere on the map. The placement positon defines where the artillery piece/s will be created. Syncronise any friendly units with the module to designate them as forward observers. Important, the first unit synced must be a man type unit as this is the type of unit the module uses to man the artillery piece/s if using the spawned artillery units. Any subsequent units can be of any kind. Including the likes of UAV's etc. The image below show three units of the one group synced to be FO's. You could also add members of another group a UAV etc to the same module.

blakesaifo1.jpg

YOu can also create multiple modules to create more than one artillery battery each with their own, or shared FO units.

If a FO knows of a valid target, the unit will become unarmed while calling in the fire mission. This gives players the chance to utilise designated markmen etc to try and engage and eliminate these high value targets. The mortar operator's are also considered FO's and will also engage targets if possible.

The FO will try and lead a moving target giving a more realistic response. The FO's aren't designed to be deadly accurate, though being unpredictatble in your movement will also limit finding that golden mortar round. If an FO is firing on the same target repeatedly, he will slowly get more accurate.

If it is night time and the FO has no night vision goggles, there is a small chance the FO will call in an illumination mission if the artillery piece is capable and has illum rounds.

The artillery checks for nearby friendly units and will not fire to close to them. This doesn't stop friendly units moving into the area after the artillery has fired.

The addon is compatible with any faction.

Examples assume you are placing the code snippets into the modules initilization field. If placed elsewhere you would need to implicitly name the module and use it's name insitu of "this".

By default the module creates 80mm mortars. By setting the modules object variable Arty_Type you are able to designate other artillery pieces to be created.

The example below will create an M119. Examples assume you are placing the code snippets into the modules initilazation field.

this setvariable ["Arty_Type","M119",false];

You can create more than one piece for the battery with the Size_Group variable. The number of rounds fired for each fire mission is determined by the number of artillery pieces. One mortar equals one round. So setting up for six M119 guns would fire 6 rounds each fire mission.

The example below will create four pieces.

this setvariable ["Size_Group",4,false];

You can add other ammo types using the Arty_Ammo variable for the spawned artillery version of the module. For placed artillery see the link below for adding special ammo types.

Note if you manually placed the artillery in the editor, add the ammo to the actual units.

The default 81mm mortars already have both HE and ILLUM assigned.

The example below will add ILLUM ammunition to M119 gun types. Note it is an array being passed, it can contain a maximum of two entries.

this setvariable ["Arty_Ammo",["ARTY_30Rnd_105mmILLUM_M119"],false];

You can find the different ammo types here.

http://community.bistudio.com/wiki/Artillery_Module

For either mission testing, or for some other mission designer ideas I have made the addon move the following named markers.

The addon will place the below named marker at the position of the FO who called the last fire mission. Just create a marker with the below name if required.

Blakes_FO_Position

The addon will place the below named marker at the position of the impact position of the lastest fire mission call. The rounds may not hit this exact position as I have set the dispersion value up. This is to prevent deadly accurate fire on stationary targets. Just create a marker with the below name if required.

Blakes_Fall_of_shot

How to use Placed Units:

Just sycronize one unit from the artillery group. Ensure that any units you want are in the same group.

When using this type of artillery units(placed), there is no need to ensure the first FO is a man type object.

From my limited testing it seems the units need to all be of the same type. If you wanted to include different types of artillery create a seperate module for them.

aifov10.jpg

Image shows FO's in two different groups, plus a UAV that are all able to call missions from the group of three M119's. To the right is a single mortar that is his own FO. He will only fire on targets he can see.

FO number of fire missions counter:

Result is stored in the object variable "Num_Firemissions",

Example:

Num_Fire_missions = Name_of_FO_object getvariable "Num_Firemissions";

This could be used in conguction with the Can_Call object variable to limit the number of fire missions a FO can call.

FO permission to fire Can_Call object variable:

Used to set whether an FO is allowed to call fire missions or not.

Great for setting up ambushes used in a trigger etc; Or for people who use a friendly FO in SP to allow them some control over their FO, could be used in an action menu etc.

Example:

Set to true to allow calling of missions

Name_of_FO_object setvariable ["Can_Call",true,false];

Set to false to prevent calls

Name_of_FO_object setvariable ["Can_Call",false,false];

Debug Mode:

Set this object variable in the module to return information when testing locally.

If using with your own placed artillery, set the module where the artillery units are for best results.

Min: - Minimum range of this artillery group.

MAX: - Maximum range of this artillery group.

DIST: - Distance between the aifo module and the first synced FO.

Place this in the module:

this setvariable ["debug",true,false];

How FO's call Smoke and WP.

It is important for mission designers to note how I have limited the use of WP/Smoke to try and realise it's use in as realistic way as possible.

If an FO's group's current waypoint is search and destroy or destroy, and their behaviour is set to be combat or aware; Then they will call for WP/smoke if available for the final part of their approach to that waypoint. If they know of any enemy, they will switch to calling HE and the like in preference to the WP/smoke.

My thinking is that way it is used for assaulting possible enemy positions, and prevents it's use at inapproriate times.

Adding a spawned unit as an FO.

Use what you named your AIFO module where AIFO_module_name is in the example.

Use the reference to the new unit spawned where New_unit_object is in the example below.

waituntil {AIFO_module_name getvariable "AIFO_init"};
[New_unit_object,AIFO_module_name] CALL Blakes_Add_FO; 

Prevent other group members from attempting to grab the FO abilities.

Place this in the aiFO module,

this setvariable ["NoTakeOverFO",true,false]; 

Limited ammunition amounts:

The module now has default set limits to the amount of ammunition the artillery has available. Note the special ammunition types still need to be given to the artillery.

You can find the different ammo types here.

http://community.bistudio.com/wiki/Artillery_Module

By default these values are in terms of number of fire missions. Eg two guns has twice the ammo to obtain the same number of missions.

HE - 40 missions.

WP - 10 missions.

SMOKE - 20 missions.

ILLUM - 20 missions.

SADARM - 0 missions.

To change the number of available missions use these object variables. Place the code in the aiFO module.

this SETVARIABLE ["HEcount",100,false];
this SETVARIABLE ["WPcount",50,false];
this SETVARIABLE ["SMOKEcount",30,false];
this SETVARIABLE ["ILLUMcount",70,false];
this SETVARIABLE ["SADARMcount",2,false];

The number represents the number of fire missions that will be available to the artillery.

ACE Compatibility:

I have tested it with ACE, and it seems to work fine with the standard BIS artillery objects, but I can't get the ACE 60mm mortar to work (ACE_M224) unfortunately.

Downloads:

Blakes AI Forward Observer (v 0.4) : http://www.armedassault.info/index.php?game=1&cat=addons&id=1835

Added to Six Updater Network.

2yvv67o.png Direct Download | Mod info

news_download_a2_4.png

AI Forward Observer

http://rapidshare.com/files/528938861/Blakes_AI_FO_v1_4_02.rar

Requirements:

None

Edited by blakeace

Share this post


Link to post
Share on other sites

Oh, wow! I'd been looking for a simple, standalone AI Forward Observer script for a while, now! The fact that this seems so easy to initialize is just icing on the cake!

It's a definite download, for sure. I've only got one question- When you say this uses the default BIS Artillery logic, do you mean the one that they created for Arma II, or the "Fire Control Computer" thing they added for BAF? I'd love to use this in messing around with building some missions in I44, for example, but I don't quite know what version of the artillery logics they used, if any.

'Course, since, theoretically, you'd never actually SEE the artillery pieces, I guess I could just use the default ones BIS provides, but... eh, I'm a historical accuracy nut.

Share this post


Link to post
Share on other sites
Oh, wow! I'd been looking for a simple, standalone AI Forward Observer script for a while, now! The fact that this seems so easy to initialize is just icing on the cake!

It's a definite download, for sure. I've only got one question- When you say this uses the default BIS Artillery logic, do you mean the one that they created for Arma II, or the "Fire Control Computer" thing they added for BAF? I'd love to use this in messing around with building some missions in I44, for example, but I don't quite know what version of the artillery logics they used, if any.

'Course, since, theoretically, you'd never actually SEE the artillery pieces, I guess I could just use the default ones BIS provides, but... eh, I'm a historical accuracy nut.

It uses the BIS Arty module.

Share this post


Link to post
Share on other sites

@Old Bear, SickBoy & Foxhound thankyou all as always :)

Congratualations on your release DLing now. Thank you.

Thank you, I hope you enjoy it.

It's a definite download, for sure. I've only got one question- When you say this uses the default BIS Artillery logic, do you mean the one that they created for Arma II, or the "Fire Control Computer" thing they added for BAF? I'd love to use this in messing around with building some missions in I44, for example, but I don't quite know what version of the artillery logics they used, if any.

'Course, since, theoretically, you'd never actually SEE the artillery pieces, I guess I could just use the default ones BIS provides, but... eh, I'm a historical accuracy nut.

I was just descibing a little of how I created this, what is hidden in the black box that you don't need to worry about.

I have just taken a lot of what is covered here in the arty module page, wrapped it in a nice user interface, and added a little complexity in how and who they aim at.

As far as which artillery type objects work, depends on what the designers have done. If they inherit the standard BIS objects ability to link with an artillery module then they should work.

My not being able to get the ACE version working could either be me passing the wrong values or it may be they have done something special to it in their design. These are the object variables and their contents I was using to try and get it to function. If anymore knows more about them, my values could be wrong. I didn't spend much time trouble shooting it.

I was really hoping it would and my main desire for this was in adding realism to what a player might face, but at times the default mortars are big nasty beasts. A 60mm would add a nice smaller option to throw at players.

this setvariable ["Arty_Type","ACE_M224",false];
this setvariable ["Arty_Ammo",["8Rnd_81mmHE_M252","8Rnd_81mmILLUM_M252"],false];

Share this post


Link to post
Share on other sites

Ah, that clears up quite a bit of confusion on my part, thanks!

Been playing around with this a bit in the interim, the default mortars are great, really surprised me with their savagery on more than one occasion already. One thing that seems to constantly irk me, though, is how I can't for the life of me get the M119 or D30 to act as they should. I place my spotter, sync him up to the battery, put the correct code snippets in the Init line of the module,

["Arty_Type","M119",false];

and

["Arty_Type","D30_RU",false];

Respectively, and make sure they're within the proper range constraints, but they either don't want to fire, or the FO doesn't want to spot. I don't know if this is a problem with the BIS module, or I'm doing something wrong, but have you encountered anything similar in your own testing?

I haven't tried it with the MLRS or Grad, either, but they've been a little more... friendly with me, historically, so I don't imagine they're going to be a problem.

EDIT- Ah, I think I've got it figured out. For whatever reason, the FO only seems to want to call for artillery if he's directly threatened or overwhelmed by enemy forces. In my case, at least, I think I was expecting the artillery to be employed offensively, when in reality, the AI is such that they choose to call strikes only as a defensive measure. Definitely something interesting to note, though it may just be my particular combo of AI mods that create this behavior.

Edited by DiscountAnubis

Share this post


Link to post
Share on other sites

EDIT- Ah, I think I've got it figured out. For whatever reason, the FO only seems to want to call for artillery if he's directly threatened or overwhelmed by enemy forces. In my case, at least, I think I was expecting the artillery to be employed offensively, when in reality, the AI is such that they choose to call strikes only as a defensive measure. Definitely something interesting to note, though it may just be my particular combo of AI mods that create this behavior.

  • FO's will automatically call in fire missions on any "known" targets. Reasons why they may not target something is they maybe still unsure of the target. Ie they haven't determined they are an enemy yet.
  • Another reason could be FO's won't target fast moving threats as it is to hard to calculate where they will be by the time the rounds impact.
  • The artillery will also not fire if they determine the impact point is to close to friendly units. This in mind, using ai mods that allow ai to detect enemy units at longer ranges makes this addon more effective and dangerous.
  • Range of the artillery units is a factor too.
  • Also if using civilian dickers, then you need to make them part of the enemies side for them to detect targets. eg group them with an enemy unit with 0% chance of being present is how I do it.

I have also found with my current dispersion values the MLRS type units have quite a large spread when firing, this may impact on how designers employ them. Depending on the feedback I may have to look at some form of formula to adjust dispersion relative to range?

Share this post


Link to post
Share on other sites

Used this a little just to see how it looks.. looks great and works great, nice and easy to use..

Another great mod from ‘Blakeace’

Thank you..

.

Share this post


Link to post
Share on other sites

It also works well with I44 and other third party addons that include artillery pieces(At least for the Takistani Special Brigade Units)

Share this post


Link to post
Share on other sites
  • FO's will automatically call in fire missions on any "known" targets. Reasons why they may not target something is they maybe still unsure of the target. Ie they haven't determined they are an enemy yet.
  • Another reason could be FO's won't target fast moving threats as it is to hard to calculate where they will be by the time the rounds impact.
  • The artillery will also not fire if they determine the impact point is to close to friendly units. This in mind, using ai mods that allow ai to detect enemy units at longer ranges makes this addon more effective and dangerous.
  • Range of the artillery units is a factor too.
  • Also if using civilian dickers, then you need to make them part of the enemies side for them to detect targets. eg group them with an enemy unit with 0% chance of being present is how I do it.

I have also found with my current dispersion values the MLRS type units have quite a large spread when firing, this may impact on how designers employ them. Depending on the feedback I may have to look at some form of formula to adjust dispersion relative to range?

Well, see, what I kept observing was that the spotter would engage targets with his actual weapons instead of calling on artillery in some situations; from what I could gather, the only time he would call upon the big guns was when said targets were firing back, otherwise, he'd just keep happily slinging lead their way.

(That, or the dumb bloke would stand there with his binocs while 5.56 rounds turned him into swiss cheese. Lost a lot of good spotters that way...)

Though, I think I got that particular bit figured out- I had set the FO as "Setcaptive true" for my initial tests, so that might have interfered with my results. When it was off, he called in strikes, so I think any problems on my part are just testing woes; functionally speaking, the module seems to work very well.

Haven't tested with MLRS's, yet, but I'll let you know if anything pops up.

Also, just in case I'm coming off as nitpicky, here, I'm not trying to be, I just though you'd be interested in hearing some of my personal experiences as input. I'm FAR too in love with this addon to have anything but praise! :D

Share this post


Link to post
Share on other sites
Well, see, what I kept observing was that the spotter would engage targets with his actual weapons instead of calling on artillery in some situations; from what I could gather, the only time he would call upon the big guns was when said targets were firing back, otherwise, he'd just keep happily slinging lead their way.

(That, or the dumb bloke would stand there with his binocs while 5.56 rounds turned him into swiss cheese. Lost a lot of good spotters that way...)

Another possibilty is that there is already another fire mission underway. The FO's won't try and use the guns if they are already engaged. The guns don't become available straight after firing. I use the BIS_ARTY_F_Available function to check when they are ready. Using the default mortars you are looking at approx 25-30 seconds before the mortars will accept another fire mission.

Though, I think I got that particular bit figured out- I had set the FO as "Setcaptive true" for my initial tests, so that might have interfered with my results. When it was off, he called in strikes, so I think any problems on my part are just testing woes; functionally speaking, the module seems to work very well.

I just did a test with only one spotter with this setcaptive true, and he still called in fire missions. So that shouldn't be an issue. I am reading the FO's with nearTargets which even when set to captive they still consider the opposition as being an enemy.

Haven't tested with MLRS's, yet, but I'll let you know if anything pops up.

I definitely appreciate that.

Also, just in case I'm coming off as nitpicky, here, I'm not trying to be, I just though you'd be interested in hearing some of my personal experiences as input. I'm FAR too in love with this addon to have anything but praise! :D

Definitely loving any informed constructive feedback, any possible faults etc. One day of public testing by a few patient people is more than I can do in a month. Plus many will try things that I wouldn't even think about.

So thank you very much for taking the time to help test it :).

Share this post


Link to post
Share on other sites

Yeah, I was thinking that, too, but this fellow would never call a fire mission to begin with, he just started shooting from the get-go. I also tried to see if it was because, perhaps, he considered his targets not to be enough of a threat to justify using the big guns (M119s, in this case), so I first added a few other squads of opposing infantry to the first group of enemies, which did nothing, then I moved them back a bit, which... also did nothing, then I added a few bradleys and disabled setcaptive, which seemed to do it. That's why I figured it was the setcaptive command that was messing with the system, as it seems a little too "clever" of Arma II's AI to be able to consider force size AND call in the requisite artillery for the situation.

'Course, I've been surprised by the AI before, so... maybe it has something to do with the types of enemies the FO is facing? Like, maybe they won't call in cannons and rockets if they're up against just infantry?

I'm running ASR AI Skills and DAP's wounding scripts, mind you, but I don't see how either could interfere, since it's rather clear to me that the FO is not exactly hesitant about calling in strikes.

(He's just not quite as... generous with them as I'd have thought.)

In fact, with what you've said, I'd imagine the added view distance and engagement ranges would be helpful for an AI spotter.

Ah, good, good. I just worry that I come off that way sometimes. Having conversations through the web can be a pain like that.

And, I'm really glad to hear that! I can't promise I'm one of the "think outside the box" sorts, as my editor usage is pretty much limited to quick skirmishes and photo shoots, but if there's anything I can do about a game, it's over-analyze!

EDIT- Ah- Well, three observations; One, it seems like one of my biggest problems was simply range. These guns are VERY finicky about where you put 'em, so... I can see why you put that warning in about it. I think my problem is that I have no way to gauge their range from their target besides tweaking and tweaking their placement until they're right where they should be. The second, I was wrong about target composition, with ranging and the setcaptive thing sorted, these guys are almost TOO eager to fire... not that I'm complaining! Let the rounds fill the sky!

*Ahem*

Anywho, thirdly, I played with the MLRS (no tries with the Grad, yet) and... yeah, the dispersion is a bit wide, so much so that I had friendly troops roughly 200-300 meters away being wounded and killed by the barrage. I don't think any sane commander would allow a fire mission from such a powerful weapon at ranges like that, mind you, but if you were to make the accuracy any tighter, then it would probably be WAY too powerful, even against a maneuvering enemy. I know it's up to the mission-maker to decide if such a damaging asset is even brought into play, but from what I can tell, there's a pretty equal number of upsides and downsides to the current dispersion values.

Edited by DiscountAnubis

Share this post


Link to post
Share on other sites
Ah- Well, three observations; One, it seems like one of my biggest problems was simply range. These guns are VERY finicky about where you put 'em, so... I can see why you put that warning in about it. I think my problem is that I have no way to gauge their range from their target besides tweaking and tweaking their placement until they're right where they should be.

I haven't come up with a real smart way around that yet. My current thoughts are to create a debug variable that if set to on, creates a hint reporting back if a battery isn't in range. I have mainly used mortars, reasoning mainly that for use against humans less is more. Ambience, followed by leadership skill utilisation to resolve the situation. Rather than one big bang eliminates half the players.

The second, I was wrong about target composition, with ranging and the setcaptive thing sorted, these guys are almost TOO eager to fire... not that I'm complaining! Let the rounds fill the sky!

*Ahem*

That sounds like the ideal mission my mate Zeddy would make :p. The reality is the algorithm I'm using for them is very simple. If they have a target, and that target isn't to fast and the target is in range of our artillery and the artillery is available . Then lets send them a present :eek:

Anywho, thirdly, I played with the MLRS (no tries with the Grad, yet) and... yeah, the dispersion is a bit wide, so much so that I had friendly troops roughly 200-300 meters away being wounded and killed by the barrage. I don't think any sane commander would allow a fire mission from such a powerful weapon at ranges like that, mind you, but if you were to make the accuracy any tighter, then it would probably be WAY too powerful, even against a maneuvering enemy. I know it's up to the mission-maker to decide if such a damaging asset is even brought into play, but from what I can tell, there's a pretty equal number of upsides and downsides to the current dispersion values.

I have to admit to not really putting any effoert into these really big guns, focussing more on the smaller pieces, for the reasons given above. That said, using a grad with a UAV FO against a mech inf group, could be a bit of fun, no friendly fire issues, plus ubber ambience for those in the tin cans unless they keep up there speed :icon_twisted:

A side note, since I created the video I reduced the max speed to target, which means there is a smaller chance that moving vehicles will be engaged. It is a balance between them not firing and leading a target to an unrealistic assumption in that the vehicle can do many things between calling the mission and the impact of the rounds.

Share this post


Link to post
Share on other sites

Yeah, I get you, there. When it comes to the default weapons, all you really need is a mortar battery in most situations. It also helps that they're the easiest to place.

A ranging algorithm would be a godsend. That, or some way of determining the distance between two units on the 2d map. There's probably some sort of reference grid already built into the map itself, but I'm pretty much a moron when it comes to math, so I haven't figured it out, yet.

Oh, yeah, I've got a few ideas myself for the big guns, mainly for ambiance, as you said. Though, my approach to the problem of accuracy is... a bit different.

this setvariable ["Size_Group",38,false];

I think it essential to testing that I... see if that works.

With Grads.

On Zargabad.

Pyromaniac? Who's a pyromaniac?

Share this post


Link to post
Share on other sites

Blake

Great job on this addon. Tried a simple mission with a marksman as the FO. Once he spotted the enemy rounds were inbound. He was doing a bit of a dance to figure out what stance he wanted to use. He had binos, would pull them out then put them away go prone with no weapon, the revert back to his weapon. Nothing major. The new patches are making the AI very smart now. They wont just run across open fields anymore, they advance with cover. Two suggestions.

1. Possible to make the spotter dependent on a having a piece of gear to be able to spot. If he loses his radio he cant spot.

2. Possible to make a script version so all those servers out there wont flip out because they have to add an addon.

Keep up the great work.

PS

Just played with it some more. Had a 5 man fire team advancing with and observer with them. As they advanced the arty rounds advanced with them. Pretty awesome stuff. One last thing that would be great. Instead of placing a module that creates arty, allow us to place the arty on the map then tie the module to them.

Edited by gunterlund21

Share this post


Link to post
Share on other sites
A ranging algorithm would be a godsend. That, or some way of determining the distance between two units on the 2d map. There's probably some sort of reference grid already built into the map itself, but I'm pretty much a moron when it comes to math, so I haven't figured it out, yet.

I think for now I am going to include a debug mode, so when testing the module will report back when not in range. Giving some indication at least.

I am also going to look at creating some object variables that allow designers to overide things like friendly units distance, and max speed of unit before not targeting.

Oh, yeah, I've got a few ideas myself for the big guns, mainly for ambiance, as you said. Though, my approach to the problem of accuracy is... a bit different.

this setvariable ["Size_Group",38,false];

I think it essential to testing that I... see if that works.

With Grads.

On Zargabad.

Pyromaniac? Who's a pyromaniac?

:eek: Don't blame me when you get kicked out of your group for "excessive evilness in mission design charges" :p

Blake

Great job on this addon. Tried a simple mission with a marksman as the FO. Once he spotted the enemy rounds were inbound. He was doing a bit of a dance to figure out what stance he wanted to use.

He had binos, would pull them out then put them away go prone with no weapon, the revert back to his weapon. Nothing major.

I have to admit I snuck a salute animation in there to gauge peoples thoughts on the result. Trying to find a nice way to show they are doing something esp civ dickers. It was the only animation I found that wasn't really not bad for what I wanted. I rationalised they are standing shading the sun to check things out :p

Otherwise armed aren't to bad in they lose their weapon, but I didn't like that there was no way for an observant player to be able to go hey he's acting funny or something when they are unarmed civilians.

The new patches are making the AI very smart now. They wont just run across open fields anymore, they advance with cover. Two suggestions.

1. Possible to make the spotter dependent on a having a piece of gear to be able to spot. If he loses his radio he cant spot.

2. Possible to make a script version so all those servers out there wont flip out because they have to add an addon.

Keep up the great work.

1. That could be done. Though I am a little lost in how this would play out in a mission. Do the ai ever lose their gear? Could you please elaborate in why it would be good, and how it would play out in a mission?

2. There is http://www.armaholic.com/page.php?id=8421&highlight=AI%2BFRAMEWORK already which this is based on. The only real differences are units are no longer restricted to east and west sides, I have slightly improved the lead algorithm and the FO's don't become unarmed either. Though it is no way near as easy to use. Which is why I created this one. I might look at something like that in the future, but at the moment I am focusing on a few other things some already made public, and a couple I am still trying to find time to package up.

PS

Just played with it some more. Had a 5 man fire team advancing with and observer with them. As they advanced the arty rounds advanced with them. Pretty awesome stuff. One last thing that would be great. Instead of placing a module that creates arty, allow us to place the arty on the map then tie the module to them.

Had a real nice effect on the ZSU crew when I first used the script version above on them :slayer8: I have thought about that to, but wanted to see how the basic functionality went before adding to it. Great for when you want to hide the arty somewhere special etc.

Edited by blakeace

Share this post


Link to post
Share on other sites

It may come as some shock to you, but I generally play alone. XD

(And 38 Grads? Totally work. I'm hell-bent on upping the ante until it doesn't!)

Debug mode, eh? Nifty! At this rate, I might have to start designing actual missions.

You know, having one guy in your squad as the designated "spotter" makes for a great layer of added detail; as long as the guy lives, you've got a lot of firepower at your disposal, yet it's not terribly unbalanced because you've not got that human level of precision in where and when the shots are called. I'm loving the emergent benefits of such a simple system.

Share this post


Link to post
Share on other sites

1. That could be done. Though I am a little lost in how this would play out in a mission. Do the ai ever lose their gear? Could you please elaborate in why it would be good, and how it would play out in a mission?

I guess what I was thinking is the spotter is tied to the equipment he is carrying. If the original spotter is killed, I can have another AI guy retrieve the radio and now he is the spotter. Make sense?

Share this post


Link to post
Share on other sites
It may come as some shock to you, but I generally play alone. XD

(And 38 Grads? Totally work. I'm hell-bent on upping the ante until it doesn't!)

You know, having one guy in your squad as the designated "spotter" makes for a great layer of added detail; as long as the guy lives, you've got a lot of firepower at your disposal, yet it's not terribly unbalanced because you've not got that human level of precision in where and when the shots are called. I'm loving the emergent benefits of such a simple system.

That's the beauty of Arma, so many ways to play it :)

Hadn't thought about it from an SP aspect, but yes I can see where you are coming from re having a friendly ai spotter on your team. Nice!

I guess what I was thinking is the spotter is tied to the equipment he is carrying. If the original spotter is killed, I can have another AI guy retrieve the radio and now he is the spotter. Make sense?

Ah ok, sorry now I see where you are coming from. I don't know if my ability will go as far as ai getting the others radio. Though there is no reason why something couldn't be setup in a more simple way where if the FO dies, the script looks to see if there is another unit in the group that isn't already a spotter and set him up as one.

This isn't a bad idea, I was setting up redundancy by creating multiple untis within a group as a spotter. This is possibly a more elegant solution. I'll have a play around with things to see.

Share this post


Link to post
Share on other sites

Update:

New version available, first post updated with the new download.

  • Added the ability to sycronize your own placed artillery from the editor.
  • Added a counter for each FO to track how many fire missions they have called.
  • Added an object variable that toggles whether an individual FO is able to call fire missions.
  • Added a debug mode where at the startup of the module it will display when tested locally the minimum and maximum range of the modules artillery group. I also displays the distance from the aifo module position to the first synced FO. This should greatly improve placement of artillery so it is in effective range.
  • Removed the salute(shielding eyes from the sun ;) ) animation from units that start with a weapon.
  • Raised the maximum speed that the FO will target.
  • Changed the minimum safe distance to friendly units. This will now increase with the range between the artillery units and the target. Lessening the chances of friendlies being caught, though it also lowers the chances of ai calling in a fire mission if units are to close too.

Version 1.0 details and how to; Mirrored on first post:

How to use Placed Units:

Just sycronize one unit from the artillery group. Ensure that any units you want are in the same group.

When using this type of artillery units(placed), there is no need to ensure the first FO is a man type object.

From my limited testing it seems the units need to all be of the same type. If you wanted to include different types of artillery create a seperate module for them.

aifov10.jpg

Image shows FO's in two different groups, plus a UAV that are all able to call missions from the group of three M119's. To the right is a single mortar that is his own FO. He will only fire on targets he can see.

FO number of fire missions counter:

Result is stored in the object variable "Num_Firemissions",

Example:

Num_Fire_missions = Name_of_FO_object getvariable "Num_Firemissions";

This could be used in conguction with the Can_Call object variable to limit the number of fire missions a FO can call.

FO permission to fire Can_Call object variable:

Used to set whether an FO is allowed to call fire missions or not.

Great for setting up ambushes used in a trigger etc; Or for people who use a friendly FO in SP to allow them some control over their FO, could be used in an action menu etc.

Example:

Set to true to allow calling of missions

Name_of_FO_object setvariable ["Can_Call",true,false];

Set to false to prevent calls

Name_of_FO_object setvariable ["Can_Call",false,false];

Debug Mode:

Set this object variable in the module to return information when testing locally.

If using with your own placed artillery, set the module where the artillery units are for best results.

Min: - Minimum range of this artillery group.

MAX: - Maximum range of this artillery group.

DIST: - Distance between the aifo module and the first synced FO.

Place this in the module:

this setvariable ["debug",true,false];

I finally had chance to have another bash at this one. Thanks to everyone that helped with feedback.

Enjoy Blake.

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  

×