Jump to content

Community effort: Taxi paths for PWCG Normandy


Recommended Posts

Posted (edited)

Our group loves to do cold starts with PWCG coops, and I guess we are not alone with that. Adds so much to immersion.

However the taxi paths are not set up for the Normandy maps, and it is a lot of work to do that for every airfield on the map.

Pat has stated that he would be willing to write an import routine for the taxi path data, if we could provide them.

In order to not clutter his other PWCG thread I therefore took the liberty to create this thread for discussion and organization of the task.

 

The basic idea: Get a mission file containing the fakefield entities as PWCG is placing them, edit or add taxi paths, save, copy the "Chart" section from the mission file and post it somehow here.

I can post a mission file with only the airfields to work with, some basic help about how to do it, and try to find a way to get contributions organized here, but before starting, I would like to ask Pat and/or Murleen for some initial help and opinion, and maybe some hints to what would we important to keep in mind for editing the charts.

 

My first questions would be:

 

Is there a rule where player planes spawn, so I can place the initial parking point in front of the leader, as I believe this is necessary?

 

Hoping for a fruitful discussion and cooperation!
 

 

Editing this to have the instructions and the list of airfields and processors here at the beginning:

 

Please find in the attached zip the mission NormandyEarlyTaxipaths, which contains all fakefields as placed by PWCG, as well as the objects found in the close surrounding.

To do the taxi paths, please do the following:

 

  1. Send me a PM with a list of airfields you want to do, I will than edit the list of fields below and add who is doing what to avoid double work. Wait for confirmation to be sure we can avoid double assignments!
     
  2. Open the mission in the Mission editor, load the mission.
    Don't worry about mission integrity check failures when loading this into the mission editor, those are no problem.
     
  3. Find the fakefield icon of the field you want to work on. The yellow line pointing away from the airfield icon indicates the direction of takeoff.
     
  4. Place the TestPlanes group nearby, put the planes on a spawn point close to the start of the runway: Leader closest, the others lined up from the leader away from the start point, noses pointing to the taxiway.
     
  5. Right-click the field and open the properties dialog
     
  6. Click the "Edit chart" button
     
  7. Edit the taxi path. Hints from Murleen:
     

    Both the takeoff and landing paths are used, for takeoff and landing respectively (the path used to get reversed based on wind direction, but I think that has been disabled now)

     

    The lead plane will spawn at the airfield spawn point, facing toward the first taxi point, with the other planes lined up to the right, so make sure there's a decent amount of space next to there. Generally I have the first taxi point be directly ahead of the spawn point, then a 90 degree turn onto the taxiway. The PWCG taxi path code assumes that the despawn point is the same as the spawn point, so the taxi path needs to make a loop.

    The "Park" point is where the leader will be placed, with the other planes in a line 90 degrees to the direction of the line between "Park" and the first taxi point - so the "Park" point shouldn't be on the taxi circuit itself, but off to the side, with the first taxi point actually being on the taxiway

  8. Save the mission in YourGameFolder/data/Missions or a subfolder thereof, maybe adding your nick to the name.
     
  9. Start the game load, the mission, go to autopilot and perhaps some external view, accelerate time, and see if they manage to take off.
     
  10. If you have python, run Murleen's script (posted by him above) for checks. It takes a while with this mission! Have a look at the output in the beginning, there may appear warnings.
     
  11. When you are done or tired, send me the mission file with the taxi paths you have done, I will then merge all together and send the results to Pat.

 

Here an example of a working taxi path:
 

image.thumb.png.16b84343cbc26ea27d40682333b270f5.png

 

Close-up:

image.png.56839d47cd1701b912af16268c1450f1.png

 

List of airfields and processors: As said above, if you want to do some fields, send me a PM with the names, and I'll put in your name here so we avoid duplication of work.

 

  1. A-1 Saint Pierre du Mont                               Nocke 
  2. A-10 Carentan                                                Nocke 
  3. A-11 Saint Lambert                                        Nocke 
  4. A-12 Lignerolles                                             Nocke 
  5. A-13 Tour en Bessin                                      Nocke
  6. A-14 Cretteville                                             Nocke
  7. A-16 Brucheville                                            Nocke
  8. A-17 Meautis                                                  Nocke
  9. A-19 La Vielle                                                 Nocke
  10. A-2 Criqueville                                               Nocke
  11. A-28 Pontorson
  12. A-3 Cardonville
  13. A-4 Deux Jumeaux
  14. A-5 Chippelle
  15. A-6 Beuzeville
  16. A-7 Azeville
  17. A-8 Picauville
  18. Abbeville Drucat
  19. Apuldram
  20. Ashford
  21. B-10 Plumetot
  22. B-11 Longues
  23. B-12 Ellon
  24. B-17 Carpiquet
  25. B-18 Cristot
  26. B-19 Lingevres
  27. B-2 Bazenville
  28. B-4 Beny sur Mer
  29. B-5 Camilly
  30. B-6 Coulombs
  31. B-7 Martragny
  32. B-9 Lantheuil
  33. B3 Saint Croix sur Mer
  34. Beaulieu
  35. Beaumont le Roger
  36. Beauvais Tille
  37. Berck sur Mer
  38. Bisterne
  39. Blackbushe
  40. Bognor
  41. Boulogne Alprech
  42. Brenzett
  43. Calais Coquelles
  44. Chailey
  45. Chaumont en Vexin
  46. Chilbolton
  47. Clais Marck
  48. Coolham
  49. Cormeilles en Vexin
  50. Crecy en Ponthieu
  51. Deanland
  52. Dieppe Saint Aubin
  53. Dreux
  54. Dunkerque Mardyck
  55. Dunsfold
  56. Evreux Fauville
  57. Evreux Huest
  58. Ford
  59. Friston
  60. Funtington
  61. Guyancourt
  62. Hawkinge
  63. Headcorn
  64. High Halden
  65. Highcliffe
  66. Holmsley South
  67. Horne
  68. Huen
  69. Ibsley
  70. Kingsnortrh
  71. Lasham
  72. Lashenden
  73. Les Mesnuls
  74. Lonrai
  75. Lymington
  76. Lympne
  77. Manston
  78. Maupertus
  79. Needs Oar Point
  80. Newchurch
  81. Nogent le Roi
  82. Octeville sur Mer
  83. Oysonville
  84. Poix Nord
  85. Saint Andre de lEure
  86. Saint Omer
  87. Selsey
  88. Sours
  89. Staplehurst
  90. Tangmere
  91. Thorney Island
  92. Thruxton
  93. Triqueville
  94. Velizy Villacoublay
  95. Westhampnett
  96. Winkton
  97. Woodchurch

NormandyTaxiPaths.zip

Edited by 216th_Nocke
Copied instructions and work list here to have it at the beginning
  • Like 1
PatrickAWlson
Posted

Below is an example of a PWCG airfield in Bodenplatte. 

The data needed is:

- parking location

- taxi to start locations

- taxi to end location.

- runway start location

- runway start orientation

- runway end  location ... I can generally derive that.

 

PWCG already has runway start and end defined but your sample mission might produce a different one.  I would overwrite the configured PWCG runway start with your information.

 

Do one runway on one airfield. 

Let the AI be the flight lead.  We want the AI to be able to handle it.

The aircraft should start close to the start of the taxiway.  Use at least 4 aircraft.  6 is better as a stress test.

PWCG's algorithm will place the planes line abreast based on orientation.

Test it in the game to make sure that the taxi really works.

 

The defined taxi paths will be used to generate taxi information.

The lead aircraft location will be used to define parking location.

The orientation of the lead aircraft will be used to define parked orientation .

 

That is what I can think of.  @Murleen am I missing anything?

 

PWCG airfield in Bodenplatte:
  "locations": [
    {
      "name": "Aachen",
      "position": {
        "xPos": 139029.0,
        "yPos": 189.717,
        "zPos": 213739.0
      },
      "orientation": {
        "xOri": 0.0,
        "yOri": 58.41,
        "zOri": 0.0
      },
      "runways": [
        {
          "parkingLocation": {
            "position": {
              "xPos": 139615.22712193633,
              "yPos": 189.717,
              "zPos": 214231.5690888436
            },
            "orientation": {
              "xOri": 0.0,
              "yOri": 163.14146976997958,
              "zOri": 0.0
            }
          },
          "startPos": {
            "xPos": 139124.39208133554,
            "yPos": 189.717,
            "zPos": 213821.38384753987
          },
          "taxiToStart": [
            {
              "xPos": 139586.60927616103,
              "yPos": 189.717,
              "zPos": 214240.2412350128
            },
            {
              "xPos": 139262.05962830037,
              "yPos": 189.717,
              "zPos": 213745.72054852586
            },
            {
              "xPos": 139141.3714893861,
              "yPos": 189.717,
              "zPos": 213714.28067965838
            },
            {
              "xPos": 139076.26265667824,
              "yPos": 189.717,
              "zPos": 213736.83176806718
            }
          ],
          "endPos": {
            "xPos": 139522.87201484427,
            "yPos": 189.717,
            "zPos": 214520.5485852426
          },
          "taxiFromEnd": [
            {
              "xPos": 139590.07994456493,
              "yPos": 189.717,
              "zPos": 214628.75003541613
            },
            {
              "xPos": 139636.7027861007,
              "yPos": 189.717,
              "zPos": 214567.46610166406
            },
            {
              "xPos": 139643.62836016508,
              "yPos": 189.717,
              "zPos": 214449.01963853036
            },
            {
              "xPos": 139586.17611095475,
              "yPos": 189.717,
              "zPos": 214239.80793615052
            }
          ]
        }
      ]
    },

  • Like 1
Posted

I've attached the python script I use for importing the taxi path data - basically map the taxi paths in the game mission editor and then use this script to convert into the PWCG format. It has a few checks for things which have seemed to cause problems in the past, but even if you follow all the rules I've figured out, still the game occasionally will just not taxi AI planes.

missionparse.zip

  • Like 1
  • Thanks 3
Posted (edited)

Some RL nuisance kicked in - but by the weekend I'll post a mission template to work with, some explanations on what to do, and a list to manage who is doing which fields.

Pat, Murleen: Is it safe to assume the flight leader will spawn in the parking closest to the runway start, the nose pointing to the taxiway, and the others aligned from him away from there?

And is it correct that you do not use the landing part of the taxi path?

Edited by 216th_Nocke
  • Like 1
  • Thanks 1
Posted

Both the takeoff and landing paths are used, for takeoff and landing respectively (the path used to get reversed based on wind direction, but I think that has been disabled now)

 

The lead plane will spawn at the airfield spawn point, facing toward the first taxi point, with the other planes lined up to the right, so make sure there's a decent amount of space next to there. Generally I have the first taxi point be directly ahead of the spawn point, then a 90 degree turn onto the taxiway. The PWCG taxi path code assumes that the despawn point is the same as the spawn point, so the taxi path needs to make a loop.

Posted

Thx!

So, as usual, it seems all is more involved than I thought and will take a little longer :)

I am now in the process of trying to create a mission, where all airfields are populated by PWCG, but everything else is deleted so one can still load and work on it using an earthly computer. This seems to be important to me so one can avoid to have the planes spawn in bad places, like in front of some AAA, building, other plane, whatever.

 

Murleen, just to be sure: What you call the airfield spawn point, is the first point of the taxi path? Or do I have to search for spawn MCUs or something alike?

  • Like 1
Posted

The "Park" point is where the leader will be placed, with the other planes in a line 90 degrees to the direction of the line between "Park" and the first taxi point - so the "Park" point shouldn't be on the taxi circuit itself, but off to the side, with the first taxi point actually being on the taxiway

  • Thanks 1
Posted

Thx, that is really what was missing!

I'll go with that.

Posted
15 hours ago, 216th_Nocke said:

I get e.g. the warning "Brenzett point 12 closer to end of runway than next point" for the situation shown in the image, but would assume this one as not really important, since I also do not know how to fix that (again, Pat or Murleen?)

 

This warning comes up if any of the taxi points are closer to the runway start point than they are to the next taxi point. If this happens, the planes in game will ignore the rest of the taxi path and just head directly for the runway. To fix this you generally need to add another taxi point between the one it's complaining about and the next, so that the point is now nearer to the next point.

 

This is just one of the many undocumented gotchas about the taxi path system which can catch you out...

Posted
22 hours ago, 216th_Nocke said:

 

Bummer .... I just realized posts can not be edited after some time, so I'll have to repost the list whenever someone joins.
Or find a better idea ....

Hmm, as the OP you should be able to edit at least the first post as many times as you want.

 

With regards to the task at hand I'll make a trial before applying for larger set of airfield modifications.

Posted (edited)

Murleen - "end angle too large" from your python script - how do I fix that?

 

Nvm ... it appears that the point before the takeoff point, the takeoff point, the landing point, and the point after the landing point have to be on one straight line.

Edited by 216th_Nocke
Posted
3 hours ago, 216th_Nocke said:

Nvm ... it appears that the point before the takeoff point, the takeoff point, the landing point, and the point after the landing point have to be on one straight line.

 

Yes, that's right - I've found that otherwise (particularly for bombers), the last plane or two in a formation take ages getting round the last corner on the taxi path and lining up on the runway.

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
×
×
  • Create New...