Page MenuHomeFeedback Tracker

AI will trigger simulation of civilian units under dynamic simulation under some circumstances
New, NormalPublic

Description

According to the Dynamic simulation documentation under https://community.bistudio.com/wiki/Arma_3_Dynamic_Simulation, AI units will only trigger simulation of enemy groups that have dynamic simulation activated.

According to https://community.bistudio.com/wiki/Side_relations civilians are always friendly to all sides, unless changed with setFriend.

This makes it look as if AI units will not trigger simulation of civilian units as long they are not set hostile to each other.

Under some circumstances however (see ticket T152951) CIVILIAN and EAST/WEST can be enemies, which leads to the unexpected result that EAST/WEST AI will trigger simulation of civilian groups, as side relations between CIVILIAN and EAST/WEST have been changed in a subtile way, while only the side relations between RESISTANCE and EAST/WEST where changed by the user.

It seems strange that the one way hostility of CIVILIAN vs another side would trigger simulation of CIVILIAN groups. I would expect that AI of other sides would only trigger the simulation of CIVLIAN groups under dynamic simulation when otherSide getFriend CIVILIAN would be 0, regardless what CIVLIAN getFriend otherSide returns.

If side relations between RESISTANCE and EAST/WEST do no longer effect silently the side relations between CIVILIAN and EAST/WEST this would not be an issue anymore, until someone intentionally changes the side relations between CIVILIAN and the other sides. Until then this is a subtile issue which is hard to diagnose, which can have heavy impact on performance in missions with many civilians.

Details

Severity
Minor
Resolution
Open
Reproducibility
Always
Operating System
Windows 7
Category
General
Steps To Reproduce

If for example RESISTANCE and EAST are set to hostile in Eden editor, then

CIVILIAN getFriend EAST // result = 0
EAST getFriend CIVILIAN // result = 1

Any EAST unit with canTriggerDynamicSimulation = true will then trigger simulation of any CIVILIAN group in simulation range which has dynamic simulation enabled.

Additional Information

In the above example a

CIVILIAN setFriend [EAST,1]

in init.sqf will fix the issue.

Event Timeline

Ron4Swat created this task.Jul 27 2020, 7:36 AM
Leopard20 removed a subscriber: Leopard20.