Jump to content

Recommended Posts

I agree, DynSim needs some better explanation. Performance could be better improved for mission makers.

Share this post


Link to post
Share on other sites
On 3/18/2017 at 2:39 PM, fn_Quiksilver said:

I am still a little confused re DynSim.

 

Does "waking up" an entity wake it up for all clients or just the client who has woken it up?

 

It is just not clear to me where the server component ends and client component begins.

 

Simple way to describe:

 

- Server owns all objects

- Client A and Client B.

- Client A approaches object X and "wakes it up"

- Is Client B getting the new "woke" simulation state?

 

My 2 cents - it depends on entity type. Props will not be awaken for all clients, but enemy AI will be. Otherwise it would make no sense, there would be inconsistency Client A view of the world and Client B view of the world which is a no go in Arma.

Share this post


Link to post
Share on other sites
On 18/03/2017 at 1:39 PM, fn_Quiksilver said:

Does "waking up" an entity wake it up for all clients or just the client who has woken it up?

 

All clients.

 

On 18/03/2017 at 2:28 PM, Jnr4817 said:

When setting the distance for the "wake up" states. Is this a sphere, cube, linear distance, or ground distance?

Does the use view distance have a different way of waking up?

If my view distance is 4000/2000, but I have set all the Dynamic Sim to 500m, which gets priority?

Do drones and AI activate the wake up state?

 

I'm sure I read a box somewhere? Roughly grid based.

Same process.

Takes the lowest value.

AI can be set to wake up objects under their settings, but they only ever wake up enemy units.

 

Limit by View Distance may be bugged - Entity set to activate on 500m, Object view distance 1500m would not activate AI until < 500m.

Tested, it takes the lowest value between the two to activate.

Share this post


Link to post
Share on other sites

Hi, What does mean "props"?  I can't understand that in French.

I used the "old" simulation manager module with some success. This module shows/hides units for a global distance but it's reversible and probably better CPU saving than this dynamic simulation manager. interest of this new tool is limited by a non-reversibility and the display of disabled units. We don't need statues in game.

Share this post


Link to post
Share on other sites

What would be the best practice for how this is used in conjunction with enableSimulationGlobal?  Should enableSimulationGlobal be set to false for all objects and enabled with enableDynamicSimulation true?

 

_vehicleObject = createVehicle [_vehicleClassName, _temporaryPositionInOuterSpace, [], 0, "CAN_COLLIDE"];

_vehicleObject enableSimulationGlobal false;

_vehicleObject enableDynamicSimulation true;

 

The documentation isn't really clear on this.

 

Thanks!

 

 

 

Share this post


Link to post
Share on other sites

I would like a fully local option for this system, with local wake-up

 

This is nice but I see no reason why objects 10km from me should be simulated just because someone else triggered the objects.

 

Also if I have configured and run the system on the Server, what happens when a client executes "enableDynamicSimulationSystem false"? these sorts of things dont have any documentation.

 

A fully local option where a client can determine what is simulated on their machine and when, IMO would add to the versatility and application of this system. At the moment it makes the most sense in Singleplayer and loses its usefulness in larger scenarios.

Share this post


Link to post
Share on other sites

Good results so far, on 60 player server.

 

It feels like the entities are still sending some network simulation messages at same rate. For instance if I use Zeus to move a unit which is dynamic simulation Disabled (unmoving), its new position will be updated across the network immediately. Maybe it would be good if Disabled entities (like units) would have a lower network propagation frequency for this type of info as well? like if its disabled, only updating its entity position every ~1-2 seconds. Maybe this would improve the systems multiplayer performance gain.

 

Will have more feedback in coming days. Still running the system disabled by default and enabling it when i log on so i can monitor. Going to take the training wheels off and run it by default.

 

One question, why is the system enabled by default for clients in MP? I think it should be disabled by default on clients in MP, unless scripted or set otherwise in EDEN.

 

what i mean is this returns true:

 

client:

 

systemchat str dynamicSimulationSystemEnabled;    // true

 

^ is that necessary, for the server-run system to function properly, or can we safely disable the system on the client?

 

regards

 

  • Like 1

Share this post


Link to post
Share on other sites

Test it easy. Some weird things.

Place on Stratis airfield:

- a player

- another unit (playable) on the player's group: AI1

 

- set all dynamic simulation distances to 100 m, ismoving X1

 

- place another (same side) unit with a cycling waypoints path at more than 100 m far: AI2

- place a manned car with this kind of path also: CAR1

- place a military land cargo (HQ with several doors),

- place an empty car: CAR2,

 

all of these objects/units at more than 100 m of course.

Now, there are 2 choices for dynamic sim:

- for men, you can enable/disable the ability to "wake-up" the sim;

- for all objects (car, buiding...) you can enable/disable the dynamic simulation (dyn sim).

That sounds great as men are characters and AI or players can activate the sim...

Except, for me, there was no difference at all for the following results. It tried to disable, then after restart, enable the dyn sim for remote AI2 and/or grouped one AI1. No difference with these 4 combinations. IMHO, doesn't work.

 

Constant results:

Letting the player at more than 100m (chosen dyn sim distance), I remarked:

- AI1, following order, can go to land Cargo HQ. he can open the doors to join a position. (It's not the case with simple object of course),

- CAR1, the manned car, supposed to be frozen, makes a little move at start then, truly freeze until the dynamic distance is reached, reversible! (great),

- AI2, the remote man cycling around land cargo HQ, runs during 10 seconds or more, seems to follow two waypoints before freezing. Absolutely weird!

- let run in console a cursorTarget setDamage 1 against:

  * AI2 >> this guy is dying with simulation ??? even frozen,

  * CAR1 >> the car becomes instantaneously a wreck (with no damage for the surrounding units). Then, reach the scene. When player meets the dyn sim distance, the car (wreck) explodes causing damages if any unit in vicinity.

 

To conclude (simple SP editor preview!):

- at least, the explosion shouldn't occur on a destroyed object when a player meets the dyn sim distance. This explosion belongs to the past!

- the wake-up from AI unit doesn't wake-up anything,

- I seems the dyn sim doesn't run immediately at start. I can't understand why an infantry unit can move on 1 or 2 waypoints before freezing if the condition is already met to be disabled....

 

NB: I didn't test the triggers behaviors (like the value of thislist for BLUFOR present with a killed car by a player, and a disabled sim for another player). This could be interesting! Not sure it works in all cases (trigger radius vs dyn sim distance...),

 

 

Share this post


Link to post
Share on other sites

I can confirm this vehicle destruction thing is an issue.

 

Disabled vehicle gets destroyed ---> player moves into area and wakes the vehicle up some time later ---> boom

 

On a more serious note, I've noticed a higher frequency of network-related server crashes (50+ clients) when using the Dynamic Simulation system. Too early to find a causal link and it may be unrelated, but I think its relevant. Still gathering data. I'll edit this paragraph for accuracy in the future once I can say whether its related or spurious.

  • Like 1

Share this post


Link to post
Share on other sites

I haven't found any good justification to use such a thing like dynamic simulation in an...simulation environment.

It is causing much more headaches, results in questionable player experience and sucks away developer resources.

Better put those dev resources into engine improvements so that server and clients are finally able to utilize the massive hardware resources available.

THANK YOU!

Share this post


Link to post
Share on other sites

I have noticed a correlation between enabling the dynamic simulation system on my server, and server crashes.

 

still too early to say what is causing, whether it is dyn sim or something else, but i have noticed correlation. no server crashes in weeks, enable dyn sim, server crashes 1hr in.

 

ill report more when i have more data

Share this post


Link to post
Share on other sites
Guest

A object/unit can't be completelly freeze, because a mission/script can make many things on far away units/objects, remote or not, like set vars, and if this don't happens the mission/script gots completelly break.

 

So seens simulation still happens on simulation disabled units/objects, but on a slow rate. This is good because you don't break things, and you receive extra performance.

 

May be set vars works instantly on units/objects that are dynamic disabled, but other things take some time.

 

The situation with max performance gain would happens if simulation is completelly disabled, but this is sure to not cause problems only on very simple missions/scripts.

Share this post


Link to post
Share on other sites

I come back to the efficient, tested and approved, BI simulation manager module! Many scenarios don't need nothing more, IMHO!

  • Like 1

Share this post


Link to post
Share on other sites
On 27/04/2017 at 11:57 AM, pierremgi said:

I come back to the efficient, tested and approved, BI simulation manager module! Many scenarios don't need nothing more, IMHO!

 

I think the simulation manager work great, but i don't know how to use it on a dedicated server, i need to put a trigger for activate it or not desactivate the AI for playable slot... if not the map is empty.

If you know how to activate the simulation manager without a trigger for all the client please tell me how you do it.... :)

 

I just do few try with the dynamic simulation+simulation manager module, i use the dynamic simulation on few unit (with a variable name for the task and other thing) cause the simulation manager module dont handle named unit and i use the simulation manager module for all the other unit.

 

After few try on a mission with +500 AI i got better result with the simulation manager 

Share this post


Link to post
Share on other sites

would be nice to have a BOOL getter to know whether an simulation-disabled entity was disabled via conventional "enableSimulation(Global)" or engine dynamic simulation.

 

this would allow perfect marriage of both server-side Dynamic Simulation and client-side scripted Simulation Manager.

Share this post


Link to post
Share on other sites

@fn_Quiksilver Do you (or any of the other experienced mission designers around here) have a follow-up review of dynamic simulation? It seems, as usual, to be sort of semi-finished and I guess my big question would be if it's actually in a decent enough state to be worth using.

Share this post


Link to post
Share on other sites
4 hours ago, ImperialAlex said:

@fn_Quiksilver Do you (or any of the other experienced mission designers around here) have a follow-up review of dynamic simulation? It seems, as usual, to be sort of semi-finished and I guess my big question would be if it's actually in a decent enough state to be worth using.

 

its good in some cases. seems more beneficial for single player, but if you have any mission which is spread out or in several different places, it can be useful. if you have normally sized AO/mission area and clients are expected to be there all the time it is not so useful. 

  • Thanks 1
  • Sad 1

Share this post


Link to post
Share on other sites

Just a minor observation.

 

I've used this for a loot spawning system, once you have it enabled on over 600-700 objects, there seems to be a nasty stuttering that appears in the clients, noticeable in SP or if you run the mission on a DS. I assume the player distance checks start to choke the engine a bit with those kind of numbers.

  • Thanks 1

Share this post


Link to post
Share on other sites
On 10/8/2017 at 6:45 PM, ImperialAlex said:

@fn_Quiksilver Do you (or any of the other experienced mission designers around here) have a follow-up review of dynamic simulation? It seems, as usual, to be sort of semi-finished and I guess my big question would be if it's actually in a decent enough state to be worth using.

 

here is a situation where it comes in useful.

 

D3C92FAB7556E499672E581FDE592023FA93C028

 

 

clients are all at one mission (georgetown), so AI at the other mission (east of base) are disabled. There are other ways to do this (virtualization like ALiVE), but DynSim disables these CPU calculations reasonably effectively.

Share this post


Link to post
Share on other sites
1 hour ago, cyruz said:

Just a minor observation.

 

I've used this for a loot spawning system, once you have it enabled on over 600-700 objects, there seems to be a nasty stuttering that appears in the clients, noticeable in SP or if you run the mission on a DS. I assume the player distance checks start to choke the engine a bit with those kind of numbers.

Really? How big area? I've yet to experience stuttering with a few hundred units, but low fps.

maybe it's just something that runs in unscheduled, so it will take noticeable time to check 600-700 objects... I thought the grid system would work good for that, that sucks.

Can you elaborate on your situation? How many players ? how big area ? How many objects ? Any extra things running? (ace,cba, cup?)

Share this post


Link to post
Share on other sites
2 hours ago, computer said:

Really? How big area? I've yet to experience stuttering with a few hundred units, but low fps.

maybe it's just something that runs in unscheduled, so it will take noticeable time to check 600-700 objects... I thought the grid system would work good for that, that sucks.

Can you elaborate on your situation? How many players ? how big area ? How many objects ? Any extra things running? (ace,cba, cup?)

 

It just just a crap little battle royale style mission I threw together for my group. Never tested it without full modset as I was never going to play without it. So it'll be running CBA/ACE/ACRE/CUP etc, area was 4km radius.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×