Jump to content

Creating custom CAT selection, taxi routes, spawn & parking locations.


norman99

Recommended Posts

I thought I'd make a new thread to carry on from the discussion at the end of this thread.

 

As mentioned previously, I spent most of the day playing around with the USS_Nimitz_RunwaysAndRoutes.lua file, and produced the flowing test example.

 

19 aircraft launches using cats 2,3 & 4 only. 16 Custom spawn positions, all with custom taxi paths so as to not interfere with each other and the many static aircraft present.

 

So far I've only tested with the F/A-18. Tomcat will take some extra work as it has some crash issues. Also, there's nothing stopping all the remaining static objects everywhere except the bow to be changed to spawn points. You could literally create a 30-35 aircraft launch sequence.

 

 

I also managed to create a recovery test scenario. In the video below, I have 20 hornets recovering, and parking firstly on the bow, then between the forward elevators, and finally on the "street". This was made as a proof of concept, rather than as a polished, finished product, so some taxi routes and parking positions could be tweaked to work a little better. Also one of my "street" parking positions is skipped, hence the last aircraft disappears on landing. Again, I haven't tested the Tomcat yet either.

 

 

Now, in a perfect world, it would be possible to create a number of different USS_Nimitz_RunwaysAndRoutes.lua files, for use with with different scenarios (launching on CAT 1 vs CAT 2 etc..), and the appropriate file called as needed with a trigger. Combined with something like the MOOSE AirBoss script and RedKite's dynamic static aircraft & objects, a truly dynamic carrier deck is possible, that would represent cyclic ops better than anything thus far.

 

Unfortunately it seems this particular file is only read once on starting DCS, so at this time any changes made apply to the entire session.

 

Regardless, it's nice to have some development in this area, even if it is rather cumbersome & time consuming.

  • Like 13
  • Thanks 4
Link to comment
Share on other sites

I've been digging around in the various Lua files that appear to control the carrier configurations, including the taxi routes at issue. Here's an overview of what I found that I think relates to aircraft movements - not the general ship unit/weapons/sensors stuff - perhaps this might help shed some light on the what's happening behind the scenes. From the searching I've done, there doesn't seem to be any public documentation for these config files. I'm posting this not to reverse engineer DCS, but with the aim to improve it for my own and others' enjoyment.

  • Supercarrier main config file: [DCS World OpenBeta]\CoreMods\tech\USS_Nimitz\scripts\USS_Nimitz_RunwaysAndRoutes.lua
    • The comments in the first 3 lines suggest this file is for the USS Stennis, which is obviously at odds with the filename.
    • GT.RunWays section for the landing strip (lines 7-11), and each of the 4 catapults (lines 12-20), with xyz coordinates for (I think) their launch points, as well as their respective azimuths (relative to the ship centerline, I think). I think we can safely ignore the azimuth/length/width/glide path numbers.
    • GT.TaxiRoutes section for, quote: "taxi routes and parking spots in LCS" (line 23). There are 16 parking spots defined, with 4-6 point paths to each. I think this is for aircraft being recovered. As we know, they all park on the starboard side, which agrees with what's in this file. There are 4 additional parking spots & paths in this file for the 6-pack area, but they are commented out (lines 157-188).
    • GT.TaxiForTORoutes section, which I think is for aircraft being launched. There are 16 spawn spots defined, with 5 -9 point paths to each catapult. The cat used for each spot, as mentioned, is set with the RunwayIdx = [1-4] line that precedes each array containing the path. This means that an aircraft spawning at a given point will always go to the same cat.

    • GT.HelicopterSpawnTerminal section with 8 spots. I suggest we get into the naval rotary-wing stuff later.

I believe there are a couple more files for the stock carrier, despite their names. Or, they're deprecated - I have no idea, because I've never used the stock carrier. Or, I'm completely wrong about what these two files do.

  • Main config file: [DCS World OpenBeta]\Scripts\Database\navy\blue\nimitz.lua
    • GT.ArrestingGears section for the 4 wires, with xyz coordinates for the left and right side of each (lines 47-65)
    • Line 4 calls the next file
  • Runways & routes file: [DCS OB]\Scripts\Database\navy\blue\nimitzRunwaysAndRoutes.lua
    • GT.RunWays section for the landing strip (lines 7-11), and each of the 4 catapults (lines 12-18), with xyz coordinates for (I think) their launch points, as well as their respective azimuths (relative to the ship centerline, I think). I think we can safely ignore the azimuth/length/width numbers.
    • GT.TaxiRoutes section (for, quote: "taxi routes and parking spots in LCS" (line 21). There are 13 parking spots defined, with 2-4 point paths for each.
    • GT.HelicopterSpawnTerminal section with 5 spots.

Also note that for the xyz coordinate systems referenced above, y is always 20.1494 in USS_Nimitz_RunwaysAndRoutes.lua, which means it's the deck height (as far as these routes are concerned). I think we can safely ignore  the y axis.

  • z axis is port/starboard distance from the center (of the model?):   - port < 0 < starboard +
  • x axis is aft/forward:   - aft < 0 < forward +

Lastly, I note that @astazou also posted some detail about this in Jan 2020:

I'm more than happy to get corrections to the above material - fire at will! I hope this stuff is helpful, and I'm going to continue playing around with it myself over the next couple of days.

  • Like 2
  • Thanks 2

ThinkPad X1 Carbon G6 | i7-8550U 1.8-4 GHz | 16GB LPDDR3-2133 MHz RAM | 512GB PCIe SSD | Win10 x64

Aorus RTX 2070 Gaming Box | 8GB GDDR6-14000MHz | 3x Dell U2412M for 5760x1200

CH Fighterstick, Pro Throttle, Pro Pedals

Link to comment
Share on other sites

For those of you who would like to look into changing spawn/recovery parking positions and taxi routes, the following will help.

 

1. Open Model Viewer 2

2. Select Carrier Plugin UI

3. Load carrier from DCS World\CoreMods\tech\USS_Nimitz\Shapes folder. Choose any one of the LOD_0 models.

4. Load routes from DCS World\CoreMods\tech\USS_Nimitz\scripts\USS_Nimitz_RunwaysAndRoutes.lua

5. Select opt down view.

6. Select camera mode to ortho.

 

The taxi route and spawn locations are now visible, and coordinates shown at the cursor position. This helps when entering modified figures in the LUA file. The aircraft menu in the carrier plugin can also be opened, and sliders used to viable move aircraft through their taxi route. Only departure works in this fashion however.

 

Lastly, as mentioned above, the format seems to be (x, y, z, speed). Speed is just figure, 1 being slowest, 5 fast etc. I'm not sure the max speed. Also, a negative speed value will reverse the aircraft on that specific leg. The initial spawn heading and final parking heading is derived from the direction of the first and last taxi rout respectively.

 

The biggest benefit i see from this is removing recovering aircraft parking positions from rear of the island, so as not to foul the deck of landing aircraft. Secondly, ensuring spawned aircraft forward of the island only use the bow cats, and rear of the island the waist cats. This means statics such as E2s and helos can be placed in their correct positions around the island, and they won't interfere with AI movements.

 

Hope that helps.

Screenshot 2021-03-06 23.20.25.png


Edited by norman99
  • Like 4
  • Thanks 2
Link to comment
Share on other sites

Outstanding efforts.  I've been dabbling into this too, managed to add the deck crew to the standard carrier (my SC on the Syria map just kills the frames...).  There was enough coordinate / mapping mismatch I couldn't make sense of the underlying systems.  Like turning on the lights. Thanks!

Screen_210306_145051.png

  • Like 1
Link to comment
Share on other sites

2 hours ago, norman99 said:

For those of you would like to look into changing spawn/recovery parking positions and taxi routes, the following will help.

 

1. Open Model Viewer 2

 

This just put a whole lot of sunlight into the black box. I have heard about model viewer but I think I've only opened it once before. I certainly didn't know you could load routes like into it like this. Big DCS knowledge gain for me - thank you for sharing it!

 

Reminds me of something I heard in school: when you get a bachelor's degree, you think you know everything. When you get a master's degree, you realize you don't know anything. When you get a doctorate, you understand that nobody knows anything.

  • Like 2

ThinkPad X1 Carbon G6 | i7-8550U 1.8-4 GHz | 16GB LPDDR3-2133 MHz RAM | 512GB PCIe SSD | Win10 x64

Aorus RTX 2070 Gaming Box | 8GB GDDR6-14000MHz | 3x Dell U2412M for 5760x1200

CH Fighterstick, Pro Throttle, Pro Pedals

Link to comment
Share on other sites

I'm making some progress, with 8 aircraft spawning and parking on cat 2, which is out of service in this mission/demo scenario. I'm finding the USS_Nimitz_RunwaysAndRoutes.lua file to be extremely touchy in terms of crashing DCS at mission load. Certainly any kind of Lua syntax error will do that (this can be checked in model viewer or with an online lua validator like https://rextester.com/l/lua_online_compiler), which is totally understandable.

 

The config file seems to be very sensitive to the order of the spawn/takeoff spots so far. It seems like it's best to leave the first 4 6-pack slots at the top of the list and add new spots after the original 16 spots, but I'm not certain yet. I can get the original 16 + 8 on cat 2 (as shown here), but when I un-comment the next 6 spots I created on the fantail, I get crashes again - despite validating the Lua using the tool above as well as visually within the model viewer. When I get it running consistently smoothly, I'd be happy to share.

 

Once I figured out how to quickly get x/z coordinates from model viewer, it was relatively easy to put the first 10 recovering aircraft onto the bow similar to the video example from @norman99 above.

 

BTW, that model viewer is a great way to see the effects of x/z coordinate changes in the config file without having to start a new session of DCS each time - it really helped make rapid iterations. I'm still working on keeping the Tomcats behind the foul lines and not randomly exploding, and also trying to understand the limitations of the supercarrier's parking engine and/or my knowledge of how to manipulate it.

 

Screenshot 2021-03-10 003240.jpg

Screenshot 2021-03-10 003343.jpg

Screenshot 2021-03-10 003412.jpg

Screenshot 2021-03-10 003502.jpg

AirBoss.jpg


Edited by Cacetudo
  • Thanks 3

ThinkPad X1 Carbon G6 | i7-8550U 1.8-4 GHz | 16GB LPDDR3-2133 MHz RAM | 512GB PCIe SSD | Win10 x64

Aorus RTX 2070 Gaming Box | 8GB GDDR6-14000MHz | 3x Dell U2412M for 5760x1200

CH Fighterstick, Pro Throttle, Pro Pedals

Link to comment
Share on other sites

I´m eager to try new ramp start positions. I want since day one of Supercarrier module to start from the Bow parking and was a bummer when find out it was not possible. I have my templates with full deck and i use statics in the bow parking. Now i see a light at the end of the tunnel. Thank you for your work and effort and i hope you can sort all out and share the file with us.

 

Best regards,

F.

 - "Don't be John Wayne in the Break if you´re going to be Jerry Lewis on the Ball".

About carrier ops: "The younger pilots are still quite capable of holding their heads forward against the forces. The older ones have been doing this too long and know better; sore necks make for poor sleep.'

 

PC: I7 4790K 4.6ghz | 32GB RAM | Zotac GTX 1080Ti 11Gb DDR5x | Water cooler NZXT AIO Kraken x53 | 3.5TB (x4 SSD´s) | Valve Index| Andre´s JeatSeat.

Link to comment
Share on other sites

I don't use a full Lua development tool (yet) but that may be the way I go eventually. For now I'm using Visual Studio Code as a (free) smart text editor that makes working with Lua files much easier visually. It also has an extension that validates Lua (any errors are highlighted in red), but this doesn't seem to catch everything. As I mentioned, one missing curly bracket or misplaced comma will blow up the entire file - fair, since it isn't valid Lua - so I found the online compiler a good next step before I get a LDT like https://www.eclipse.org/ldt/.


I also think there's something more complex going on in terms of parking spot order, etc. I don't think we've seen any documentation on this file yet. I think we could do a lot with that. I too would really like to have the ability to reload this file on the fly vs. once per DCS session (or mission, I'm not sure). Having said that, here's the latest version of my USS_Nimitz_RunwaysAndRoutes.lua file. I'm testing it in the Persian Gulf with MOOSE traffic (1x rescue helo, 1x recovery tanker, 1x AWACS, and enough random air traffic to fill all the spawn spots + extras). I would recommend loading it into model viewer before trying it with DCS so you can see the paths.

 

Three caveats:

  1. Use of this file is at your own risk - please make sure you back up the original file so you can revert to it!
  2. Having read some of the post-crash log files, I strongly suspect that any mods to this file will break the multiplayer integrity check.
  3. This version of the file (usually) doesn't crash DCS at mission launch/reload.

I hope this helps someone else, I'd appreciate suggestions for improvement, and I look forward to seeing what else we can come up with.

USS_Nimitz_RunwaysAndRoutes.v05.lua

  • Thanks 1

ThinkPad X1 Carbon G6 | i7-8550U 1.8-4 GHz | 16GB LPDDR3-2133 MHz RAM | 512GB PCIe SSD | Win10 x64

Aorus RTX 2070 Gaming Box | 8GB GDDR6-14000MHz | 3x Dell U2412M for 5760x1200

CH Fighterstick, Pro Throttle, Pro Pedals

Link to comment
Share on other sites

As I've said in my previous posts, my examples haven't included testing with different aircraft, only the hornet. Because of this, I'll hold off sharing my files untill I can complete this, otherwise you may just end up with a deck full of smoking tomcats haha.

 

Also, what we really need to take this to the next level, is the ability to dynamic change or reload the USS_Nimitz_RunwaysAndRoutes.lua whilst within a mission. That way you could set up your spawn/CAT/parking positions depending on your current needs. Hopefully someone much smarter than I am can figure that one out.


Edited by norman99
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, norman99 said:

As I've said in my previous posts, my examples haven't included testing with different aircraft, only the hornet. Because of this, I'll hold of sharing my files untill I can complete this, otherwise you my just end up with a deck full of smoking tomcats haha.

 

Also, what we really need to take this to the next level, is the ability to dynamic change or reload the USS_Nimitz_RunwaysAndRoutes.lua whilst within a mission. That way you could set up your spawn/CAT/parking positions depending on your current needs. Hopefully someone much smarter than I am can figure that one out.

 

 

Totally agree with both points. The Tomcats cause more on-deck collisions than the Hawkeyes do, which seems strange.

 

And as far as dynamic deck changes go, I'm envisioning something analogous to MOOSE, where there's a deck management script running continuously that tracks the count/location/state of all aircraft on-deck and can suitably deal with the aircraft and the deck routes. For example, when aircraft land and park on the bow, they will automatically despawn after 30 minutes. A script like this could catch this despawn event and spawn the same type of static in the exact same place on the deck. And when that aircraft needs to launch again, the spawn unit trigger results in the static aircraft disappearing. Or, when a helo lands at the forward end of the runway it should be despawned automatically, x minutes after its engines stop, and respawned as a static in front of the island. This same script could also force reloads of the routes Lua file as needed/when triggered. That kind of thing.


Edited by Cacetudo
  • Like 1
  • Thanks 1

ThinkPad X1 Carbon G6 | i7-8550U 1.8-4 GHz | 16GB LPDDR3-2133 MHz RAM | 512GB PCIe SSD | Win10 x64

Aorus RTX 2070 Gaming Box | 8GB GDDR6-14000MHz | 3x Dell U2412M for 5760x1200

CH Fighterstick, Pro Throttle, Pro Pedals

Link to comment
Share on other sites

  • 3 weeks later...
On 3/11/2021 at 1:56 AM, norman99 said:

As I've said in my previous posts, my examples haven't included testing with different aircraft, only the hornet. Because of this, I'll hold off sharing my files untill I can complete this, otherwise you may just end up with a deck full of smoking tomcats haha.

 

Also, what we really need to take this to the next level, is the ability to dynamic change or reload the USS_Nimitz_RunwaysAndRoutes.lua whilst within a mission. That way you could set up your spawn/CAT/parking positions depending on your current needs. Hopefully someone much smarter than I am can figure that one out.

 


ED could help with one task. At the moment, if a parking spot is blocked - no one can spawn there. I think that every spot should have paths to all CATS (with one primary cat), and if the primary cat is blocked by either heavy load of traffic or static objects, the ai should taxi to the secondary cat (and so on).

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

This shouldn't be that hard ... 🙄

 

I wanted to create a simple mission where my jet spawned back on elevator 4 with all 4 cats currently occupied and an active deck with AI jets taxiing to the different cats.  I was really looking for some immersion when taking off from the carrier instead of just me, the deck crew, and my jet.  😃

 

ACTUAL CARRIER TOPOLOGY.png

 

Welp, it appears I can't spawn the player jet anywhere but the sixpack.  And always in the same spot just behind the Cat1 JBD.  I was al least able to spawn AI jets on all 4 cats, and another 4 AI jets (2 on EL2 and 2 onEL4).  All other efforts to spawn jets elsewhere on deck failed.  Right now, this is "good enough" for me.

 

BTW - this page has some good information for those wanting more - https://wiki.hoggitworld.com/view/DCS_editor_carrier_spawns

 

I don't have time/energy to continue digging into this.  Maybe this will be addressed before SC comes out of EA.  Even if it doesn't I suspect the more persistent community members will address.

 

 

System Specs:

Spoiler

 💻Processor:13th Gen Intel(R) Core(TM) i9-13900K - 🧠RAM: 64GB - 🎥Video Card: NVIDIA RTX 4090 - 🥽 Display: Pimax 8kx VR Headset - 🕹️Accessories:  VKB Gunfighter III MCG Ultimate, Thrustmaster TWCS (modified), Thrustmaster TPR Pedals, Simshaker JetPad, Predator HOTAS Mounts, 3D Printed Flight Button Box 

Thrustmaster TWCS Mod

 

Link to comment
Share on other sites

19 hours ago, Mistermann said:

This shouldn't be that hard ... 🙄

 

I wanted to create a simple mission where my jet spawned back on elevator 4 with all 4 cats currently occupied and an active deck with AI jets taxiing to the different cats.  I was really looking for some immersion when taking off from the carrier instead of just me, the deck crew, and my jet.  😃

 

ACTUAL CARRIER TOPOLOGY.png

 

Welp, it appears I can't spawn the player jet anywhere but the sixpack.  And always in the same spot just behind the Cat1 JBD.  I was al least able to spawn AI jets on all 4 cats, and another 4 AI jets (2 on EL2 and 2 onEL4).  All other efforts to spawn jets elsewhere on deck failed.  Right now, this is "good enough" for me.

 

BTW - this page has some good information for those wanting more - https://wiki.hoggitworld.com/view/DCS_editor_carrier_spawns

 

I don't have time/energy to continue digging into this.  Maybe this will be addressed before SC comes out of EA.  Even if it doesn't I suspect the more persistent community members will address.

 

 


This paragraph from the Hoggit Wiki describes you problem exactly.

 

“On the Stennis and Nimitz SC objects there are 4 spawn points that are available only at mission start. These 4 are in the "six-pack" part of the ship. When there is a PLAYER skilled aircraft set in the editor the player will ALWAYS spawn in the first position. Anything that spawns at least one second after mission start will spawn in the next available spawnpoint.”

 

The simple solution is to delay the start of your specific flight by at least 1 second using the late activation flag. This will move your spawn point from the six pact to the next available spawn position. Combined with this, use the spawn position diagram in the SC manual to determine how many aircraft need to spawn at mission start prior your aircraft, in order to place your aircraft in the desired location.


Edited by norman99
  • Like 3
  • Thanks 1
Link to comment
Share on other sites

Thanks @norman99.  I tried that before posting above.  No dice.  Now maybe I am doing something wrong in the ME... anything is possible. 

 

I go back to my initial comment - "this shouldn't be that hard..."

 

So ... I went back and looked at my mission file again.  Thanks Norman99, your response got me thinking.  ID-Ten-T issue with my triggers.  Works fine now.  Here's something strange, however.  My player plane (not late activated) actually spawns back on EL4!  I know the Wiki talks about players spawning on the SixPack, but in my case, I'm back on EL4 (which I prefer).  Maybe something changed in the SC logic since that was posted to the Wiki (or I am misunderstanding the content).  

 

image.png

 

Happy to post the mission if anyone's interested.


Edited by Mistermann
  • Like 2

System Specs:

Spoiler

 💻Processor:13th Gen Intel(R) Core(TM) i9-13900K - 🧠RAM: 64GB - 🎥Video Card: NVIDIA RTX 4090 - 🥽 Display: Pimax 8kx VR Headset - 🕹️Accessories:  VKB Gunfighter III MCG Ultimate, Thrustmaster TWCS (modified), Thrustmaster TPR Pedals, Simshaker JetPad, Predator HOTAS Mounts, 3D Printed Flight Button Box 

Thrustmaster TWCS Mod

 

Link to comment
Share on other sites

1 hour ago, Mistermann said:

Thanks @norman99.  I tried that before posting above.  No dice.  Now maybe I am doing something wrong in the ME... anything is possible. 

 

I go back to my initial comment - "this shouldn't be that hard..."

 

So ... I went back and looked at my mission file again.  Thanks Norman99, your response got be thinking.  ID-Ten-T issue with my triggers.  Works fine now.  Here's something strange, however.  My player plane (not late activated) actually spawns back on EL4!  I know the Wiki talks about players spawning on the SixPack, but in my case, I'm back on EL4 (which I prefer).  Maybe something changed in the SC logic since that was posted to the Wiki.  

 

Happy to post the mission if anyone's interested.

 

My workaround sometimes is to block the SixPack with statics with collision model (used to place static F-18A, less taxing in CPU, but now with 2.7 update they don´t have collision model and can´t use them anymore) for example static F-18C, so, my aircraft will be positioned in another parking slot like the Elevators. Don´t know if will help but it gives you an idea. It´s lot of trial/error with the AI for taxing to the CATs available  (i have CAT 2 blocked).

Screen_210421_192739.png

Screen_210421_192651.png

  • Like 3

 - "Don't be John Wayne in the Break if you´re going to be Jerry Lewis on the Ball".

About carrier ops: "The younger pilots are still quite capable of holding their heads forward against the forces. The older ones have been doing this too long and know better; sore necks make for poor sleep.'

 

PC: I7 4790K 4.6ghz | 32GB RAM | Zotac GTX 1080Ti 11Gb DDR5x | Water cooler NZXT AIO Kraken x53 | 3.5TB (x4 SSD´s) | Valve Index| Andre´s JeatSeat.

Link to comment
Share on other sites

On 4/21/2021 at 5:41 PM, norman99 said:

The simple solution is to delay the start of your specific flight by at least 1 second using the late activation flag. This will move your spawn point from the six pact to the next available spawn position.

Thanks for that very useful hint! The whole six-pack is skipped in this case. I now spawn on elevator 2 which I very much prefer in my single player missions.

I had to look up on YouTube how to late activate but it's definitely doable.

Greetings, Nils :joystick:

--

i7 4790k, RTX 2060, 16 GB RAM

Link to comment
Share on other sites

  • 1 month later...

HI, Using the Melbourn MOD, it does have 6 spwan (Taxit to TO routs) in the FIle but on line only 2 players can occupy ans the rest get the Delayed Flight message. CAn you guys tell me how to fix that?

 

Link to comment
Share on other sites

  • 2 months later...
8 hours ago, sLYFa said:

Well there are only four catapults so you cant spawn more than that unless you late-activate the other flights. 

Hi,

 

I tried with the Tarawa (RAZBAM), the USS America LHA-6 (Admiral189) or the L02 Canberra (desdemicabina-simulation).


Despite the addition of a fifth runway in the GT.RunWays section of the XXX_RunwaysAndRoutes.lua file, there is no way to have a fifth takeoff position in the "departure aligned on the runway" configuration.)

L02RunwaysAndRoutes.jpg

 

Piste L62.jpg

 

The fifth aircraft is superimposed on one of the 4 that appear (it is operational but it is only visible after the departure of the one that is on the same spot).

 

AV8B-double.jpg

 


There is something that must be missing...

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

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