Battle of Ganjgal Valley with MG Brown Introduction

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;
};