For the Battle of Ganjgal Lessons Learned Visualization, I read all available information, both classified and unclassified, to create a script and storyboard to support the desired product for the Center for Army Lessons Learned. After the terrain was created by our Terrain Creation Team, I used satellite imagery to place the buildings in the village of Ganjgal and surrounding areas of interest. Once the level design was set, I began to script the actions of the avatars according to the storyboard leading to a 17 minute Lessons Learned Visualization, portion of which were featured on 60 Minutes.
In VBS2, avatars only react to gunfire when the bullet path is near that avatar. For this video, I needed the entire column of about 100 avatars to react to the sound of the gunfire. I created this script to run immediately after a fire weapon action handler placed on one of the enemy soldiers. The script finds a location for the individual avatar to hide from the enemy firing his weapon.
//nul=[guy] execVM “getToCover.sqf”;
_guy = _this select 0;
_guy enableAI “move”;
_guy disableAI “pathplan”;
_guy setUnitPos “AUTO”;
_guy setCombatMode “YELLOW”;
_guy setBehaviour “COMBAT”;
_guy forceSpeed 10;
_guy setSpeedMode “FULL”;
_cover = _guy findCover [getPos _guy, getPos ins_kneeling_12, 2000];
_coverPos = getPos _cover;
_randPosNeg = [1,-1];
_randX = (random 5)*(_randPosNeg select (round (random 1)));
_randY = (random 5)*(_randPosNeg select (round (random 1)));
_pos = [(_coverPos select 0)+_randX,(_coverPos select 1)+_randY,(_coverPos select 2)];
while{ alive _guy } do {
_guy doMove _pos;
_guy forceSpeed 10;
_guy setBehaviour “STEALTH”;
sleep 5;
};