Jump to content

A new GCICAP module


FlightControl

Recommended Posts

Hi all,

 

Would like to introduce and demonstrate a new GCICAP module which is reworked and has a more open architecture that allows future extensions.

 

AI_A2A_GCICAP includes automatic spawning of Combat Air Patrol aircraft (CAP) and Ground Controlled Intercept aircraft (GCI) in response to enemy air movements that are detected by an airborne or ground based radar network.

 

The AI_A2A_GCICAP module provides a lightweight configuration method using the mission editor. Within a very short time, and with very little coding, the mission designer is able to configure a complete A2A defense system for a coalition using the DCS Mission Editor available functions.

 

 

Using the DCS Mission Editor, you define:

 

  • borders of the coalition which are guarded by GCICAP
  • configure airbases to belong to the coalition
  • define squadrons flying certain types of planes or payloads per airbase
  • define CAP zones.

Very little lua needs to be applied, a one liner, to activate the defenses for one coalition. The configuration is largely done using the mission editor.

 

In short it is a plug in very flexible and configurable air defence module for DCS World.

 

Find demonstration missions by following this link:

- In Caucasus: AID-200 - AI_A2A - GCICAP Demonstration, a mission made and governed by Silvern.

- In Nevada: AID-210 - NTTR AI_A2A_GCICAP Demonstration, a mission made for Sierra99

- In Normandy: AID-220 - NORMANDY AI_A2A_GCICAP Demonstration

 

These missions are not complete flyable missions, but are demonstration missions to show the AI_A2A_GCICAP workings.

 

There is a complete description of the AI_A2A_GCICAP script at the documentation pages.

 

All modules in MOOSE follow object oriented principles. The AI_A2A_GCICAP module derives (inherits) from AI_A2A_DISPATCHER, which is the main A2A defense module that defines all the methods to define new squadrons, CAP, GCI, borders, etc. So, any of these methods can also be used for AI_A2A_GCICAP objects!

 

 

In order to make your missions work, you need to include the moose.lua file in your .miz file, which can be downloaded from here the MOOSE releases page. It really is not a rocket science to use the MOOSE framework.

 

Step 1: Download moose.lua to a location on your drive.

Step 2: In your mission, create a "Load MOOSE" trigger with a DO SCRIPT FILE action that loads the moose.lua.

Step 3: If you wanna add a scripted mission file, create a "Load MISSION" trigger with a DO SCRIPT FILE action that loads your mission_script.lua file.

 

See the examples explained above.

 

At this point I am not claiming that this module is finished, but is "in progress". New ideas and features have already been posed by the community to add into this module, and will start working on these soon.

 

Thanks for Stonehouse (for his advises and document), Sierra99 (for his patience and his advises), Silvern (for his first usage) and the larger MOOSE community.

 

FC


Edited by FlightControl

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

I will try It ASAP.

 

I love this kind of lua scripts.

 

Thanks.


Edited by Esac_mirmidon
  • Like 1

" You must think in russian.."

[sIGPIC][/sIGPIC]

 

Windows 7 Home Premium-Intel 2500K OC 4.6-SSD Samsung EVO 860- MSI GTX 1080 - 16G RAM - 1920x1080 27´

 

Hotas Rhino X-55-MFG Crosswind Rudder Pedals -Track IR 4

Link to comment
Share on other sites

Great stuff :thumbup: Thanks FC!

  • Like 1

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

Quick Start Guide

 

In order to get a "grasp" of the GCICAP module, based on the experience and questions I got from Rivvern yesterday, I made the following Quick Start Guide. It does not contain any lua coding, but just raises a number of questions and provides answers to those to get the "concept in the brain" on how the new GCICAP is working and how to use it...

 

http://flightcontrol-master.github.i...ispatcher.html

 

QUICK START GUIDE

There are basically two classes available to model an A2A defense system.

AI_A2A_DISPATCHER is the main A2A defense class that models the A2A defense system. AI_A2A_GCICAP derives or inherits from AI_A2A_DISPATCHER and is a more noob user friendly class, but is less flexible.

Before you start using the AI_A2A_DISPATCHER or AI_A2A_GCICAP ask youself the following questions:

0. Do I need AI_A2A_DISPATCHER or do I need AI_A2A_GCICAP?

AI_A2A_GCICAP, automates a lot of the below questions using the mission editor and requires minimal lua scripting. But the AI_A2A_GCICAP provides less flexibility and a lot of options are defaulted. With AI_A2A_DISPATCHER you can setup a much more fine grained A2A defense mechanism, but some more (easy) lua scripting is required.

1. Which Coalition am I modeling an A2A defense system for? blue or red?

 

One AI_A2A_DISPATCHER object can create a defense system for one coalition, which is blue or red. If you want to create a mutual defense system, for both blue and red, then you need to create two AI_A2A_DISPATCHER objects, each governing their defense system.

2. Which type of EWR will I setup? Grouping based per AREA, per TYPE or per UNIT? (Later others will follow).

The MOOSE framework leverages the Detection classes to perform the EWR detection. Several types of Detection classes exist, and the most common characteristics of these classes is that they:

 

  • Perform detections from multiple FACs as one co-operating entity.
  • Communicate with a Head Quarters, which consolidates each detection.
  • Groups detections based on a method (per area, per type or per unit).
  • Communicates detections.

3. Which EWR units will be used as part of the detection system? Only Ground or also Airborne?

Typically EWR networks are setup using 55G6 EWR, 1L13 EWR, Hawk sr and Patriot str ground based radar units. These radars have different ranges and 55G6 EWR and 1L13 EWR radars are Eastern Bloc units (eg Russia, Ukraine, Georgia) while the Hawk and Patriot radars are Western (eg US). Additionally, ANY other radar capable unit can be part of the EWR network! Also AWACS airborne units, planes, helicopters can help to detect targets, as long as they have radar. The position of these units is very important as they need to provide enough coverage to pick up enemy aircraft as they approach so that CAP and GCI flights can be tasked to intercept them.

4. Is a border required?

 

Is this a cold car or a hot war situation? In case of a cold war situation, a border can be set that will only trigger defenses if the border is crossed by enemy units.

5. What maximum range needs to be checked to allow defenses to engage any attacker?

A good functioning defense will have a "maximum range" evaluated to the enemy when CAP will be engaged or GCI will be spawned.

6. Which Airbases, Carrier Ships, Farps will take part in the defense system for the Coalition?

 

Carefully plan which airbases will take part in the coalition. Color each airbase in the color of the coalition.

7. Which Squadrons will I create and which name will I give each Squadron?

 

The defense system works with Squadrons. Each Squadron must be given a unique name, that forms the key to the defense system. Several options and activities can be set per Squadron.

8. Where will the Squadrons be located? On Airbases? On Carrier Ships? On Farps?

 

Squadrons are placed as the "home base" on an airfield, carrier or farp. Carefully plan where each Squadron will be located as part of the defense system.

9. Which plane models will I assign for each Squadron? Do I need one plane model or more plane models per squadron?

 

Per Squadron, one or multiple plane models can be allocated as Templates. These are late activated groups with one airplane or helicopter that start with a specific name, called the template prefix. The A2A defense system will select from the given templates a random template to spawn a new plane (group).

10. Which payloads, skills and skins will these plane models have?

 

Per Squadron, even if you have one plane model, you can still allocate multiple templates of one plane model, each having different payloads, skills and skins. The A2A defense system will select from the given templates a random template to spawn a new plane (group).

11. For each Squadron, which will perform CAP?

 

Per Squadron, evaluate which Squadrons will perform CAP. Not all Squadrons need to perform CAP.

12. For each Squadron doing CAP, in which ZONE(s) will the CAP be performed?

 

Per CAP, evaluate where the CAP will be performed, in other words, define the zone. Near the border or a bit further away?

13. For each Squadron doing CAP, which zone types will I create?

 

Per CAP zone, evaluate whether you want:

 

  • simple trigger zones
  • polygon zones
  • moving zones

Depending on the type of zone selected, a different Zone object needs to be created from a ZONE_ class.

14. For each Squadron doing CAP, what are the time intervals and CAP amounts to be performed?

 

For each CAP:

 

  • How many CAP you want to have airborne at the same time?
  • How frequent you want the defense mechanism to check whether to start a new CAP?

15. For each Squadron, which will perform GCI?

 

For each Squadron, evaluate which Squadrons will perform GCI? Not all Squadrons need to perform GCI.

16. For each Squadron, which takeoff method will I use?

 

For each Squadron, evaluate which takeoff method will be used:

 

  • Straight from the air (default)
  • From the runway
  • From a parking spot with running engines
  • From a parking spot with cold engines

17. For each Squadron, which landing method will I use?

 

For each Squadron, evaluate which landing method will be used:

 

  • Near the airbase when returning (default)
  • After landing on the runway
  • After engine shutdown after landing

18. For each Squadron, which overhead will I use?

 

For each Squadron, depending on the airplane type (modern, old) and payload, which overhead is required to provide any defense? In other words, if X attacker airplanes are detected, how many Y defense airplanes need to be spawned per squadron? The Y is dependent on the type of airplane (era), payload, fuel levels, skills etc. The overhead is a factor that will calculate dynamically how many Y defenses will be required based on X attackers detected.

19. For each Squadron, which grouping will I use?

 

When multiple targets are detected, how will defense airplanes be grouped when multiple defense airplanes are spawned for multiple attackers? Per one, two, three, four?

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Thx for this, Sven. Your documentation for GCICAP has noticeably improved. thx also for that.

 

One question - I've noticed that when GCI flights go up to intercept enemy flights, that they will chase the intruding flights all the way back to their own base over 100 miles away. Would using a border eliminate that, or is there a way i could do it via time limits or distance limits for the GCI flights? Thx

i9 9900k - GTX 2080 Ti - MSI Z87 GD65 Mobo - 64GB HyperX Predator RGB DDR4 3200MHz - Win10 64 bit - TM Warthog w FSSB R3 mod - TrackIr 5.

 

 

 

Link to comment
Share on other sites

Thx for this, Sven. Your documentation for GCICAP has noticeably improved. thx also for that.

 

One question - I've noticed that when GCI flights go up to intercept enemy flights, that they will chase the intruding flights all the way back to their own base over 100 miles away. Would using a border eliminate that, or is there a way i could do it via time limits or distance limits for the GCI flights? Thx

 

This is a good question, and I think i have right now only half the answer.

You see, as people use the module, these kind of questions come and sometimes good questions come like this one.

 

I have an API SetGciRange() which will not start a GCI but only when the range of the target is lower from the nearest airbase than the specified range in the method.

 

Then there is the SetEngageRange() method, which will only engage targets if they are X meters from the an airborne target.

 

But you are right, if a target has been set, there might be some kind of "disengage" parameter, that will stop friendlies chasing planes.

 

Also, I noticed that once a target has been set, there is no cancel done if another friendly is closer to the target and is patrolling!

 

So my answer:

 

optimizations are still required to be done. I will work on those, promise, but i don't think I need to tell this here explicitly because you already assumed this :-)

 

Just hope that what we have now today already satisfies a lot of the expectations though.

 

FC

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

@All,

 

Done some important fixes on AI_A2A_GCICAP.

 

 

  • Fixed returning planes when landing not to despawn when using AI_A2A_GCICAP.
  • Fixed problem with route path in dcs 2.1.1 when planes takeoff from runway or parking spot. Planes would just take off and return landing. This is fixed now.

Please download the new version of Moose.lua to incorporate these fixes.

 

 

https://github.com/FlightControl-Master/MOOSE/releases

 

 

FC

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Added some function requested by Invisibull (see requests on github issues list).

 

  • Added method :SetDefaultFuelTreshold( FuelTreshold ) in AI_A2A_DISPATCHER and AI_A2A_GCICAP.
  • Added method :SetDefaultDamageTreshold( DamageTreshold ) in AI_A2A_DISPATCHER and AI_A2A_GCICAP.

These allow to make the AI return when a certain fuel treshold has been reached or when a plane is x% damaged.

 

Very useful methods to fine-tune the defense system.

 

 

Find in the documentation in Chapter 10.

 

 

 

A fuel treshold demonstration mission has been added.

 

 

Please download the new version of Moose.lua to incorporate these fixes.

 

 

https://github.com/FlightControl-Master/MOOSE/releases

 

 

FC

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Hi,

 

Added a new couple of methods upon request of Sierra99:

 

  • Added method :SetDefaultCapTimeInterval( CapMinSeconds, CapMaxSeconds) for AI_A2A_DISPATCHER and AI_A2A_GCICAP.

 

  • Added method :SetDefaultCapLimit( CapLimit ) for AI_A2A_DISPATCHER and AI_A2A_GCICAP.

 

  • Corrected spelling mistake in :SetDefaultDamageTreshold( DamageTreshold ). Renamed to :SetDefaultDamageThreshold( DamageThreshold ). Actually renamed every wrong spelled Treshold word into Threshold, also in the documentation.

 

 

This will provide more flexibility to set the defaults for spawning new CAP over all squadrons. However please be noted that the SetSquadronCapInterval method configures for a specific squadron a time interval.

 

 

Examples are documented in chapter 10.7 and 10.8 in the documentation... Follow the links of the methods highlighted and explained.

 

 

10.7. Default CAP Time Interval.

 

CAP is time driven, and will evaluate in random time intervals if a new CAP needs to be spawned. The default CAP time interval is between 180 and 600 seconds.

Use the method AI_A2_ADISPATCHER.SetDefaultCapTimeInterval() to set the default CAP time interval of spawned airplanes for all squadrons.

Note that you can still change the CAP limit and CAP time intervals for each CAP individually using the AI_A2A_DISPATCHER.SetSquadronCapTimeInterval() method.

10.8. Default CAP limit.

 

Multiple CAP can be airborne at the same time for one squadron, which is controlled by the CAP limit. The default CAP limit is 1 CAP per squadron to be airborne at the same time. Note that the default CAP limit is used when a Squadron CAP is defined, and cannot be changed afterwards. So, ensure that you set the default CAP limit before you spawn the Squadron CAP.

Use the method AI_A2A_DISPATCHER.SetDefaultCapTimeInterval() to set the default CAP time interval of spawned airplanes for all squadrons.

Note that you can still change the CAP limit and CAP time intervals for each CAP individually using the AI_A2A_DISPATCHER.SetSquadronCapTimeInterval() method.

 

I also did a fix of a spelling mistake upon the advise of Invisiblebull. It is Threshold, not Treshold.

 

Mission AID-012 has been added to demonstrate the default CAP timing ...

 

Download the new Moose.lua here for use within your missions:

https://github.com/FlightControl-Master/MOOSE/releases

 

 

 

FC.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Hi,

 

Added a new couple of methods upon request of the moose community:

 

  • Added method :SetIntercept( InterceptDelay ) for AI_A2A_DISPATCHER and AI_A2A_GCICAP.
  • DETECTION_ classes can now also calculate the intercept point.
  • Added method :SetDisengageRadius( DisengageRadius ) method for AI_A2A_DISPATCHER and AI_A2A_GCICAP.

 

See here

for the intercept point calculation.

 

See here

for the disengage radius.

 

 

Download the new Moose.lua here for use within your missions:

https://github.com/FlightControl-Master/MOOSE/releases

 

 

 

FC.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

I just can't seem to get this to work. I have gone through the Eclipse setup and have the Moose Framework setup. I have the latest version. I am sure I am missing something obvious. I am attaching the mission files.

 

Thanks in advance. The GCICAP Demo works so I know this function will to.

Test_Mission.lua

Test_Mission.miz

Link to comment
Share on other sites

Curly brackets around your string entries? They are actually tables those parameters I believe. So should be like:

 

 

GCICAP_Red = AI_A2A_GCICAP:New( { "EWR Red" }, { "Squadron Red" } )

 

 

Also think you need an empty set of curly brackets after { "Squadron Red" } to represent no CAP and then also perhaps a number although since you have no CAPs then perhaps it isn't needed and gets defaulted. Haven't had time to really catch up with everything you guys and FC are doing with this but I think the statement should be something like below:

 

 

GCICAP_Red = AI_A2A_GCICAP:New( { "EWR Red" }, { "Squadron Red" }, {})

 

 

or if that doesn't work then perhaps:

GCICAP_Red = AI_A2A_GCICAP:New( { "EWR Red" }, { "Squadron Red" }, {},1)

 

 

Anyway pretty sure you need the { and } around things.

Link to comment
Share on other sites

checked your lua file and it looks ok

 

in my mission I use this

 

GCICAP_Red_ww2 = AI_A2A_GCICAP:New("ww2 radar", "ww2 plane")

 

where the 2 ground radars i have are named

ww2 radar #001

ww2 radar #002

 

and 4 template planes are named

ww2 plane #001

ww2 plane #002

ww2 plane #003

ww2 plane #004

 

I cant load your mission to test it (dont have dcs 2 on this PC)

METAR weather for DCS World missions

 

Guide to help out new DCS MOOSE Users -> HERE

Havoc Company Dedicated server info Connect IP: 94.23.215.203

SRS enabled - freqs - Main = 243, A2A = 244, A2G = 245

Please contact me HERE if you have any server feedback or METAR issues/requests

Link to comment
Share on other sites

Will try today! I am watching the videos intently. It took me about 3 hours to get from knowing nothing to having my Eclipse up and running with MOOSE and creating a test mission that worked. I am very excited about this. I wouldn't say it is easy as pie but it doesn't take a lot of time to understand the very basics.

  • Like 1
Link to comment
Share on other sites

I installed eclipse but still have not a clue how to get moose into it

 

Any tips or pointers you could show me ?

METAR weather for DCS World missions

 

Guide to help out new DCS MOOSE Users -> HERE

Havoc Company Dedicated server info Connect IP: 94.23.215.203

SRS enabled - freqs - Main = 243, A2A = 244, A2G = 245

Please contact me HERE if you have any server feedback or METAR issues/requests

Link to comment
Share on other sites

This Video right here:

 

I had to backup a few times but if you follow every step you will good to go.

 

Afterward, I had several Ah-Ha moments. It really starts to make sense. Follow the order of the videos. Set up the Moose Missions in LDT and do the example (video) of spawning in a mission. After that you will be on your way!


Edited by Scooternutz
  • Like 1
Link to comment
Share on other sites

Guys,

 

Suggest you have a good look at the following videos to get GCICAP live:

 

yMx4tVYRHno

 

e4plpnqqhC8

 

DRG8DbH3d-4

 

p9LMCYFbgdE

 

KPKo3VMxnhw

 

XjzAJtyP6zU

 

2oNkNYVgzeY

 

 

They will help you to understand:

- What it does.

- How it works.

- How to set it up.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

CAP and Refuelling

 

All,

 

A new capability has been added in the AI_A2A_DISPATCHER and AI_A2A_GCICAP. This is CAP and Refuelling to an airborne tanker.

 

Have a look at this video here.

 

6iQ7ImvG-DQ

 

The video explains what CAP and Refuelling is all about.

It then demonstrates a working mission and the CAP and refuelling in action.

Then it explains how to use and setup the CAP and refuelling in your scripting, using the DISPATCHER or GCICAP module.

 

The idea was born from a requirement set by Sierra99 on this forum, and Neck from 132nd team.

- Sierra99

- NECK

 

The MOOSE Release 2.2.0.pre has been updated, please download the new Moose.lua from here: https://github.com/FlightControl-Master/MOOSE/releases

 

It also contains a couple of other optimizations:

 

  • Implemented a working Stop time on SCHEDULER.
  • Implemented the CAP and Refuelling capability in the AI_A2A_DISPATCHER and AI_A2A_GCICAP. Methods :SetDefaultFuelThreshold(), :SetSquadronFuelThreshold(), :SetDefaultTanker(), :SetSquadronTanker() have been added in AI_A2A_DISPATCHER.

 

 

The new capabilities are documented here:

http://flightcontrol-master.github.i...ispatcher.html

 

 

The demonstration mission can be found here:

https://github.com/FlightControl-Mas...0Tanker%20Test

 

 

Have fun!

FC

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Hello FlightControl

 

I would like to try your tools for mission editing. I am not use to .lua files but I would like to give it a try.

 

When I launch the AI_A2A - GCICAP Demonstration mission, there is no interception.

What should I do?

 

I loaded the last moose.lua today ( 2.2.0 pre)

 

Thanks!

Link to comment
Share on other sites

Hello FlightControl

 

I would like to try your tools for mission editing. I am not use to .lua files but I would like to give it a try.

 

When I launch the AI_A2A - GCICAP Demonstration mission, there is no interception.

What should I do?

 

I loaded the last moose.lua today ( 2.2.0 pre)

 

Thanks!

 

Yes, that is done on purpose for the testing. First of all, did you have a read on this documentation here?

 

http://flightcontrol-master.github.io/MOOSE/Documentation/AI_A2A_Dispatcher.html#AI_A2A_DISPATCHER

 

I will help you with the process, but want to be efficient and see how i can best help you.

 

Please first have a good read through the documentation. It will put the subject well in your head and then we can discuss efficiently.

Otherwise i need to explain for zero, and that would not be efficient.

 

Thanks for using. I have time today to help you out.

 

FC

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

I tried the demo mission and there is no cap or intercept on the red side. I read the documentation, I am not a fluent english reader, but if I understood it should work but it does'nt work.

 

https://github.com/FlightControl-Master/MOOSE_MISSIONS/tree/release-2-2-pre/AID%20-%20AI%20Dispatching/AID-200%20-%20AI_A2A%20-%20GCICAP%20Demonstration

 

I didn't touch anything.

 

Next I tried to build my own with this tutorial :

http://flightcontrol-master.github.io/MOOSE/Documentation/AI_A2A_Dispatcher.html#AI_A2A_GCICAP

 

I made this very simple mission to learn but I don't understand why it doesn't work. I think I miss a lot of things.

 

https://drive.google.com/open?id=0B4saJUWmL8SvMTRTUWw0bHBhMXc

Link to comment
Share on other sites

I tried the demo mission and there is no cap or intercept on the red side. I read the documentation, I am not a fluent english reader, but if I understood it should work but it does'nt work.

 

https://github.com/FlightControl-Master/MOOSE_MISSIONS/tree/release-2-2-pre/AID%20-%20AI%20Dispatching/AID-200%20-%20AI_A2A%20-%20GCICAP%20Demonstration

 

I didn't touch anything.

 

Next I tried to build my own with this tutorial :

http://flightcontrol-master.github.io/MOOSE/Documentation/AI_A2A_Dispatcher.html#AI_A2A_GCICAP

 

I made this very simple mission to learn but I don't understand why it doesn't work. I think I miss a lot of things.

 

https://drive.google.com/open?id=0B4saJUWmL8SvMTRTUWw0bHBhMXc

 

OK I will take a look. Is it Caucaus, NTTR or Normandy?

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Caucasus 1.5.7

It's very very simple, I don't know if i understand the philosophy.

I would like to creat to cap flight at first.

 

Checking...

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

  • Recently Browsing   0 members

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