Jump to content

Autonomous CAP and GCI AI fighter script


SNAFU

Recommended Posts

I think it's important to draw attention to the different ways people have used GCICAP over the years and what it fills in their missions. Not everyone is looking for all singing and dancing scripts and a simple respawning one liner could have sufficed. So, just saying, if you have a use case for a CAP, please explain what features are important to you, since it might be easier to demonstrate how to (re)SPAWN aircraft for some people that are not looking for a teh full thing.

___________________________________________________________________________

SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *

Link to comment
Share on other sites

  • Replies 1.1k
  • Created
  • Last Reply

Top Posters In This Topic

I think it's important to draw attention to the different ways people have used GCICAP over the years and what it fills in their missions. Not everyone is looking for all singing and dancing scripts and a simple respawning one liner could have sufficed. So, just saying, if you have a use case for a CAP, please explain what features are important to you, since it might be easier to demonstrate how to (re)SPAWN aircraft for some people that are not looking for a teh full thing.

 

The thing needs to be considered as a whole, not just that one function, when you would design missions, i agree.

 

The video and my question however, focuses on GCICAP, that is the subject of the function here for the discussion.

 

So I completely am behind your points that, how people use GCICAP over the years is indeed a good question from a mission designer point of view.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

It is VERY interesting.

 

Questions,

 

- in the set up, is the detection range the area where the EWR send the "order" to the CAPs, If target is dectected ?

 

- CAP starting from parking cold. Is the squadron visible before being called in the alert? In the video you mention that there is a limited ammount of Aircrafts. Would be great if you can attack and destroy them before they take off, as a part of the package.

Link to comment
Share on other sites

That's an interesting feature request. I have a little doubt that one could break the airbase with lots of parked aircraft? It adds another thing to watch for and a way DCS could mess up. I would support this notion though as an airstrike on random HAS's might be worthwhile! But also remmeber, DCS will stop using an entire airbase if you put a bomb on the runway. Which is not revoverable inside of a mission restart. So might not be a point.

It is VERY interesting.

 

Questions,

 

- in the set up, is the detection range the area where the EWR send the "order" to the CAPs, If target is dectected ?

 

- CAP starting from parking cold. Is the squadron visible before being called in the alert? In the video you mention that there is a limited ammount of Aircrafts. Would be great if you can attack and destroy them before they take off, as a part of the package.

___________________________________________________________________________

SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *

Link to comment
Share on other sites

It is VERY interesting.

 

Questions,

 

- in the set up, is the detection range the area where the EWR send the "order" to the CAPs, If target is dectected ?

 

- CAP starting from parking cold. Is the squadron visible before being called in the alert? In the video you mention that there is a limited ammount of Aircrafts. Would be great if you can attack and destroy them before they take off, as a part of the package.

 

Hey Matador,

 

Thanks.

 

To answer your first question: There are three different ranges at play in the logic. (I just added one today).

 

1. The "Grouping Range": So once a target has been detected, the logic will check if there are other detected targets within the Grouping Range of the first detected target. If there are, then these targets will be added to the same "Target Area". So multiple Target Areas will be formed, consisting of X targets. The amount of targets within a Target Area will determine the amount of defenders to be engaged From Cap or Gci. Note that the overhead parameter can influence the amount of defenders being engaged to those targets.

 

2. The "Engage Range": This will influence as the video explains, the evaluation which airborne friendlies are "in range" around each detected target. Airborne friendlies can be those that are "patrolling" or "returning" from a previous battle.

 

3. The "Intercept Range" or "Gci Range": EWR networks can detect targets over a very long range, especially with AWACS. But you don't want to submit a GCI when your target is more than 300km away. Thats what the Gci Range does, it will only submit GCI from the nearest airbase to target, when the distance between airbase and target is lower than the Gci Range.

 

 

To answer you second question:

 

This is a good idea. Thinking about it, a few questions though:

 

1. The only way to get planes spawned at airbases without them flying off, is to spawn them "uncontrolled". Once these planes would need to be "activated", these would be spawned accoding the TakeOff setting per squadron. So I see your idea as a way to spawn those airplanes in advance, at the airbase of the squadron, waiting for takeoff... This WILL however have impact on performance.

I could add a method on Squadron level to configure the airplanes to be spawned before activation. But then i'll need to check which planes are alraedy dead and which not :-)

 

2. Uncontrolled planes have an impact on performance.

 

3. Shelters ... When you spawn planes some of them may arrive in a shelter. The shelter doors are opened, even when uncontrolled.

 

4. Available places at the airbase. It would be the most realistic scenario ever. Indeed, the amount of planes already at the airbase. However, It should be checked that the amount resources allocated at the squadron should not be more than the amount of places available at the airbase...

 

Interesting requirement overall. So I have a suggestion. Will make the first version work and release it, and then I can add the uncontrolled airplanes before take-off.

 

Hope this helps.

Sven

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Late to the conversation, had internet problems on top of a few other real life issues. The idea of starting the planes as uncontrolled essentially static objects was actually done by another old GCI script by RagnarDa. As people have pointed out it did have some nice things about it as it meant that destroying the aircraft on the ground had an immediate in game effect. For what the new MOOSE functionality is doing you'd have to despawn aircraft on shutdown after landing and then respawn them as uncontrolled. Is there much difference between a static object and an uncontrolled aircraft from a performance point of view? Might also simplify logistics for you FC when you get to it.

Link to comment
Share on other sites

Late to the conversation, had internet problems on top of a few other real life issues. The idea of starting the planes as uncontrolled essentially static objects was actually done by another old GCI script by RagnarDa. As people have pointed out it did have some nice things about it as it meant that destroying the aircraft on the ground had an immediate in game effect. For what the new MOOSE functionality is doing you'd have to despawn aircraft on shutdown after landing and then respawn them as uncontrolled. Is there much difference between a static object and an uncontrolled aircraft from a performance point of view? Might also simplify logistics for you FC when you get to it.

 

Ha YES! Thanks, that is a good idea stonehouse. Just spawn a static, it will resolve the CPU overhead and also will make a better simulation experience. Will think about this. For the moment however, i am now finalizing the TASK_A2A_DISPATCHER, which is TASK dispatching for HUMAN PLAYERS, somewhat the counterpart of the AI_A2A_DISPATCHER.

 

Both will be included in the 2.2 release of MOOSE.

I am currently fixing bugs and documenting stuff.

Also a lot of work, and time consuming.

 

Later, when the release is okay and working,

based on the discussions we had on our slack site,

I'll try to finish that template to make it "easier" for people

to use this.

 

Sven

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Erm will spawning static in live parking spots not cause explosions on spawning? Statics are preferable but they dont have placement rules on airports like an aircraft does do they?

 

Could be. Dunno. Highly likely you're right.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Well, I dont feel there "too much" impact, but the static solutions seems to be good. Most probably there should be a database with the parking position...

 

I was just an idea... but interesting at the end... We can keep the options for take off, and landing, would be nice to see them trying to take of, but in esence, what you want is to kill them in parkings.

Link to comment
Share on other sites

 

I was just an idea... but interesting at the end... We can keep the options for take off, and landing, would be nice to see them trying to take of, but in esence, what you want is to kill them in parkings.

 

Agreed, it is particularly useful to a mission or campaign that revolves around establishing air superiority

Link to comment
Share on other sites

  • 3 weeks later...

Possibly a moot point after the recent MOOSE release (congrats FC by the way!) but I am getting reports of missions using the GCICAP script that worked under 1.5.6 crashing under 1.5.7. I'm away for the next couple of days but wanted to post a log snippet here in case someone else gets a similar issue and it helps highlight a possible bug in the 1.5.7 build. Of course it may be the mission setup too but just haven't time to look at it until my Sunday afternoon at the earliest.

 

 

00253.587 INFO SCRIPTING: Mist version 4.3.74loaded.

00253.589 WARNING SCRIPTING: GCICAP| No airbase for blue found

00253.609 INFO SCRIPTING: GCICAP| Spawning fighter group CAP red 1 atredCAPzone1

00253.609 INFO EDCORE: try to write dump information

00253.610 INFO EDCORE: # -------------- 20170712-232708 --------------

00253.611 INFO EDCORE: D:\games\DCS_World\bin\DCS.exe

00253.611 INFO EDCORE: # C0000005 ACCESS_VIOLATION at 401FBBF8 00:00000000

00253.616 INFO EDCORE: 00000000 00000000 0000:00000000

00253.617 INFO EDCORE: 401FBBF8 0016E0A0 0000:00000000D:\games\DCS_World\bin\DCS.exe

00253.618 INFO EDCORE: 401FB4A8 0016E0F0 0000:00000000D:\games\DCS_World\bin\DCS.exe

00253.619 INFO EDCORE: 401D7CDD 0016E180 0000:00000000 D:\games\DCS_World\bin\DCS.exe

00253.619 INFO EDCORE: 401D5F51 0016E340 0000:00000000D:\games\DCS_World\bin\DCS.exe

00253.620 INFO EDCORE: 401D78AC 0016E420 0000:00000000D:\games\DCS_World\bin\DCS.exe

00253.620 INFO EDCORE: 40045580 0016E4B0 0000:00000000 D:\games\DCS_World\bin\DCS.exe

00253.621 INFO EDCORE: 401D0A45 0016E510 0000:00000000D:\games\DCS_World\bin\DCS.exe

00253.622 INFO EDCORE: F05219E4 0016E660 0000:00000000D:\games\DCS_World\bin\Scripting.dll?regLuaAtmosphere@Scripting@@YAXPEAUlua_State@@@Z()+1964

00253.623 INFO EDCORE: F6E17294 0016E6A0 0000:00000000D:\games\DCS_World\bin\lua.dll luaD_growstack()+7A4

00253.623 INFO EDCORE: F6E2727B 0016E8B0 0000:00000000D:\games\DCS_World\bin\lua.dll luaS_newlstr()+4E5B

00253.624 INFO EDCORE: F6E17581 0016E8E0 0000:00000000D:\games\DCS_World\bin\lua.dll luaD_growstack()+A91

00253.625 INFO EDCORE: F6E1688F 0016EA60 0000:00000000D:\games\DCS_World\bin\lua.dll lua_getinfo()+11CF

00253.625 INFO EDCORE: F6E1789E 0016EAA0 0000:00000000D:\games\DCS_World\bin\lua.dll lua_yield()+9E

00253.626 INFO EDCORE: F6E2CD43 0016EAF0 0000:00000000D:\games\DCS_World\bin\lua.dll luaL_newstate()+20E3

00253.627 INFO EDCORE: F6E17294 0016EB30 0000:00000000D:\games\DCS_World\bin\lua.dll luaD_growstack()+7A4

00253.628 INFO EDCORE: F6E2727B 0016ED40 0000:00000000D:\games\DCS_World\bin\lua.dll luaS_newlstr()+4E5B

00253.628 INFO EDCORE: F6E17581 0016ED70 0000:00000000D:\games\DCS_World\bin\lua.dll luaD_growstack()+A91

00253.629 INFO EDCORE: F6E1688F 0016EEF0 0000:00000000 D:\games\DCS_World\bin\lua.dlllua_getinfo()+11CF

00253.629 INFO EDCORE: F6E1789E 0016EF30 0000:00000000D:\games\DCS_World\bin\lua.dll lua_yield()+9E

00253.630 INFO EDCORE: F6E12450 0016EF80 0000:00000000D:\games\DCS_World\bin\lua.dll lua_pcall()+60

00253.631 INFO EDCORE: F0539B76 0016EFB0 0000:00000000D:\games\DCS_World\bin\Scripting.dll?regLuaStaticObject@Scripting@@YAXPEAUlua_State@@@Z()+B66

00253.632 INFO EDCORE: F5706D33 0016F030 0000:00000000D:\games\DCS_World\bin\World.dll

00253.632 INFO EDCORE: F5707205 0016F080 0000:00000000D:\games\DCS_World\bin\World.dll

00253.633 INFO EDCORE: 402306F6 0016F0F0 0000:00000000D:\games\DCS_World\bin\DCS.exe

00253.633 INFO EDCORE: 4023A0EE 0016F150 0000:00000000D:\games\DCS_World\bin\DCS.exe

00253.634 INFO EDCORE: 3FEE2E4D 0016F180 0000:00000000D:\games\DCS_World\bin\DCS.exe

00253.635 INFO EDCORE: 3FEE46B9 0016F850 0000:00000000D:\games\DCS_World\bin\DCS.exe

00253.637 INFO EDCORE: 403708DF 0016F890 0000:00000000D:\games\DCS_World\bin\DCS.exe

00253.641 INFO EDCORE: 774959CD 0016F8C0 0000:00000000C:\Windows\system32\kernel32.dll BaseThreadInitThunk()+D

00253.642 INFO EDCORE: 776CA561 0016F910 0000:00000000C:\Windows\SYSTEM32\ntdll.dll RtlUserThreadStart()+21

00253.765 INFO EDCORE: Minidump created.

00253.765 INFO EDCORE: try to write track file

Link to comment
Share on other sites

Yes. Backward compatibility is important. Were don't want to change hundreds of missions running the old GCICAP script, do we?

 

Just note that DCS 1.5.7 introduced heavy stutters and performance problems.

Not sure if using the new AI_A2A_GCICAP of moose will be of help.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

There are some new updates to the AI_A2A_GCICAP module:

 

https://forums.eagle.ru/showpost.php?p=3194953&postcount=534

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Possibly a moot point after the recent MOOSE release (congrats FC by the way!) but I am getting reports of missions using the GCICAP script that worked under 1.5.6 crashing under 1.5.7. I'm away for the next couple of days but wanted to post a log snippet here in case someone else gets a similar issue and it helps highlight a possible bug in the 1.5.7 build. Of course it may be the mission setup too but just haven't time to look at it until my Sunday afternoon at the earliest.

Usually with the crashes, the first line of the minidump is the only clue you get without the debug tools that are private and in this case its scripting.dll and that's unhelpful in code this long :)

00253.622 INFO EDCORE: F05219E4 0016E660 0000:00000000D:\games\DCS_World\bin\Scripting.dll? regLuaAtmosphere@Scripting@@YAXPEAUlua_State@@@Z() +1964

___________________________________________________________________________

SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *

Link to comment
Share on other sites

Has anyone looked into why the previous GCICAP version quit working?

 

I've been screwing around with Moose for over a month with zero results.

 

Sierra

[sIGPIC][/sIGPIC]

Primary Computer

ASUS Z390-P, i7-9700K CPU @ 5.0Ghz, 32GB Patriot Viper Steel DDR4 @ 3200Mhz, ZOTAC GeForce 1070 Ti AMP Extreme, Samsung 970 EVO M.2 NVMe drives (1Tb & 500 Gb), Windows 10 Professional, Thrustmaster Warthog HOTAS, Thrustmaster Warthog Stick, Thrustmaster Cougar Throttle, Cougar MFDs x3, Saitek Combat Rudder Pedals and TrackIR 5.

 

-={TAC}=-DCS Server

Gigabyte GA-Z68XP-UD3, i7-3770K CPU @ 3.90GHz, 32GB G.SKILL Ripjaws DDR3 @ 1600Mhz, ZOTAC GeForce® GTX 970.

Link to comment
Share on other sites

Pretty much it looks like a scripting engine change broke mist.dynAdd which is what lukrop changed to use to spawn the groups of aircraft. I did post something over in the Mist thread but Grimes hasn't responded to it so far.

 

OK..

 

Thanks Stonehouse.

  • Like 1

[sIGPIC][/sIGPIC]

Primary Computer

ASUS Z390-P, i7-9700K CPU @ 5.0Ghz, 32GB Patriot Viper Steel DDR4 @ 3200Mhz, ZOTAC GeForce 1070 Ti AMP Extreme, Samsung 970 EVO M.2 NVMe drives (1Tb & 500 Gb), Windows 10 Professional, Thrustmaster Warthog HOTAS, Thrustmaster Warthog Stick, Thrustmaster Cougar Throttle, Cougar MFDs x3, Saitek Combat Rudder Pedals and TrackIR 5.

 

-={TAC}=-DCS Server

Gigabyte GA-Z68XP-UD3, i7-3770K CPU @ 3.90GHz, 32GB G.SKILL Ripjaws DDR3 @ 1600Mhz, ZOTAC GeForce® GTX 970.

Link to comment
Share on other sites

OK..

 

Thanks Stonehouse.

 

See this post

https://forums.eagle.ru/showpost.php?p=3199170&postcount=1310

 

This lists why CGICAP stops working , the problem lays with a call the game engine itself that causes DCS to crash, the call is made from MIST

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

Hi all,

 

See the following post for an explanation on a new GCICAP module:

 

https://forums.eagle.ru/showpost.php?p=3202968&postcount=1

 

The post contains demonstration missions for Caucasus, NTTR and Normandy.

 

kind regards,

Sven

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

  • 4 weeks later...

I've noticed that the GCICAP script, last re-written by Lukrop, is now working in 2.1 except for the fact that after a few hours it seems to be hanging my server up.

 

This is very frustrating because it works just like it always did until the hang ups start happening. Any insights would be appreciated.

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

  • Recently Browsing   0 members

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