Jump to content

Project Dynamism - Persistence and Dynamic Content for DCS World - Official Thread


Project Dynamism

Recommended Posts

Hello all,

 

I would like to introduce "Project Dynamism", a persistence and dynamic content creation framework for DCS World.

 

My aim is to provide a dynamic and persisting environment that allows for better immersion and a feeling of progression in DCS World campaigns and replayed single missions.

This is achieved by recreating previously inflicted battle damage to scenery, static objects and AI units at mission start. At mission end all additional damage is recorded automatically.

 

Project Dynamism is developed with focus on user-friendliness and feature-richness at minimal impact:

  • integrated into DCS World as module with own campaign and mission section
  • automatic check and renewal of the integration, e.g. after DCS update
  • controllable via F10 radio menu
  • minimum effort for mission creators to use (via naming convention, no triggers)
  • ease to port existing missions and campaigns to use the persistence features
  • minimal installation and integration overhead
  • comes as Windows installer, one-click uninstallation, stable and reliable

 

Typical use cases are:

  • Create a single mission that is replayed until attrition of the enemy.
  • Create a series of training missions that accumulate the damage and destruction at the shooting ground.
  • Create a campaign that simulates weakening of the enemie's shield of SAM sites and final breakthrough to the valuable target.
  • Create a campaign that accurately tracks attrition of air, ground and sea forces be they friendly or foe.
  • Create a campaign with resource restrictions by persisting the destruction of warehouses, fuel storages and parked airplanes.
  • Create a campaign that simulates the effect of destroyed infrastructure like bridges, FARPs and supply points.

 

Inspired by DCS Witchcraft and the Dynamic Campaign Engine this project tries to push the boundaries even further. The long-term target is to develop "Project Dynamism" into a full dynamic campaign environment. Running independently from DCS as a browser app it automatically creates missions for the user into which content is spawned dynamically. In view of the RTS dynamic campaign under development by Eagle Dynamics this project instead will focus on turn-based elements (e.g. alternating planning and execution stages) and casual gamers with limited time to play.

 

Currently this is a single-person project running next to a full-time job and small familiy. It started in summer 2019. So keep your expectations at bay. This is also the reason why I am planning to ask for funding via donations or for advanced features. The base version will remain for free.

 

The money will be used to fund additional DCS maps and DCS modules if needed for development, pay local students who can spend more time in coding, and keeping the server running. In the end DCS and its community shall benefit due to the reinvestment of the money into DCS products as well as supporting related open-source projects.

 

 

Enougth talking and dreaming,

I would like to invite YOU to join the community of "Project Dynamism". Please give constructive feedback about its current state, bugs and problems found as well as the future plans mentioned above.

Download link, installation instructions and how-to-use can be found in the post below as well as on the project's website.

 

Happy flying!


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

Download and Instructions

 

Project Website

  • Overview and Goals
  • News and Features
  • Download and Donation
  • Comprehensive Instructions with Screenshots

 

 

 

Direct Download

  • For the impatient

 

 

 

Get Started

  • The one-click installer sets up everything in seconds.
  • Proper integration is monitored and renewed after an update automatically.
  • Download compatible missions from a curated library, select them in DCS World and get ready for takeoff instantly.
  • Control the persistence from within the mission.

getstarted.html

 

 

 

Create and Share Content

  • Easily convert regular missions and campaigns to use full power of damage persistence.
  • No scripting required.
  • Be invited to share your creations with others.

getcreative.html

 

 

 

Feature Promo

  • Persistence of unit and scenery destruction for missions and campaigns.
  • Single- and multiplayer supported.
  • Curated library of compatible missions and campaigns.
  • Grouping of scenery into factory complexes and bridge compounds (currently Caucasus only).
  • Battle Damage Assessment of scenery destructions (soon more to be shown)


Edited by Project Dynamism
Link to comment
Share on other sites

Looks cool, following!

 

Sent from my Pixel 4 XL using Tapatalk

[sIGPIC][/sIGPIC]

i5 8600K OC @ 5.0GHz w/ Corsair H100i Liquid Cooler| MSI GTX 1080 OC Edition | 32GB DDR4 3600 | EVO 960 NVMe SSD | WD Black NVMe SSD

Win10 X64 | TrackIR 5 | HTC Vive | Thrustmaster Warthog HOTAS and Cougar MFDs | Saitek Combat Pedals

Link to comment
Share on other sites

Hi Dzsekeb,

 

Sorry, there is no offline mode or means to host everything yourself locally.

"Project Dynamism" really needs to telephone out.

 

I opted for server based technology to

- require minimal setup and resources on gaming rig

- be more independent of DCS and LUA

- support a range of DCS versions and react to scripting framework changes by serving adapted LUA scripts

- provide dynamic content e.g. news/changelog, new missions and campaigns

- centrally host an already pretty huge geo-database containing map objects data (airbases, factories, bridges, comms towers, etc. for Caucasus) used to assess damages

- and most important auto-create mission files and control assets during mission runtime (in future)

 

In summary to be future proof to develop this into a dynamic campaign framework that is configured via web interface and interacts with DCS at runtime.

Link to comment
Share on other sites

The code is not public to protect the server API, but hosted on GitLab as private projects.

 

Volunteer C# and Angular developers are welcome to collaborate.

We will define what could be a good entry point and how to share the work and credit.

Link to comment
Share on other sites

Hi kraszus,

 

Please PM or e-mail (project.dynamism@outlook.com) me the old username and e-mail combination you used.

 

I will then delete your old account so you can sign up fresh.

Alternatively I can also reset the password if you wish to not lose your data / progress.


Edited by Project Dynamism
Link to comment
Share on other sites

Hi kraszus,

 

Please PM or e-mail (project.dynamism@outlook.com) me the old username and e-mail combination you used.

 

I will then delete your old account so you can sign up fresh.

Alternatively I can also reset the password if you wish to not lose your data / progress.

 

Sorted now...thanks

Link to comment
Share on other sites

Hi ESAc_matador,

 

There shoud be no problem. Project Dynamism does not impose a naming convention of units nor will it change them.

 

Destroyed units however will be removed [ Obj.destroy() ] on mission start and be replaced by a wreck static unit spanwed at the correct position and heading. The destroyed proxies do not have the original unit name but get some kind of sequential id like '90001' (standard behaviour of MIST).

 

Hope it works! Let me know about your success integrating it with CTLD.

Link to comment
Share on other sites

Some questions regarding multiplayer PvP:

 

1. For multiplayer PvP servers Would this work with persistence of captured airbases?

 

2. Let's say that you don't want the persistence of destroyed bridges, but want the persistence of everything else. Would this be modifiable?

 

3. How is the environment destruction handled? will there be 1000 bombs going off at server restart to "redestroy" the environment?

 

4. Can you restrict in-game settings F10 commands to specific slots, like Game Master?


Edited by MobiSev

Modules owned:

 

FC3, M-2000C, Mig-21bis, F-5E, AJS-37 Viggen, F/A-18C, KA-50, Mi-8, F-14A&B, JF-17

Link to comment
Share on other sites

Hi MobiSev,

 

Thanks for the feedback. Let me try to answer your questions.

 

1. Persistence of Airbases

Currently persistence of captured airbases is not implemented. It is just about whether a base is blue/red/neutral? You know whether this could be achieved via LUA script? Workaround could be to spawn a unit.

 

Aim for the future is to persist the airbase warehouse levels and (runway) damage. This however will require to create a miz file, currently Project Dynamism modifies it at mission runtime.

 

2. Selective Persistence

Not implemented yet but could be made available. Is it only about bridges or about units/statics vs. scenery? The latter would be easier to implement. For bridges and some unique scenery object types (factories, comms towers) I should have the means already to check which object type they are and hence could filter.

 

For a generic solution I would need to export all map objects and classify them. Unfortunately MIST does not report the type of destroyed scenery objects. Will investigate this a bit.

 

Via the mission accompanying LUA file one yould then configure which damages are persisted / recreated. Is that what you are asking for?

 

3. Scenery Destruction

DCS has no "scenery to rubble" function available in the LUA as well as no zones can be created dynamically via LUA to apply a "scenery destruction in zone" trigger. Therefore, yes you are right, everything needs to be exploded at mission start (or a miz file would need to be created).

 

4. Game Master Restriction

I am a single player guy so you will need to help me. What different roles are there in multi player? Regular player, game master, any other? And how to distinguish between them? If this could be done via LUA from within the running mission then it would be easy to implement.

 

How is this done for other multiplayer "management" scripts? Do they check if command comes from a pre-configured user name, or is issued with a password via chat message?

Link to comment
Share on other sites

Hi MobiSev,

 

Thanks for the feedback. Let me try to answer your questions.

 

1. Persistence of Airbases

Currently persistence of captured airbases is not implemented. It is just about whether a base is blue/red/neutral? You know whether this could be achieved via LUA script? Workaround could be to spawn a unit.

 

Aim for the future is to persist the airbase warehouse levels and (runway) damage. This however will require to create a miz file, currently Project Dynamism modifies it at mission runtime.

 

2. Selective Persistence

Not implemented yet but could be made available. Is it only about bridges or about units/statics vs. scenery? The latter would be easier to implement. For bridges and some unique scenery object types (factories, comms towers) I should have the means already to check which object type they are and hence could filter.

 

For a generic solution I would need to export all map objects and classify them. Unfortunately MIST does not report the type of destroyed scenery objects. Will investigate this a bit.

 

Via the mission accompanying LUA file one yould then configure which damages are persisted / recreated. Is that what you are asking for?

 

3. Scenery Destruction

DCS has no "scenery to rubble" function available in the LUA as well as no zones can be created dynamically via LUA to apply a "scenery destruction in zone" trigger. Therefore, yes you are right, everything needs to be exploded at mission start (or a miz file would need to be created).

 

4. Game Master Restriction

I am a single player guy so you will need to help me. What different roles are there in multi player? Regular player, game master, any other? And how to distinguish between them? If this could be done via LUA from within the running mission then it would be easy to implement.

 

How is this done for other multiplayer "management" scripts? Do they check if command comes from a pre-configured user name, or is issued with a password via chat message?

 

 

Thanks for the quick responses!

 

1. After I posted this, I realized that, units are saved over server restarts using your content, correct? If so, then base capture persistence would already work, since a team that captures a base using CTLD spawns will obviously have units on the base. Your content would then spawn the units that were saved over the restart, giving base ownership to the team that captured it.

 

2. I would need to look into this more, but it was more if you could turn off the scenery destruction in general. However, I saw on your website (after I posted my comment lol) that the in game setting "Destruction Report [ON/OFF]" could do this.

 

3. If we turn off #2 on our server, then I guess this would not be a problem anymore?

 

4. Multiplayer Roles: (a specific role is distinguished on the slot selection screen)

 

Regular player - flies planes helicopters like normal

 

JTAC operator - player view is the F10 map, can only control ground units manually

 

Tactical Commander - player view is the F10 map, can both control ground units manually as well as issue waypoints

 

Game Master- player view is the F10 map, can do the same as tactical commander, but can see everything on the map (tac commander and jtac can only see the units on their own team if fog of war is enabled). They can also ignore view restrictions (ex: if F2 view is disabled, the game master can still do it). It's basically the admin role on the server

**We generally restrict access to the JTAC operator, tactical commander, and game master roles via a slotblocker script

 

Capture.thumb.PNG.330740d6299dda5a447e88325a1a66b1.PNG

 

As you could probably see it might be problematic if regular players/tac commanders/jtac had the ability to reset battle damage lol (one team destroys a key bridge and the other team's tac commander resets battle damage, etc.)


Edited by MobiSev

Modules owned:

 

FC3, M-2000C, Mig-21bis, F-5E, AJS-37 Viggen, F/A-18C, KA-50, Mi-8, F-14A&B, JF-17

Link to comment
Share on other sites

Hi MobiSev,

 

Regarding point 1: destructions to units, statics and scenery are saved and recreated at next mission start. This does not include an updated position of alive units (wrecks are placed at the destruction site though).

From your comments I think you are referring to a complete state save, including the last position of units. To port this to a following mission requires to create a miz file (there is no teleport command at mission runtime). This is not implemented yet.

 

Point 2: "Destruction Report [ON/OFF]" refers to all destructions be it units, statics or scenery. It is not selective. If you simply want to exclude scenery then I think this could be implemented quite easily. Will investigate...

Link to comment
Share on other sites

Hi zionid,

 

In theory Project Dynamism will be only needed on the host (dedicated server) and all saves and recreations of battle damages should happen automatically.

 

I tested running both a dedicated server and regular DCS on my machine (localhost). Connecting to the server hosted mission I could then use the F10 menu and everything worked as expected.

 

Note that essentially it is not needed to use the F10 menu as for regular use all should happen automatically.

Link to comment
Share on other sites

@MobiSev, hi all

 

Investigated the last days the topic of scenery destruction and made some adjustments. From now on only scenery that has a "destroyed" model will be exploded. Scenery without will just disappear.

 

This limits the number of explosions at mission start quite a bit, as e.g. light poles and fences do not explode anymore... it also counters excessive destruction or self-accelerating destruction chains that sometimes develop.

 

You still need the F10 option to switch off scenery destruction persistence?

 

I would implement this and release a new improved version soon.

Link to comment
Share on other sites

Anyone tried this with the new Syria map or The Channel, Normany, Nevada?

 

No complaints so far so I assume I correctly guessed the identifier of the map in DCS and everything is working as expected?

 

Thanks for trying,

Happy flying!

Link to comment
Share on other sites

  • 4 months later...
  • 10 months later...

@Project Dynamism

Hi guys.

I think your take on dynamic mission management and campaign management is pretty awesome. I would like to know if you are still devleoping/supporting it further or did you move on to other projects? The questions seems a bit, well, dumb, but I really would like something like this for MP-use since it will "up" the immersion by a lot which is the one thing some missions are just lacking. Of course, time to fiddle with things is scarce, so I would not want to spend it on something that is not going forward anymore.

But first off, great stuff 🙂

I hope you continue the developement.

Cheers,

PeeJott.

Link to comment
Share on other sites

  • 3 months later...

Getting some error saying it can't find my data folder. "DCS mod integration failed. Please chose correct data folder". I've directed it to the data folder. Steam PC version. Does this not work with Steam version?


Edited by gryper
Link to comment
Share on other sites

  • 6 months later...
  • Recently Browsing   0 members

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