Here's a small script I initially made almost a year ago for a discussion regarding AI's detection skills and their alleged "x-ray vision".
The topic became current again recently along with the release of the new jungly Tanoa map. And the script was even indirectly featured in the SITREP yesterday when BI highlighted a user made video utilising it. (The tweet with the huge red arrow. :D)
So I decided to update it a bit and start an actual thread. Maybe it'll help to shed some light on AI's sense mechanics.
How does it work?
Extract the mission to your editor made missions folder, load it, and click preview.
There's you and an enemy AI unit on the map. You try to get his attention while observing a couple of visual indicators and vital numbers about his spotting and target tracking.
Can he see through bushes? Can you hide in tall grass? Can you flank and surprise him? How does the gear and AI skills affect all this? etc.
Some technical data in the corner of the screen. You can place down as many units as you want, all of them will have the detection symbols, but only one's numbers a shown.
The enemy is marked with a colored circle which tells his state:
â—‹ White = AI knows nothing about the target.
â— Blue = AI has seen or heard the target, but doesn't know if it's hostile or friendly.
â— Yellow = AI knows the target's side, but haven't seen it. This happens when a teammate has reported the target, or it has shot at the enemy.
â— Green = The target has been spotted but not currently visible.
â— Red = The AI currently sees or hears the target. I.e. knows its exact position.
Big arrow floating around you indicating where the AI thinks you are. (in case he doesn't have a LOS to you.)
Zeus module for controlling the units.
Face target: Turns enemy units towards the target.
Reset units: all units forget about eachother and turn away from their enemies.
Camera: Starts the splendid cam right next to enemy's eyes.
Move AI: fly the AI guy around like a kite. Checking how they see through objects - is that treetop see-through?
Set enemy stance and behaviour.
+ a few more handy actions
To move this script to another map: (The default is Tanoa)
Copy the init.sqf and functions.sqf to your mission folder.
(Note: place and configure a zeus module named 'zeus1' to avoid an error message at mission start. Although the script will create the module anyway.)
The monitored AI unit should be named 'enemy1'. If it doesn't exist, the script will select the closest enemy or spawn a generic one in front of you.
The target should be named 'target1'. If it doesn't exist, you'll be the target.
Downloads: On Tanoa or On Altis (Dropbox)
Latest version: v1.20 July 20 2016
- Replaced the enemy camera with the splendid cam, which opens right next to the enemy
- Added 'Freeze units' action
- You can teamswitch to the enemy. A good way to check if what you see matches the AI vision.
- some minor tweaks
A short vid of it in action: (older v1.09)
Note: this isn't any highly polished framework, just small toy/tool snippet for messing around with the AI in the editor.
I don't think I'll develop this very actively but if you have any good suggestions or bug reports, please share them, and I'll see what I can do.