Jump to content

Skynet: An IADS for Mission Builders


Recommended Posts

Currently I have no plans for GCI, bu who knows. I will try and put together a new build on the weekend. Fixed a few bugs, and Harm defence is almost finished.

 

I'm looking forward to your feedback!

 

I am looking forward to HARM defense.

 

My most recent testing with SA-10's encountered no problems so I assume my earlier trouble was a typo on my part.

 

I am going to explore a method of flagging individual pieces of the system to behave in specific ways. For example, I would like to tell certain parts of the system to fire at long range in order to deter ingress while other parts will wait until enemy units are very close before becoming active and firing. Also, it would be nice to have SAM sites ignore enemy on ingress only to become active on egress.

 

This would create the ability to funnel attackers into a planned SAM trap.

 

 

 

 

EDsignaturefleet.jpg

Link to comment
Share on other sites

That sounds cool.

 

I reworked the internal data structure of the SAM site yesterday, see:

https://github.com/walder/Skynet-IADS/tree/master/skynet-iads-source

 

I am planing on a fire distance option, e.g. 100%, 90%, 80% of the zone in which a SAM can fire. With the new structure I can add that at one place with 2-3 Lines of code.

 

HARM Defence will be bad ;-). I calculate the impact point of the missile or bomb, if it's within 100 m of the SAM it will go dark. I think this will be more realistic than just an if (HARM) do..

 

The IADS stores a global track file per contact, that gets updated with the last time seen. You could also store the route a contact took. Maybe you can use that for an ingress / egress calculation?

Link to comment
Share on other sites

SAM Sites will now act as EW radars, if you give them the corresponding parameter, see:

https://github.com/walder/Skynet-IADS#sam-ew

 

This function is not yet in the compiled script. You can use it in the test mission:

https://github.com/walder/Skynet-IADS/blob/master/demo-missions/in%20development%20dont%20use/skynet-test-persian-gulf-iads-developer.miz

Link to comment
Share on other sites

Have you considered to use inbuilt attributes of units to automatically decide if something is a SAM, EWR, Launcher or else? That would kick out mission editor operations.

ChromiumDis.png

Author of DSMC, mod to enable scenario persistency and save updated miz file

Stable version & site: https://dsmcfordcs.wordpress.com/

Openbeta: https://github.com/Chromium18/DSMC

 

The thing is, helicopters are different from planes. An airplane by it's nature wants to fly, and if not interfered with too strongly by unusual events or by a deliberately incompetent pilot, it will fly. A helicopter does not want to fly. It is maintained in the air by a variety of forces in opposition to each other, and if there is any disturbance in this delicate balance the helicopter stops flying; immediately and disastrously.

Link to comment
Share on other sites

During testing on my server last night I saw this error

 

2020-02-29 03:49:16.066 ERROR SCRIPTING: MIST| Error in scheduled function: $1[string "C:\Users\beech\AppData\Local\Temp\DCS.openbeta_server\/~mis000029B5.lua"]:836:

 

 

Here is the relevant function

835 function SkynetIADSAbstractElement:getController()

836 return self:getDCSRepresentation():getController()

837 end

 

The first instance occurred immediately after killing an EWR site. The error continues in the log until the server is paused when empty.

 

 

 

 

EDsignaturefleet.jpg

Link to comment
Share on other sites

Have you considered to use inbuilt attributes of units to automatically decide if something is a SAM, EWR, Launcher or else? That would kick out mission editor operations.

 

That's worth thinking about. I would have to test the script how well it handles edge cases and garbage groups ;-)

Link to comment
Share on other sites

During testing on my server last night I saw this error

 

2020-02-29 03:49:16.066 ERROR SCRIPTING: MIST| Error in scheduled function: $1[string "C:\Users\beech\AppData\Local\Temp\DCS.openbeta_server\/~mis000029B5.lua"]:836:

 

 

Here is the relevant function

835 function SkynetIADSAbstractElement:getController()

836 return self:getDCSRepresentation():getController()

837 end

 

The first instance occurred immediately after killing an EWR site. The error continues in the log until the server is paused when empty.

 

Thanks, for the feedback, I just updated the repo with a new compiled script, I re wrote that part. Let me know if you can use the new compiled script.

Link to comment
Share on other sites

That's worth thinking about. I would have to test the script how well it handles edge cases and garbage groups ;-)

 

You can try setting a loop at the end of your code for every unit in the scenery, checking for SAM Categories.

 

If they are, you might add to the lookup table I believe you use.

 

https://wiki.hoggitworld.com/view/DCS_enum_attributes

 

in particoular:

["Mobile AAA"] = {"AAA", "Ground vehicles",},

["SAM SR"] = {"SAM elements",}, -- Search Radar

["SAM TR"] = {"SAM elements"}, -- Track Radar

["SAM LL"] = {"SAM elements","Armed Air Defence"}, -- Launcher

["SAM CC"] = {"SAM elements",}, -- Command Center

["SAM AUX"] = {"SAM elements",}, -- Auxilary Elements (not included in dependencies)

["SR SAM"] = {}, -- short range

["MR SAM"] = {}, -- medium range

["LR SAM"] = {}, -- long range

["SAM elements"] = {"Ground vehicles", "SAM related"}, --elements of composite SAM site

["IR Guided SAM"] = {"SAM"},

["SAM"] = {"SAM related", "Armed Air Defence", "Ground vehicles"}, --autonomous SAM unit (surveillance + guidance + launcher(s))

["SAM related"] = {"Air Defence"}, --all units those related to SAM

["AAA"] = {"Air Defence", "Armed Air Defence", "Rocket Attack Valid AirDefence",},

["EWR"] = {"Air Defence vehicles",},

["Air Defence vehicles"] = {"Air Defence","Ground vehicles",},

["MANPADS"] = {"IR Guided SAM","Infantry","Rocket Attack Valid AirDefence",},

["MANPADS AUX"] = {"Infantry","Rocket Attack Valid AirDefence","SAM AUX"},

ChromiumDis.png

Author of DSMC, mod to enable scenario persistency and save updated miz file

Stable version & site: https://dsmcfordcs.wordpress.com/

Openbeta: https://github.com/Chromium18/DSMC

 

The thing is, helicopters are different from planes. An airplane by it's nature wants to fly, and if not interfered with too strongly by unusual events or by a deliberately incompetent pilot, it will fly. A helicopter does not want to fly. It is maintained in the air by a variety of forces in opposition to each other, and if there is any disturbance in this delicate balance the helicopter stops flying; immediately and disastrously.

Link to comment
Share on other sites

I was just wondering whether it would be possible to make a YouTube tutorial for how to set this up for those of us with absolutely no clue about scripting but do really like mission building. At the moment I am just developing a mission based on your demo, but it would be great to properly understand how to do this from scratch.

 

Thanks!

  • Like 1

  • Windows 10 Home - 64 Bit
  • Intel Core i7-9770K
  • 32GB DDR4 RAM
  • Nvidia GeForce GTX 1080Ti
  • Oculus Rift S

Link to comment
Share on other sites

I was just wondering whether it would be possible to make a YouTube tutorial for how to set this up for those of us with absolutely no clue about scripting but do really like mission building. At the moment I am just developing a mission based on your demo, but it would be great to properly understand how to do this from scratch.

 

Thanks!

 

Have you looked at the documentation?

https://github.com/walder/Skynet-IADS

 

I will look in to a YouTube tutorial once the features are more complete. Or maybe one of the DCS youTubers will be interested in doing one? :smilewink:

Link to comment
Share on other sites

You can try setting a loop at the end of your code for every unit in the scenery, checking for SAM Categories.

 

If they are, you might add to the lookup table I believe you use.

 

https://wiki.hoggitworld.com/view/DCS_enum_attributes

 

in particoular:

 

Thanks I have read about this function in the docs. I curently like the idea that a mission builder can decide if a SAM is part of the IADS or not.

 

However I could ad a simple setup mode with these descriptors. The don't by any way include range? Grimes build a database due to the fact that he could not access range etc. But that was back in 2013.

Link to comment
Share on other sites

Great work! I am really looking forward to test this.

I like the feature with powersupply and commandcenters, and beeing able to destroy these makes the IADS to autonomous mode.

 

 

Thanks!

"When once you have tasted flight, you will forever walk the earth with your eyes

turned skyward for there you have been, and there you will always long to return"

Neck.png

132nd Public documents - Want to apply? - 132nd Youtube channel - 132nd Discord Channel

Link to comment
Share on other sites

I don't know about range: I'm planning to use getDetectedTargets to decide if something is identified or not.

but that would be difficult to implement... maybe using getSensors with parameter detectiondistanceair (never tried yet)

https://wiki.hoggitworld.com/view/DCS_func_getSensors

 

the reason cause I suggest those kind of parameters instead of database it's because the sim is in constant change, with new or changed units. If you take advantage (or disadvantage) of the current information structure, it's likely that you won't need updates when new units will be added.

ChromiumDis.png

Author of DSMC, mod to enable scenario persistency and save updated miz file

Stable version & site: https://dsmcfordcs.wordpress.com/

Openbeta: https://github.com/Chromium18/DSMC

 

The thing is, helicopters are different from planes. An airplane by it's nature wants to fly, and if not interfered with too strongly by unusual events or by a deliberately incompetent pilot, it will fly. A helicopter does not want to fly. It is maintained in the air by a variety of forces in opposition to each other, and if there is any disturbance in this delicate balance the helicopter stops flying; immediately and disastrously.

Link to comment
Share on other sites

Was testing out the following command

 

iranIADS:setOptionsForSamSite('SAM-KUB-2', nil, connectionNode, false, SkynetIADSSamSite.AUTONOMOUS_STATE_DCS_AI)

 

Destroyed the node but the site would not go active.

 

In the debug box it looks like the site is going active and them immediately going dark.

 

Everything else i tried work great. Really appreciate the effort you put in this and making it available.

skynet.png.1f5bcb90c91bcbd5a6879b4831974f95.png

Link to comment
Share on other sites

Was testing out the following command

 

iranIADS:setOptionsForSamSite('SAM-KUB-2', nil, connectionNode, false, SkynetIADSSamSite.AUTONOMOUS_STATE_DCS_AI)

 

Destroyed the node but the site would not go active.

 

In the debug box it looks like the site is going active and them immediately going dark.

 

Everything else i tried work great. Really appreciate the effort you put in this and making it available.

 

Thanks, I will look in to it. It's time I add some unit tests to make sure I don't break anything with an update.

 

In the spirit of DCS: this script is currently in early access :thumbup:


Edited by tigair
Link to comment
Share on other sites

I don't know about range: I'm planning to use getDetectedTargets to decide if something is identified or not.

but that would be difficult to implement... maybe using getSensors with parameter detectiondistanceair (never tried yet)

https://wiki.hoggitworld.com/view/DCS_func_getSensors

 

the reason cause I suggest those kind of parameters instead of database it's because the sim is in constant change, with new or changed units. If you take advantage (or disadvantage) of the current information structure, it's likely that you won't need updates when new units will be added.

 

Totally, agree! I also read about this function, I will look in to it once I am done with features for the IADS.

Link to comment
Share on other sites

Have you looked at the documentation?

https://github.com/walder/Skynet-IADS

 

I will look in to a YouTube tutorial once the features are more complete. Or maybe one of the DCS youTubers will be interested in doing one? :smilewink:

 

Hi,

I have read it, but I have no clue where to start with scripting. I don't have any software or know how or where to create the file you say to create. As a result I don't know what to do outside of your original demo mission to be able to create a layered, responsive IADS system.

 

With some testing I've found that all of the SAMs, and their threat rings, still show up on the F/A-18 SA page, even though they have not been active. Do you know if there is a way to stop this as it is making things remain too easy for the Hornet pilots. They can carry the JSOW, align the TGP on the SA page and pick off the SAMs even though they are not emitting anything. They are not showing up on the RWR, just the SA page. I don't know of any of the other modules having a similar display so I don't know if it applies to anything else.

 

Really like the system though and it's adding a lot even in the demo mission (which I've adapted into something bigger for my testing purposes)

 

Thanks,

 

Tom


Edited by tom1502

  • Windows 10 Home - 64 Bit
  • Intel Core i7-9770K
  • 32GB DDR4 RAM
  • Nvidia GeForce GTX 1080Ti
  • Oculus Rift S

Link to comment
Share on other sites

Hi,

I have read it, but I have no clue where to start with scripting. I don't have any software or know how or where to create the file you say to create. As a result I don't know what to do outside of your original demo mission to be able to create a layered, responsive IADS system.

 

With some testing I've found that all of the SAMs, and their threat rings, still show up on the F/A-18 SA page, even though they have not been active. Do you know if there is a way to stop this as it is making things remain too easy for the Hornet pilots. They can carry the JSOW, align the TGP on the SA page and pick off the SAMs even though they are not emitting anything. They are not showing up on the RWR, just the SA page. I don't know of any of the other modules having a similar display so I don't know if it applies to anything else.

 

Really like the system though and it's adding a lot even in the demo mission (which I've adapted into something bigger for my testing purposes)

 

Thanks,

 

Tom

 

In regards to the threat ring:

Try setting the unit to hidden on map in the mission editor. (see screen shot) As far I remember should do the trick.

 

Tutorial is on the list :). I may need a few weeks until everything is finished. In the mean time you can drop me a message and I will try and help you as best I can.

1288567725_Bildschirmfoto2020-03-02um15_13_47.thumb.jpg.28a04a0cffc6c8483721a0d5acaf085b.jpg

Link to comment
Share on other sites

Hi,

Thanks for that. I may just do that.

 

 

I tried hiddne on the map, but it was still showing. I also tried hidden on planner (which was a new one to me), but no change. It's odd because in a mission the other day none of them were showing up on the SA page; so maybe it is down to a DCS update.

 

 

Will the sites show up on the SA page once they go active, even if "Hidden on the map" is ticked?

 

 

Thanks,

 

 

Tom

  • Windows 10 Home - 64 Bit
  • Intel Core i7-9770K
  • 32GB DDR4 RAM
  • Nvidia GeForce GTX 1080Ti
  • Oculus Rift S

Link to comment
Share on other sites

Thanks, for the feedback, I just updated the repo with a new compiled script, I re wrote that part. Let me know if you can use the new compiled script.

 

I ran a test with the new combo script and was suffering serious performance issues in SP. I am not sure this was definitely the cause so more testing required.

 

 

 

 

EDsignaturefleet.jpg

Link to comment
Share on other sites

I ran a test with the new combo script and was suffering serious performance issues in SP. I am not sure this was definitely the cause so more testing required.

 

Hmm I added a few more iterations over the sam sites but nothing too crazy. Let me know if it is due to the script.

 

Did you ad something in large quantities? Like 1k Sam Sites or 500 aircraft?

Link to comment
Share on other sites

Hi,

Thanks for that. I may just do that.

 

 

I tried hiddne on the map, but it was still showing. I also tried hidden on planner (which was a new one to me), but no change. It's odd because in a mission the other day none of them were showing up on the SA page; so maybe it is down to a DCS update.

 

 

Will the sites show up on the SA page once they go active, even if "Hidden on the map" is ticked?

 

 

Thanks,

 

 

Tom

 

I just checked, setting Hidden on Map hides the unit in the hornet's SA page. FYI: I'm on the last 2.5.5 build not the 2.5.6 beta.


Edited by tigair
Link to comment
Share on other sites

Did more testing and getting Object does not exist errors at line 1170 and 1883 once search radar is killed.

 

No performance issues.

 

You may want to start version numbering so we can be sure we are talking about the same iteration of the script.

 

I have not tried the unit testing version yet.

 

 

 

 

EDsignaturefleet.jpg

Link to comment
Share on other sites

Did more testing and getting Object does not exist errors at line 1170 and 1883 once search radar is killed.

 

No performance issues.

 

You may want to start version numbering so we can be sure we are talking about the same iteration of the script.

 

I have not tried the unit testing version yet.

 

Yep, its time to give the scripts a version.

 

It seems you are not using the most resent Version:

https://github.com/walder/Skynet-IADS/blob/master/demo-missions/skynet-iads-compiled.lua

In Commit: 82a5a91 is the most current one as of 03.03.2020.

 

Oh and the unit test mission is intended for IADS development, not mission building. The unit test mission does not runwith the compiled script but all the single class files in the source folder.


Edited by tigair
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...