Page 1 of 17 1234511 ... LastLast
Results 1 to 10 of 170

Thread: ECHO fire director

  1. #1

    ECHO fire director

    A number of people have commented favorably about my little script to augment using BI's artillery. Some is good, more is better. So....

    For those interested in scripting artillery - a toolkit to help out.

    http://www.armaholic.com/page.php?id=11757

    Included are support routines to help in finding, evaluating, targeting, and of course shooting at units and groups of units with indirect fire. Plus some other goodies to help in scripting fire missions. Like a FSM to automate the entire process - just specify the spotter units, batteries to manage, and some stuff like time between missions.

    Using it in a mission seriously upgrades the threat of support weapons. As in real life - camping in plain site of a FO is not a healthy lifestyle choice, especially if you have a lot of friends nearby. Likewise, being a FO is not going to make you highly beloved by the opposition, stay inconspicous because you are the key to whether shells rain down in the area.

    Thanks to all who've helped test the code and documentation. Enjoy.



    Changelist:





    15 Aug 2010 - Initial Release.
    • Documentation in pdf format.
    • Demo mission in pbo format, ready to install in MPmissions folder.
    • Signed addons.
    13 Sept 2010 - "Beta 2".
    • Minor adjustments to demo mission.
    • Improved documentation, more info on setup and getting started.
    • Scripted version of routines and FSM included for those that dislike using addons.
    • Unpacked version of demo mission included to show use of scripted routines.
    30 Sept 2010 - 1.1
    • The previous version's code and documentation used coordinates above terrain level ( getPosATL ) vs above sea level ( getPosASL ). The effect was negligible due to consistancy of how it was used, but still deserved correction.
    • Dependencies on the CBA mod have been removed. ECHO now requires no addons in either .pbo or script form.
    • A number of new functions to manage observer and battery behavior have been added. These allow for greater control of overall behavior.
    • Taking advantage of these new features, the fire director FSM now has a first-generation predictive fire capability, where it can optionally aim fire at where it believes a moving target group will be, taking time of flight and group speed into account.
    • Improvements to the cluster quality algorithm, which should enhance the target selection processs.
    • Various minor code changes as well as corrections in the documentation.
    25 Oct 2010 - 2.0
    • Inter-Process Communications. A new subsystem for enhanced methods of exchanging data between routines.
      • Routines to create IPCs and communication channel under them.
      • Routines to transmit data locally and across hosts.
      • Routines to recieve data and check for new data.
    • Fire Director.
      • Cleaner layout of directories and files. Users will need to make minor adjustments to #include directives to reflect new paths.
      • New functions that give the mission maker the ability to register routines that will be invoked for events like shot fired, splash, etc.
      • Addition of a number of support functions that use the new IPC system, allowing them to be spawned vs called. This greatly increases performance.
      • Offer a 2nd Finite State Machine. Code in that version eliminates a couple of situations that could cause a stall, making some to believe their batteries had run out of ammunition. This FSM also uses the new IPC system.
      • Various improvements to further tune the targeting selection system.
      • Updated demo missions.
      • Updated documentation. Now over 50 pages long.

    26 Jan 2011 - 2.1
    • Ability to terminate ECHO FSMs.
    • Ability to create artillery batteries dynamically.
    • Minor bug fixes.
    • Updated documentation.
    Last edited by Evil_Echo; Jan 27 2011 at 14:36. Reason: Changelist updated.
    "You are touched by darkness. I see it as a blemish that will grow with time. I could warn you of course, but you would not listen. I could kill you, but someone would take your place. So I do the only thing I can – I go."

  2. #2
    Ever since the early days of Neural Nets and Chain of Command's Unified Artillery, as soon as I hear a confusing AI related term my mind points towards fire support



    Sounds rather neat, will check it out

  3. #3
    First Lieutenant Manzilla's Avatar
    Join Date
    May 30 2007
    Location
    In the lab cooking up some serious s#%t!
    Posts
    5,118
    Thank you for the continued work! I look forward to using this.
    (God damn bananas..... again)

    Join the most rootin', tootin'est crew on these here forums! That's right folks we're darn tootin'.

    Mike Tyson's ode to Manzilla's SP playing style:
    My style is impetuous. My defense is impregnable and I'm just ferocious.... I want your heart, I want to eat his children! Praise be to Allah!

  4. #4
    Master Gunnery Sergeant
    Join Date
    Apr 17 2009
    Posts
    1,043
    Author of the Thread
    Quote Originally Posted by DaveP View Post
    Ever since the early days of Neural Nets and Chain of Command's Unified Artillery, as soon as I hear a confusing AI related term my mind points towards fire support
    Sorry, no neural nets here.

    fnc_ClusterID uses a variant of the DBSCAN algorithm used in data-mining research to find groups of units near each other. That bad boy took the most work to code, SQF is a bit awkward when it comes to multidimensional structure access/modification.

    The fire director's finite state machine use some heuristics and a type of priority queue to grade the potential fire missions. Then the director selects the "best" mission for each battery.

    All things being equal - the order of target types is static weapons, heavy armor, light armor, infantry. But the system makes adjustments for how well the target is known, optimal distance, friendlies nearby, etc so what gets hit first is quite fluid. Tuning those heuristics is definitely art, no doubt they will be enhanced over time. Even now they seem to do a good job of messing up the other side's forces in quick order.

    Anyone interested in FSM could certainly use the low-level routines to roll their own as well. Customize as you see fit, I'd be happy to see other's developing their own ideas with this toolkit.

  5. #5
    Master Gunnery Sergeant
    Join Date
    Apr 17 2009
    Posts
    1,043
    Author of the Thread
    Had a request for script versions in addition to pbo's. Will do that next release.

  6. #6
    Wow....so basically this script allows the AI to use the BI arty??? If so that's a BIG deal and I'm definitely going to try out these scripts to see if I can figure them out. I just hope that the docs with it are not as confusing as they were for the old UA system back in OFP. His docs were written for computer software engineers rather then average users and thus was not very user-friendly for average mission makers.
    I can't to actually see the MLRS and BM-21 doing their thing.


    EDIT- Just unPBO'ed it and immediately noticed that the mission was in .pbo format. I recommend that you add an unPBO'ed version of the mission as well. Just one less step for mission makers who need it as a template mission.
    I also just read the readme....ouch. Sadly yeah its like UA. Written for scripters. I suppose thats fair as the top mission makers know how to write scripts and thus can appreciate your brilliant coding.
    However I'm afraid that for the average Joe like myself who can't script himself around his own ass and who has difficulty with high school level algebra, it's very difficult to understand (I don't remember what an array is for example). I'll still mess around with it though...maybe I'll get lucky and figure out how to use it.

    Chris G.
    aka-Miles Teg<GD>
    Last edited by Miles Teg; Sep 7 2010 at 14:59.
    -Expect the Unexpected-

    http://www.thelostbrothers.com/

  7. #7
    Code:
    private ["_us_spotters", "_us_batteries"];
    
    if ( isServer ) then {
    
    // Start Fire Director.
    	_us_batteries = [AVENGER,RIPPER];
    	_us_spotters = [OB1,OB2,OB3,OB4,OB5];
    
    	waituntil { not isnil "bis_fnc_init"};
    	waitUntil { not isNil "BIS_ARTY_LOADED"};
    
    	FD_US = [_us_spotters, _us_batteries, 60, 20, 1] execFSM "x\echo\addons\fire_direction\FireDirector.fsm";
    };
    I just copied that piece of code from the demo mission, put in my test mission, and put the spotters name as above, and voila... Though I dont know about the 60 20 1 part.

    oh yeah... the readme is also a little too cryptic

  8. #8
    EE, if I get into reinventing Warfare again, You'll be the one I will ask for artillery support


    Spoiler:

  9. #9
    Master Gunnery Sergeant
    Join Date
    Apr 17 2009
    Posts
    1,043
    Author of the Thread
    Would never concider myself or coding as brilliant, just trying to provide decent products for fellow mission makers.

    Miles Teg & Mr. Centipede:
    The comments about the documentation are well-noted. My first aim was to get the details out there - think that was accomplished. Will try to add more how-to for you folks.

    I could unpbo the mission as well. Good idea.

    To answer a couple of the questions.

    • An array is a list of data. In sqf that's stuff between square brackets, like the parameters to a call.
    • ... 60, 20, 1] - wait 60 secs +/- 20 secs between scans and possible fire missions. Debug level is 1, just a little chatter in the logs and a marker on the maps to hint what is being shot at. Use debug level 0 for no marker or chatter.


    zGuba:
    Glad to hear from you. And quite the compliment - thank you. You're always welcome to use this for zWarfare and other missions. The new scud warheads that I and Mando have been working on could be useful in the right mission as well.

  10. #10
    First Lieutenant Kremator's Avatar
    Join Date
    Jun 8 2007
    Location
    Cambridge, UK
    Posts
    5,076
    Evil Echo ... Looking forward to the script version mate. Good job!

Page 1 of 17 1234511 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •