Jump to content

Dynamic Campaign Engine


MBot

Recommended Posts

Well it's really strange because I always had at least 30 FPS with my poor configuration on Caucasus and with just one update it's now only 1 FPS :(

My main interest with DCE was the feeling of being a small part of a big war with several flights going to the frontline and others coming back, a really impressive defense line we have to destroy missions after missions and sometimes to many enemy fighters to go trought having to wait better opportunities to reach the target.:(

[/url]All known Dynamic Campaign Engine Campaigns

Last DCE news : Crisis in PG - Blue version

Link to comment
Share on other sites

Well it's really strange because I always had at least 30 FPS with my poor configuration on Caucasus and with just one update it's now only 1 FPS :(

My main interest with DCE was the feeling of being a small part of a big war with several flights going to the frontline and others coming back, a really impressive defense line we have to destroy missions after missions and sometimes to many enemy fighters to go trought having to wait better opportunities to reach the target.:(

 

It is definitely something to do with the update. I had playable frame rates on the Caucasus DCE campaigns last week.

Link to comment
Share on other sites

So I have a "fix", at least it works well for me:

 

https://drive.google.com/file/d/1dmnHwpOiigELU53XVSgzPpfkHdp1C8Tn/view?usp=sharing

 

This is the "pruning" script that I was talking about, put this file (DC_Prune.lua) in the "Scripts" folder inside the campaign (e.g. for me that's in C:\Games\DCS World OpenBeta 2.5\Mods\aircraft\FA-18C\Missions\EN\Campaigns\FA18 over Caucasus-Multirole\Scripts).

 

IMPORTANT:

- then open MAIN_NextMission.lua and search for the line

dofile("Scripts/DC_StaticAircraft.lua")

 

- and add this line underneath that:

dofile("Scripts/DC_Prune.lua")

 

NOTE: You'll need to generate a new mission for it to take effect (either skip, or run the "FirstMission" BAT file)

 

 

 

The pruning script tries to reduce a mission by removing units that aren't likely to take part. In particular:

 

- It looks for ground units that are far away from any mission waypoint and so aren't very likely to be involved in the mission. Note that it also considers AI flights, so it won't prune units that an AI flight is planned to attack or fly near. It also understands different unit types (long/medium/short range RADAR, IR Anti-Air and AAA) and prunes different types more or less aggressively, so those long range SAMS and EWRs will almost never be pruned. You can tune the overall aggressiveness of this pruning at the top of the DC_Prune.lua. The units are removed from the mission but *NOT* the campaign, so as new missions are generated different units will or will not be pruned.

 

- It has an option to remove all static (parked and inactive) aircraft, this reduces immersion a little but *greatly* improves framerate. You can turn this on or off at the top of the DC_Prune.lua.

 

For me this brings back playable framerates, and I don't notice the removed units at all. It still has that feeling of a full dynamic battleground.


Edited by Tomsk
Link to comment
Share on other sites

So I have a "fix", at least it works well for me:

 

https://drive.google.com/open?id=1dmnHwpOiigELU53XVSgzPpfkHdp1C8Tn

 

This is the "pruning" script that I was talking about, put this file (DC_Prune.lua) in the "Scripts" folder inside the campaign (e.g. for me that's in C:\Games\DCS World OpenBeta 2.5\Mods\aircraft\FA-18C\Missions\EN\Campaigns\FA18 over Caucasus-Multirole\Scripts).

 

IMPORTANT:

- then open MAIN_NextMission.lua and search for the line

 

 

- and add this line underneath that:

 

 

NOTE: You'll need to generate a new mission for it to take effect (either skip, or run the "FirstMission" BAT file)

 

 

 

The pruning script tries to reduce a mission by removing units that aren't likely to take part. In particular:

 

- It looks for ground units that are far away from any mission waypoint and so aren't very likely to be involved in the mission. Note that it also considers AI flights, so it won't prune units that an AI flight is planned to attack or fly near. It also understands different unit types (long/medium/short range RADAR, IR Anti-Air and AAA) and prunes different types more or less aggressively, so those long range SAMS and EWRs will almost never be pruned. You can tune the overall aggressiveness of this pruning at the top of the DC_Prune.lua. The units are removed from the mission but *NOT* the campaign, so as new missions are generated different units will or will not be pruned.

 

- It has an option to remove all static (parked and inactive) aircraft, this reduces immersion a little but *greatly* improves framerate. You can turn this on or off at the top of the DC_Prune.lua.

 

For me this brings back playable framerates, and I don't notice the removed units at all. It still has that feeling of a full dynamic battleground.

 

Just a heads up, your script isn't public so I cant give it a shot to test it.

Link to comment
Share on other sites

Oh epic fail ... I'll make it public :)

https://drive.google.com/file/d/1dmnHwpOiigELU53XVSgzPpfkHdp1C8Tn/view?usp=sharing

 

And yes if you find it useful feel free to use it or share it.

 

We should really get the MBot code in github or something, so that people can contribute to it and improve it.

 

The script definitely helps! Except the fact that I explode on start every time due to someone spawning on top of me. I have a feeling that may be part of the issue as things appear to be spawning in the same locations.

Link to comment
Share on other sites

Same on my campaign, fps improves but you are exploding on mission start. There is an other plane spawning inside your plane and I have the feeling that the plane is spawning in the ground. Maybe we have to wait for an "official" fix or something. :)

Link to comment
Share on other sites

Same on my campaign, fps improves but you are exploding on mission start. There is an other plane spawning inside your plane and I have the feeling that the plane is spawning in the ground. Maybe we have to wait for an "official" fix or something. :)

 

Yeah that's a pretty standard problem with that campaign ... I did managed to hack it not to do it, but mostly by just trial and error.

Link to comment
Share on other sites

Yeah .. really I guess the proper solution to that is to properly assign vehicles to slots. I think I remember MBot saying somewhere that he didn't do this because it would require getting positions for every parking spot for every airbase ... which is obviously quite a lot of work.

 

EDIT: Ah yeah found the quote:

 

The missions are generated with no (nil) parking slot being assigned in the .miz file. When DCS opens the mission, it will automatically assign parking slots to all aircraft and this gets written back to the .miz file if the mission is saved again. Assigning parking slots myself would require a database with the number of every parking position at every airbase in DCS, as well as some smart logic to assign them. Aside from being easier to implement, the automatic method also has the advantage that it will dynamically adjust placement to active runway. So if the wind is from the west, aircraft will be parked at the eastern end of the airbase, close to the active runway (not in Nellis though, as its active runway does never change). The approach also has some disadvantages though, first and foremost the bug that every 10 or so missions DCS assigns multiple aircraft the same parking slot at Nellis. The automatic system also spreads members of a flight all over the place instead of putting them next to each other and somehow loves to put the player at some extra remote position.

 

Looks like that "every 10 missions or so" has now become "more or less every single time". I'll look how hard it would be to implement a proper parking spot assignment system. With luck it only needs a database of parking spot numbers rather than parking spot positions, the numbers are much less effort to get.


Edited by Tomsk
Link to comment
Share on other sites

Is the scenery destruction working for you guys on the Persian Gulf map? It's not working for me for some reason :(

Intel i7-12700K @ 8x5GHz+4x3.8GHz + 32 GB DDR5 RAM + Nvidia Geforce RTX 2080 (8 GB VRAM) + M.2 SSD + Windows 10 64Bit

 

DCS Panavia Tornado (IDS) really needs to be a thing!

 

Tornado3 small.jpg

Link to comment
Share on other sites

Yeah .. really I guess the proper solution to that is to properly assign vehicles to slots. I think I remember MBot saying somewhere that he didn't do this because it would require getting positions for every parking spot for every airbase ... which is obviously quite a lot of work.

 

EDIT: Ah yeah found the quote:

 

 

 

Looks like that "every 10 missions or so" has now become "more or less every single time". I'll look how hard it would be to implement a proper parking spot assignment system. With luck it only needs a database of parking spot numbers rather than parking spot positions, the numbers are much less effort to get.

 

 

I don't want to say don't spend much time looking, as it seems it would be beneficial to add to the DCE to prevent this issues in the future; but I do have personal missions that are no longer working (Cold Starts on Stennis w/ 4-8 aircraft, both on Caucus and PG) due to spawning/parking issues (usually my aircraft doesn't spawn in, and DCS crashes when you go to exit the mission).

 

 

Hopefully it's addressed sim side.

Link to comment
Share on other sites

Do you think it's possible to make a bug report about this problem ? It's not only a DCE problem so why not ?

 

That's a good idea, should be easy to provide a repeatable test case: after all just take one of the MBot generated missions.

 

That said ... I'm not expecting it to get fixed all that quickly. It only affects certain missions, in certain cases, and there is a workaround (edit the mission and place the player plane manually). Classic "low priority" bug.

 

I should get some time on Saturday to have a good look at this. I think placing the units in assigned slots would have other benefits, squadrons could end up together which is pretty useful for coop play.

Link to comment
Share on other sites

For someone who is really motivated to play those campaigns in Caucasus I found a way to do it normally or with Tomsk's "pruning" script but it's not really useful :

-use the FirstMission.bat to generate a new campaign

-then open the mission itself in the mission editor

-using the unit list select each aircraft on the map (sometime you will have to rename the weapon load) one time

-you just have to select each plane one time then select another one.

-I personally selected static planes too to be sure but if you have time you can try with or without.

-save the mission

The mission should then work like before. Each plane will be in an individual place in airbases :thumbup:

 

 

As I said it's not really useful but better than nothing :music_whistling:

[/url]All known Dynamic Campaign Engine Campaigns

Last DCE news : Crisis in PG - Blue version

Link to comment
Share on other sites

The less effort way that I used was to just move the player plane into a known slot, but ignore all the others. Seems it doesn't matter if the AI clips with each other ... doesn't cause any explosions or anything. I sometimes had to have more than one go to find a slot that never got filled, for Kutaisi I seem to remember Slot #15 worked well for me, and was usually near the active runway.


Edited by Tomsk
Link to comment
Share on other sites

The less effort way that I used was to just move the player plane into a known slot, but ignore all the others. Seems it doesn't matter if the AI clips with each other ... doesn't cause any explosions or anything. I sometimes had to have more than one go to find a slot that never got filled, for Kutaisi I seem to remember Slot #15 worked well for me, and was usually near the active runway.

 

So based on this it appears that the placement of the players aircraft is what is causing issues?

 

2 questions then:

1) Does the API provide a way to get a list of occupied spots at an airfield?

2) Can you delay creating the player until after all other flights have been created?

 

I can envision a solution where all flights have an unassigned parking spot except the player, who is initialized based on where the other flights are placed. Just a thought, may not even be possible.

Link to comment
Share on other sites

I tried giving each a/c a parking spot and the FPS went from 1 or 2 to 5 or 6. Also I noticed the it was taking about five seconds for the in mission clock to advance one second. After assigning spots, the clock would advance randomly 2 or 3 seconds at a time. It took about 2 and a half minutes to advance 30 seconds.

Link to comment
Share on other sites

It's strange because I confirm that I have to select each flying AND static plane of the mission to be able then to play normally (40-45 FPS for my low end system).

I didn't give any precise parking for each aircraft : I only open the Unit List tool on the left side of the mission editor and I click once on each aircraft of the list (flying AND Static) and then saving the mission before launching the campaign ... normally :)

I tryed to select only player plane then only flying planes but it didn't work (still 1 FPS) It only worked when I selected all the mission planes !

[/url]All known Dynamic Campaign Engine Campaigns

Last DCE news : Crisis in PG - Blue version

Link to comment
Share on other sites

  • Recently Browsing   0 members

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