Jump to content

[TESTERS WANTED] Project Dynamism - persistence and dynamic content framework


Project Dynamism

Recommended Posts

Alright gentlemen,

 

I uploaded a new executable to the DCS User Files that passes most malware scans on VirusTotal.

Notable exception is Malwarebytes (local installation) with https://blog.malwarebytes.com/detections/machinelearning-anomalous-100/

 

No new functionality, just less code obfuscation to make it easier to be analysed by the scanners.

 

 

@HiCKS-BB15

Windows Defender is now happy wiht it again (and hopefully stays!)

 

@Zortex

VirusTotal now shows 4 positives (mainly small vendors).

Malwarebytes (local installation) is already unhappy with the raw executable. Can't do much but report as false positive to them.


Edited by Project Dynamism
Link to comment
Share on other sites

@Bogey Jammer, ikaruga & Spearzone,

Looks like this goes the same direction as https://forums.eagle.ru/showthread.php?p=4181083

 

Was thinking of a small monthly fee (e.g. 1 EUR) to try to collect money to outsource development to someone that can dedicate time. Problem is that fix PayPal fees would almost half this anyway.

 

Collection via donations and free base features with paid advanced stuff (a la TacView) could also be an option. Just much less predictable from a resource planning perspective.

Link to comment
Share on other sites

If it's just 1 euro a month, I could consider it ...

Don't take my word for it, though. It depends on the content, regular updates, my own free time to play...

 

What about Patreon ? It could fit your business model ...

 

Also, take care of the legal issues, I'm not sure how ED would react to this...

Link to comment
Share on other sites

Well, if the purpose of the monthly fee is for the full dynamism engine development, I understand, but the initial semi-dynamic capabilities are awesome already from a single player view like mine. On top of that it seems very enjoyable already despite being developped in *just* 6 months…

But I fear the real cost would be more than 1€ honestly.

I'll buy :

МиГ-23МЛД & МЛА МиГ-27К МиГ-25 Mirage III F-4E any IJ plane 1950' Korea Dynamic campaign module

Link to comment
Share on other sites

Hi all,

 

Just discovered a better trigger for calling dynamism.OnMissionStart() which now recreates the seamless behaviour as was present with DCS World 2.5.5 and ON MISSION START trigger (which got broken with DCS World 2.5.6)

So forget about trigger ONCE at On No Event, with condition Time Less (1)

 

Instead use trigger type MISSION START with no condition and add action DO SCRIPT with dynamism.OnMissionStart('<campaign_id>',<mission_number>,'<mission_type>')

This loads Project Dynamism and the battle damage before unpausing the mission. No more stutter a second into it!

 

 

Another thing to mention: I was wrong in my earlier statement. Of course it is possible and actually needed to call dynamism.SetReserves() multiple times.

See updated post 19 for details (https://forums.eagle.ru/showpost.php?p=4240631&postcount=19)

Link to comment
Share on other sites

Alright gentlemen,

 

I uploaded a new executable to the DCS User Files that passes most malware scans on VirusTotal.

Notable exception is Malwarebytes (local installation) with https://blog.malwarebytes.com/detections/machinelearning-anomalous-100/

 

No new functionality, just less code obfuscation to make it easier to be analysed by the scanners.

 

 

@HiCKS-BB15

Windows Defender is now happy wiht it again (and hopefully stays!)

 

 

Thanks for your rapid explanation and support. I will check tomorrow, and report soon as possible :)

Link to comment
Share on other sites

Can't launch. Get error message below after set up:

 

---------------------------

Project Dynamism v0.8 - Exception Report before Application Close

---------------------------

The application needs to close. An unhandled exception occurred. Please help us improve by reporting the error.

Use [Ctrl] + [C] to copy the following message:

 

[VERSION]

Project Dynamism v0.8

 

[CAUSE]

Exception has been thrown by the target of an invocation. (System.Reflection.TargetInvocationException)

Failed to listen on prefix 'http://localhost:9000/' because it conflicts with an existing registration on the machine. (System.Net.HttpListenerException)

 

[TRACE]

at System.Net.HttpListener.AddAllPrefixes()

 

at System.Net.HttpListener.Start()

 

at Microsoft.Owin.Host.HttpListener.OwinHttpListener.Start(HttpListener listener, Func`2 appFunc, IList`1 addresses, IDictionary`2 capabilities, Func`2 loggerFactory)

 

at Microsoft.Owin.Host.HttpListener.OwinServerFactory.Create(Func`2 app, IDictionary`2 properties)

---------------------------

OK

---------------------------

Link to comment
Share on other sites

When can we expect more missions? Can users contribute missions to be reviewed and possible added?

 

And I will execute vengeance in anger and fury upon the heathen, such as they have not heard.

                                                                                                                 Micah 5:15

Link to comment
Share on other sites

Hi Claw,

 

The error means that there is another process on your machine that is already using HTTP port 9000. Project Dynamism transmits data on http://localhost:9000/ to and from DCS World.

 

Easiest solution would be that you tried to start a second instance of Dynamism.DCS.Connector.exe while the first one was still active. If minimized it is hiding in the system tray (small symbols in the Windows status bar lower right part). You can restore it by left-clicking on the tray icon. The application is closed via the X in the window.

 

If there is indeed another program (not Dynamism.DCS.Connector.exe) occupying that port, then you can change the port in the settings of Dynamism.DCS.Connector.exe. Unfortunately it is not yet exposed via the GUI (working on this right now for update v0.9).

 

Please modify the port in XML file Dynamism.DCS.Connector.exe.config sitting right next to the application executable (port is taken from there for reintegration after DCS World update).

 

Also please modify the port in <DCS World installation folder>\Scripts\MissionScripting.lua to the same number as in the settings file above (port is taken from there).

 

 

 

 

Can't launch. Get error message below after set up:

 

---------------------------

Project Dynamism v0.8 - Exception Report before Application Close

---------------------------

The application needs to close. An unhandled exception occurred. Please help us improve by reporting the error.

Use [Ctrl] + [C] to copy the following message:

 

[VERSION]

Project Dynamism v0.8

 

[CAUSE]

Exception has been thrown by the target of an invocation. (System.Reflection.TargetInvocationException)

Failed to listen on prefix 'http://localhost:9000/' because it conflicts with an existing registration on the machine. (System.Net.HttpListenerException)

 

[TRACE]

at System.Net.HttpListener.AddAllPrefixes()

 

at System.Net.HttpListener.Start()

 

at Microsoft.Owin.Host.HttpListener.OwinHttpListener.Start(HttpListener listener, Func`2 appFunc, IList`1 addresses, IDictionary`2 capabilities, Func`2 loggerFactory)

 

at Microsoft.Owin.Host.HttpListener.OwinServerFactory.Create(Func`2 app, IDictionary`2 properties)

---------------------------

OK

---------------------------

Link to comment
Share on other sites

Hi HiCKS-BB15,

 

Currently when minimizing the program via [-] it goes to system tray as an icon. When closing the program via [X] it completely quits. There should be no tray icon.

 

You saying on the program close via [X] there should be a popup, asking whether user wants to actually quit or only minimize to tray?

 

 

 

 

 

So, after a test :

No more problems with Windows Defender and Malwarebytes.

 

 

Is it possible to have this options when we want to close the program : Quit or Go to tray icon ?

 

 

Thanks.

Link to comment
Share on other sites

Hello rwbishUP,

 

I am currently working on an update v0.9 that simplifies Project Dynamism integration into a mission. Essentially requiring only a naming convention to follow.

Also there will be differentiation for campaigns, single and multiplayer missions.

 

Once this is out I would love users to contribute missions to fill up the library!

Basically the mission is uploaded as ZIP to the DCS user files section and I will need some description, a picture and list of needed modules for the integration into the database.

 

Currently I am adapting my Su-33 campaign to DCS 2.5.6 and will make that available with v0.9

 

 

 

 

When can we expect more missions? Can users contribute missions to be reviewed and possible added?
Link to comment
Share on other sites

Hi HiCKS-BB15,

 

Currently when minimizing the program via [-] it goes to system tray as an icon. When closing the program via [X] it completely quits. There should be no tray icon.

 

 

That's ok, i didn't notice.

 

You saying on the program close via [X] there should be a popup, asking whether user wants to actually quit or only minimize to tray?

 

 

Why not, and is it possible to allow an option "start with windows" (it should be a good option for a server) ?

 

 

 

 

 

There is a difference in numbering between the downloaded version (0.8) and the one displayed in DCS (1.0.0). Is it normal ?

 

 

I will try missions now.

 

 

 

Thanks for your quick reply, and the job.

Link to comment
Share on other sites

Would it be possible to save the position on moving ground vehicles from one mission to another ?

 

Let's say there is a column of enemy tanks moving from one point to another, and they move 50 km during the first mission, would it be possible to make them spawn 50km further at the next mission ?

 

Thanks in advance.

Link to comment
Share on other sites

Hello rwbishUP,

 

I am currently working on an update v0.9 that simplifies Project Dynamism integration into a mission. Essentially requiring only a naming convention to follow.

Also there will be differentiation for campaigns, single and multiplayer missions.

 

Once this is out I would love users to contribute missions to fill up the library!

Basically the mission is uploaded as ZIP to the DCS user files section and I will need some description, a picture and list of needed modules for the integration into the database.

 

Currently I am adapting my Su-33 campaign to DCS 2.5.6 and will make that available with v0.9

nice, thank you

 

And I will execute vengeance in anger and fury upon the heathen, such as they have not heard.

                                                                                                                 Micah 5:15

Link to comment
Share on other sites

Hi ikaruga,

 

Yes that will be possible (in the future :) ). Complication are waypoints and the assigned actions. The script must be smart enough to determine the general travel direction to avoid the unit travelling back to WP 1 that it had potentially passed already.

 

Currently Project Dynamism is not changing the mission file but makes destroyed units/objects disappear and spawns a destructed clone at the place of destruction/impact/crash.

 

For your suggestion I would rather opt for moving the waypoint coordinates and deleting already passed waypoints. To my knowledge this will require mission file edits before game start.

 

 

 

 

Would it be possible to save the position on moving ground vehicles from one mission to another ?

 

Let's say there is a column of enemy tanks moving from one point to another, and they move 50 km during the first mission, would it be possible to make them spawn 50km further at the next mission ?

 

Thanks in advance.

Link to comment
Share on other sites

Two questions :

 

 

1. Does Project Dynamism only take into account the destruction of AI units or also client aircraft ? So for example if you make a campaign starting with 4 slots of client aircraft but lose one in the mission , will you only have 3 slots available in the next mission ?

 

 

2. Do all units that will be used in later missions in a campaign have to be defined already in the first mission (at least as reserves) ?

For example you want to have an AWACS available in Mission 3 but not in 1 and 2 .... do you have to put the units in mission 1 already in order to have it available in Mission 3 then ?


Edited by Spearzone
Link to comment
Share on other sites

Hi Spearzone,

 

Regarding 1)

Project Dynamism takes destroyed player or client units into account for the reserves depletion calculation but makes sure that those special units are NOT destroyed on next mission play.

 

For example if you make a campaign starting with 4 slots of client aircraft and another 4 in reserve. You lose one in the mission. This will deplete one of the reserves. Losses later accumulate to 6 aircraft (which exceeds the reserves). Still, the four client slots will be available, regardless in reality there should now only be two. No reserves - which could be AI units - will be there anymore though.

 

 

Regarding 2)

You do NOT need to define all units already with the first mission. Neither the reserves. You can always add in new ones later or make them reappear after a while.

 

Project Dynamism keeps track of the destroyed and damaged beyond repair objects. At mission start it will try to remove the objects if actually present (based on name, no matter whether unit or static object). It adds wrecks to the correct places for all destroyed objects regardless of a respective unit/static being in that mission.

 

Reserves only count for the mission where they are defined.

 

For example you want to have an AWACS available in Mission 3 but not in 1 and 2. You put the AWACS unit then simply into mission 3 where it gets shot down. Mission 4 does not have AWACS support planned, but mission 5 does. So you put an AWACS unit with the exact same name like in mission 3 into mission 5. It wont't be available as it was shot down earlier. If it would have survived mission 3 the player would see the AWACS fly in mission 5.

Link to comment
Share on other sites

Restarting a sequence of mission or campaign

 

Thanks for your explanations.

 

 

I came up with some more questions or problems when testing dynamism :

 

 

When playing a sequence of mission for the first time everything works fine.

Destroyed units are carried forward to the next mission as wrecks , even if the group of the destroyed unit isn't present in the next .miz file. This is a feature which i find superb, because this way you still have more freedom in creating the individual missions of a sequence of mission or campaign without having to put all units or groups already in mission 1 :thumbup:

 

 

 

 

Problems now arise when playing the same sequence of missions or camapaign again starting at mission 1.

First you will have to load mission 1 and reset the damage via COMM menue F10-> Dynamism and then reload the mission.

But after doing this , the damage is only reset for this single mission , and all damage taken forward to the next mission is wrong.

 

Example (please take a look at my attached image) :

Restarting at mission 1 , NO DAMAGE occurs in this mission

--> going forward to mission 2 : Mission starts and has damaged units in there

 

 

Is it really required to LOAD and RESET every single mission of a sequence of mission or campaign in order to restart at mission 1 ?

DYNsequence.thumb.jpg.40df87ae9fac155fa02809fed20c28a3.jpg

Link to comment
Share on other sites

Hi Spearzone,

 

You are perfectly right. Thanks for pointing this out. Good to have testers :thumbup:

It stems from me wrapping sequences of missions directly into a campaign and then relying on the "restart" feature of DCS to reset all destructions for all missions in that campaign. Or having "single mission campaigns" as the demo ones included. So I didnt come across this yet.

 

Currently I am preparing for release v0.9 of Project Dynamism. Will put it as a high prio task to also include a F10 radio entry for resetting the whole mission sequence, not just mission by mission.

 

Later I would think of a means to reset the mission sequence / campaign from the Connector GUI. So no need to fire up the mission within DCS just for reset and then restart.

 

Probably I will opt for release of v0.9 with this feature rather than hot-fixing the v0.8 now. Hope you can wait a little bit.

Link to comment
Share on other sites

Alright ladies and gentlemen,

 

In time for the weekend there is a new version 0.9 of Project Dynamism ready and released. Please refer to the posts #1 and #2 at the beginning of the thread for updated installation and usage instructions.

 

Basically you should download and overwrite the existing application with the new version. Your settings should be ported over. Please re-download the campaigns and - to be on the safe side - reset them in DCS World by clicking the "restart" button. For me only then DCS World actually went back to the CMP file to pick up the correct MIZ file in the campaign.

 

Will post a more detailed changelog / instructions in a while.

 

Have fun!

Link to comment
Share on other sites

Dear all,

 

Thank you for your interest in testing Project Dynamism.

I'm happy to announce the release of updated version 0.9 with the following improvements:

[FIX] Crash on mission download with no DCS folder set.

[FIX] Battle damages written with respect to persistence type.

[FEATURE] DCS World integration via Hooks script.

[FEATURE] Mission integration without triggers, instead naming convention.

[FEATURE] Download into single, campaign and multiplayer folders.

[FEATURE] Build-in multiplayer support.

[FEATURE] Communication channel set via settings tab.

[FEATURE] Check for mod being disabled in DCS World.

[FEATURE] GUI improvements.

[FEATURE] User credentials can be changed.

[FEATURE] Intermediate save of battle damages via F10 radio menu.

[FEATURE] Reset of battle damages for whole campaign via F10 radio menu.

[FEATURE] Battle damages associated to player's pilot.

 

Therefore I would like to invite you to download the new version and check out the added features.

download: https://www.digitalcombatsimulator.com/en/files/3308298/

instructions: https://forums.eagle.ru/showpost.php?p=4235403&postcount=2

 

 

Please download and overwrite the existing application with the new version. Your settings should be ported over.

Please re-download the campaigns and - to be on the safe side - reset them in DCS World by clicking the "restart" button.

 

 

The main changes are:

  • Hooks integration
    -> No more need for admin rights. No more monitoring of integration and renewal on every DCS World update.
    -> Automatic integration of script actions at mission start and end. No more triggers in mission needed. Works now also automatically for multiplayer.
  • Activation via naming convention
    -> Mission files must now have prefix 'Dyn -' to work with Project Dynamism. Basic parameters are taken from file name convention or sensible fallbacks are used.
    -> For most cases no LUA scripting / triggers are needed anymore for making use of Project Dynamism in a mission.
    -> Advanced options like reserves are available by placing an accompanying *.lua file next to the *.miz file.
  • F10 radio menu actions
    -> 'Save' command is intended for intermediate saving of the battle damages. Its use is not needed as this is done automatically at mission end. But if you are worried about your internet connection or that DCS crashes...

 

Note for porting missions made for version 0.8

  • Add prefix 'Dyn -' to mission file name.
  • Remove triggers and actions dynamism.OnMissionStart() and dynamism.OnMissionEnd() from within Mission Editor.
  • If needed add mission_number and persistence_type to mission file name according to convention.
  • If reserves were used with dynamism.SetReserves() define them in an accompanying *lua file which has the exact same name as the *.miz file.

 

 

Also the base features will be kept free of charge.

Let's see how far we get with donations and possibly paid for advanced features that still need to come (moving towards Dynamic Campaign).

 

 

Please feel encouraged to share your missions and campaigns. Let's fill the mission library with some life!

I'm sadly delayed of publishing my Su-33 campaign. Since DCS 2.5.6 the wingmen fall into the ocean on carrier start... need to adjust payloads and fuel... and test everything... again...

 

 

Happy weekend,

Happy flying

 

Project Dynamism

Link to comment
Share on other sites

Hi,

 

in case you experience this (harmless) warning after playing a non-Dynamism mission and you are annoyed by it (will disappear after next DCS World update by itself)

 

DCS: Mission script error: : [string "if dynamism ~= nil then dynamism.OnMissionEnd() end"]:1: attempt to call field 'OnMissionEnd' (a nil value)

stack traceback:

[C]: in function 'OnMissionEnd'

[string "if dynamism ~= nil then dynamism.OnMissionEnd() end"]:1: in main chunk

 

 

To get rid of it you can either

  • disable Dynamism in the "Module manager" under "Installed" (restart of DCS World required) if you do not want to use it
  • or preferably remove the following lines from "C:\Programs\DCS World 2\Scripts\MissionScripting.lua" (depending on your installation folder, no restart of DCS World required) that are there from version 0.8
    dynamism = {}
    dynamism.baseurl = 'http://localhost:9000/'
    dynamism.basepath = lfs.writedir()..'Mods\\tech\\Dynamism'
    dofile(dynamism.basepath..'\\Scripts\\DynamismExport.lua')
    


 

Sorry for this,

Slipped through my tests :music_whistling:

Link to comment
Share on other sites

  • Recently Browsing   0 members

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