Announcement

Collapse
No announcement yet.

Integrated Air Defense Script

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Integrated Air Defense Script



    The goal of this script is to enhance AI sam behavior as its one of the more obvious and useful features of the scripting engine. I've been working on it for a year now, and I'm sorry I've teased that I've been working on it for so long. Its taken way longer than it should have, but I guess that is what happens when your focus goes elsewhere whether it be mist, testing, or watching Star Trek on Netflix.

    Documentation
    Documentation for the script is available here: http://wiki.hoggit.us/view/IADScript_Documentation
    More thorough documentation will be added in the coming days.

    How to use:
    Script requires Mist v4 or higher to be initialized first.
    Use a trigger to either run script or script file.

    Use either iads.add() or iads.addByPrefix() to add sam sites to the iads network.
    Both functions have one required variable and 1 optional variable.

    Script should run fine with DCS World 1.2.6 or greater.

    I do not consider this script to be 100% complete and I will eventually add more capability to it. However I feel it is functional enough to put out there for you guys to play with and give feedback on, but I have other reasons.

    1. I started working on the script on 12/23/12 (23/12/12 for most of the world) and dabbled on it for a while until putting many many hours into it over the summer. I came close to releasing it but I discovered it wasn't releasable, since August I have avoided working on it until recently when I realized it would soon be a year since I started, so I have pushed to release it before the end of the year.

    2. The script is open source and I welcome anyone who wants to modify it to whatever extent they want to add more features. Documentation of what all of the existing functions do will be available here: http://wiki.hoggit.us/view/IADScript_Documentation

    3. I want to focus more on mist and other projects.

    Notes:
    Attached are the script and a simple mission with lots of sams and 8 Su-25Ts with a SEAD payload. There is also a screenshot of what debug messages will look like. It is not recommended to leave turn that on for a normal game.

    Tested in multiplayer in 1.2.6 with up to 110 sams and 100 AI targets and 2 clients. No noticeable synchronization issues occurred, but your mileage may vary with different mixes of clients and other AI within the mission.

    Re-uploaded the sample mission to be updated for use in 1.5. Also updated the script due to a known scripting engine bug.

    1/17/2019: Updated it to include SA-2 and Rapier information. Also removed debugging by default.
    Attached Files
    Last edited by Grimes; 01-18-2019, 12:07 AM. Reason: HARM release
    The right man in the wrong place makes all the difference in the world.
    Current Projects: Scripting Wiki, Something...
    Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread), SLMOD, IADScript, Mission Editing Wiki!, Mission Building Forum

    #2
    Amazing.... THX...
    sigpic

    www.36stormovirtuale.net

    Comment


      #3
      Thanks for sharing Grimes

      Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status
      Windows 10 Pro x64, NVIDIA MSI RTX 2080Ti VENTUS GP, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 32GB DDR @3000, ASUS ROG Strix Z490-F Gaming VIVE COSMOS

      Comment


        #4
        Mhhh, I'm thinking about adding a new tag in the auto-script for this.

        Comment


          #5
          Thank you very much for this script and sharing it.
          antonio.

          Comment


            #6
            Uhhhiii, another tool, thanks Grimes for sharing.
            Waiting for:DCS: Mi-24 Hind, ...
            Intel i5-7600K @4.1GHz, 32GB DDR4 @2400MHz, GTX 1070 Gigabyte Gaming OC 8GB DDR5, WIN 10 64Bit Prof.


            Squadron "Serious Uglies"
            sigpic
            Ghost0815

            Comment


              #7
              Very nice!

              Forum RulesED YouTube PageMy YouTube • My Discord - NineLine #0440
              **How to Report a Bug**

              Comment


                #8
                Awesome grimes... looking forward to trying it out!
                "ENO"
                Type in anger and you will make the greatest post you will ever regret.

                "Sweetest's" Military Aviation Art

                Comment


                  #9
                  Fantastic work buddy! Congrats on release This should be stickied
                  sigpic
                  Voice of Jester AI
                  Death From Above =DFA= Squadron Discord - https://discord.gg/tZcYn3F
                  http://www.twitch.tv/graywo1f
                  https://www.youtube.com/user/Lonewo1fg
                  My Multiplayer Campaign: Separatists Aggressions

                  Comment


                    #10
                    Sounds very interesting. Could you elaborate a bit more what the script does, tactics and procedures that are employed? Did you find a way to get better control over engagements of specific targets? That has been the number one reason why I didn't touch radar SAMs yet.

                    Comment


                      #11
                      Thank u. Yes should be sticked
                      sigpic

                      Comment


                        #12
                        There's documentation in the lua up to line 212. I don't get scripting, but I now have a general idea of what the SAMs do (Hint: made of nastyness and hate...).
                        Great Grimes!
                        The PVC Pipe Joystick Stand How to thread

                        Comment


                          #13
                          Originally posted by MBot View Post
                          Sounds very interesting. Could you elaborate a bit more what the script does, tactics and procedures that are employed? Did you find a way to get better control over engagements of specific targets? That has been the number one reason why I didn't touch radar SAMs yet.
                          The script ultimately manipulates the ROE and Alarm state of each sam group to get 3 different states: Off, search, and engage. When the script decides a sam can engage it changes the ROE and Alarm state as needed and then it is up to the normal sam AI to actually take the shot. Someday I hope the scripting engine gets control over more complex engagement rules, but for now I'm fine working around those limitations.

                          It all works by creating a sam network table for sams to be linked to and share data. There are currently 4 different settings for the AI, 1-4, that govern the types of actions that a sam may take, how soon a sam might try to lock a target, and randomization in terms of which sams search and which stay dark waiting. Sams check through the detected targets from their networks and make the decision whether or not to engage or perform a random action. Right now the tactics are pretty simple. There are a few actions aside from outright engaging that can take place and the level chosen has an impact on the initial choice for what each sam should do. Actions include hold (wait until target gets within X distance), blink (periodically toggle radar on/off, can cause ARM to miss), engageWithChild (tells a nearby sam to engage at the same time), and displace (sam moves to some other location if it is mobile). The initial choice to search or stay dark is dependent on the presence of EWR or larger sams, and how far away those sams are from one another. If you have 2 sets of sams on the same network that are to far away to share useful data, then the largest sam or EWR from each grouping will generally stay on to provide network data.


                          I want to add more AI tactics available to the network for "level 5" AI logic, but I've struggles with how exactly to go about doing so. Its open source, so if you want to have a go, feel free to.
                          The right man in the wrong place makes all the difference in the world.
                          Current Projects: Scripting Wiki, Something...
                          Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread), SLMOD, IADScript, Mission Editing Wiki!, Mission Building Forum

                          Comment


                            #14
                            Originally posted by Grimes View Post
                            The script ultimately manipulates the ROE and Alarm state of each sam group to get 3 different states: Off, search, and engage. When the script decides a sam can engage it changes the ROE and Alarm state as needed and then it is up to the normal sam AI to actually take the shot. Someday I hope the scripting engine gets control over more complex engagement rules, but for now I'm fine working around those limitations.
                            [..]
                            is it correct, that i still need to setup the skill level of each SAM?
                            Waiting for:DCS: Mi-24 Hind, ...
                            Intel i5-7600K @4.1GHz, 32GB DDR4 @2400MHz, GTX 1070 Gigabyte Gaming OC 8GB DDR5, WIN 10 64Bit Prof.


                            Squadron "Serious Uglies"
                            sigpic
                            Ghost0815

                            Comment


                              #15
                              Integrated Air Defense Script

                              Sorry for a shameless plug but I think this would work excellently with my GCI-script. It has been collecting dust for quite a while now and should be updated with the new functionalities in the scripting engine and mist, but last time I checked it performed pretty well. If you don't know what it is it is basically the same thing as this script only it will launch fighters instead of missiles against radar detected enemies.
                              http://forums.eagle.ru/showpost.php?p=1845129

                              Oh also, glad to see you finally released this! Will have a look once I get home next year.
                              Last edited by RagnarDa; 12-24-2013, 09:38 PM.
                              DCS AJS37 HACKERMAN

                              There will always be bugs. If everything is a priority nothing is.

                              Comment


                                #16
                                I'm working on a script to make ground units to go into hiding and as such I'm wondering if it would be possible to have access to the air picture generated by an IADS network to trigger the hiding. Necessary information would be location, speed, bearing, timestamp and some kind of information about the nature of the contact. Actually the air picture would make it easier to build other scripts based on IADS like GCI and such.
                                DCS Finland: Suomalainen DCS yhteisö -- Finnish DCS community
                                --------------------------------------------------
                                SF Squadron

                                Comment


                                  #17
                                  This is a much-needed area of development in DCS. The current SAM 'logic' (a generous description) is embarrassingly predictable.

                                  Unfortunately, I suspect a lot of people will not see this thread, nor will they appreciate what it is and what it can do to improve this series. Please don't be disheartened.

                                  We should all applaud your initiative. Seriously, seriously, good work.
                                  .
                                  sigpic

                                  Comment


                                    #18
                                    SAM radar as EWR

                                    The IADS script hints at the possibility to use SAM radars as EWR. I just discored MIST 3.2 and exited about the possibilities!!

                                    Relates to DCS World 1.2.6
                                    MIST version 3.2

                                    My idea;
                                    * A (shortrange) radar-enabled sam system provide EWR duty. Initial state is radars are off.

                                    EWR idea 1 -- announceToAll;
                                    1. SAM Radar randomly blinks on/off (for approx 2 seconds).
                                    2. SAM Radar broadcasts detections to allied flights.

                                    EWR idea 2 -- announceOnrequest;
                                    1. Player whishes tor receive air picture by F10 menu.
                                    2. Player selects from F10 menu option ´Get picture´, then selects a SAM at which location he wants the air threat picture from.
                                    3. The selected SAM Radar blinks on/off (for approx 2 seconds).
                                    4. The sam sequentually returns list of detected enemy air units to the Player.

                                    EWR idea 3 -- searchNetworkForAirthreats;
                                    * same as idea 2, but requests all SAMs ( or a group) to search for airthreats.

                                    Questions;
                                    1. Does the IADS sciprt provide a sort-of API for enabling/disabling radars?
                                    2. Can MIST return a list of detected units to a player?
                                    3. is it possible store the detected units to a file, and retrieve for later usage?
                                    Last edited by pappavis; 12-25-2013, 11:46 PM.
                                    met vriendelijke groet,
                                    Михель

                                    "умный, спортсмен, комсомолетс"

                                    sigpic

                                    No code has to be inserted here.

                                    Comment


                                      #19
                                      I'll be updating the documentation on the wiki so that all functions have a page. However I am slightly distracted by a shiny new video card I got and the need to try it in all of the games.

                                      Originally posted by mwd2 View Post
                                      is it correct, that i still need to setup the skill level of each SAM?
                                      The AI skill setting will impact how quickly the sam will be able to acquire and lock a target once the sam gets turned on by the IADScript. Aside from that the skill level has no impact on script.

                                      Originally posted by Bushmanni View Post
                                      I'm working on a script to make ground units to go into hiding and as such I'm wondering if it would be possible to have access to the air picture generated by an IADS network to trigger the hiding. Necessary information would be location, speed, bearing, timestamp and some kind of information about the nature of the contact. Actually the air picture would make it easier to build other scripts based on IADS like GCI and such.
                                      Also RE: RagnarDA,

                                      There is a local table called "iads_network" within the script file that will contain all of the networks and assorted data related to the network. Currently it has 3 values. Groups (name of all sams in the network), link (string name of the network, is the link that all sams must have to be in the network), and tracks (indexed by name, with a number value of the timestamp when the track was last detected). You can make iads_network a global variable to have access to the information or create a function within the same locality of the table to grab information from it. Currently the rest of the script cheats a little by using Unit.getPosition() when it checks if a sam is in range of the target. The plan is to incorporate the iads_network table and add more types of data to it to base most of the decisions off of that table.


                                      Originally posted by pappavis View Post
                                      The IADS script hints at the possibility to use SAM radars as EWR. I just discored MIST 3.2 and exited about the possibilities!!

                                      Questions;
                                      1. Does the IADS sciprt provide a sort-of API for enabling/disabling radars?
                                      2. Can MIST return a list of detected units to a player?
                                      3. is it possible store the detected units to a file, and retrieve for later usage?
                                      1. It doesn't add anything new that you couldn't do before with the scripting engine. There are three global functions that are part of the script that will change both the Alarm State and ROE to result in a radar off, radar on but won't lock, and radar on will lock.

                                      2. Mist is mainly used for the mist.DBs. For instance adding a group by prefix searches groups in game via mist and the targets are populated based on mist.DBs.aliveUnits. Aside from that I use mist messages for debugging and a few other functions, that could easily have been copied into the IADScript.

                                      3. Thats sort of what it does already. It doesn't write text file or anything to your hard-drive, it just keeps it in memory and is referenced throughout the script.
                                      The right man in the wrong place makes all the difference in the world.
                                      Current Projects: Scripting Wiki, Something...
                                      Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread), SLMOD, IADScript, Mission Editing Wiki!, Mission Building Forum

                                      Comment


                                        #20
                                        I finally had a chance to try the demo mission and was pretty swiftly shot down. Great job!
                                        DCS AJS37 HACKERMAN

                                        There will always be bugs. If everything is a priority nothing is.

                                        Comment

                                        Working...
                                        X