Author: Rydygier
Author Website:

Requirements: No addons required

Version: 1.22
Signed: No

Short description: ARTEMIS mod is an AI algorithm that simulates animal-like hunting behaviour of controlled units (Hunters) against chosen units (prey).

Date: 2014-11-12 18:30


Comments: (2)
Rating:



 





ARTEMIS - Hunting Instinct

by
Rydygier


Description:
ARTEMIS mod is an AI algorithm that simulates animal-like hunting behaviour of controlled units (Hunters) against chosen units (Prey). It's meant as a tool for mission makers, while easiness of Artemis setup makes practically everyone familiarized with editor's basics potential mission makers able to set hunter-prey missions fast and smooth.

This code does some heavy calculations (mainly numerous LOS checks every second). Should be more efficient than 1.0, still too many hunters at once may cause hunters' reactions delays/sluggishness. How many is OK? Not sure & depends. Let's say "one or few to several". Number of prey units isn't as crucial.

ARTEMIS is designated as opponent for player, but should work well also against AI.

Hunter has to his disposal two customizable senses: sight and smell.

Sight is specified by two parameters: light sensitivity and movement sensitivity. It decides, how easily Hunter will spot the Prey according on daytime, weather, size, speed, background (sky or not, surrounding terrain) and knowledge factor (memory).

Smell helps to follow not visible Prey by its trail. Each Prey will leave "footprints", that Hunter can scent. Old footprints will be erased, also rain gives small chance for removing some parts of the trail. Smell (range) is strongly affected by wind (direction and strength).

If there is no Prey nor trail known, Hunter will loiter randomly starting from last known position of last prey.

If Hunter see the Prey, his behaviour depends on situation. His goal is surprise attack, prefferably from behind. Will charge anyway, if close, but otherwise will approach, fast, or stealty, only, when flanking the Prey (out of Prey's FOV). If catched in the FOV depends on situation can hide low or run out of LOS, then try to outflank keeping out of sight.

Is most dangerous at night, in the dense forest when visiblity is poor.

Hunter uses only melee attacks.


Installation:
Extract into the ArmA 3 Directory, by default this is located in:
32-Bit - C:\Program Files\Steam/Steamapps\Common\ArmA 3\
64-Bit - C:\Program Files (x86)\Steam/Steamapps\Common\ArmA 3\
After extraction it should look like this:
Steam\Steamapps\Common\ArmA 3\@your_mod_folder_name\addons\

You can also use the "Arma 3 Alpha" folder in your "My Documents" folder. Your folder setup could than look like for example this:
mydocuments\Arma3 Alpha\@your_mod_folder_name1\addons\
mydocuments\Arma3 Alpha\@your_mod_folder_name2\addons\
mydocuments\Arma3 Alpha\@your_mod_folder_name2\addons\

When present place the "userconfig" folder into your game install folder, usually:
"C:\Program Files (x86)\Steam\steamapps\common\Arma 3".
You may already have "userconfig" folder from other addons and/or mods in which case it is safe to merge the contents from this archive.

You'll also need to add a Launch Parameter to Steam, in order to do so right-click on ArmA 3 Alpha and click Properties and then Set Launch Options. In the window that opens enter in -mod=@your_mod_folder_name
For using multiple mods you would then do so like this:
-mod=@mod_name;@mod_name2;@mod_name3;@mod_name4;@mod_name5

Note:
You can also use -nosplash to get rid of the splash art and intro videos.


And of course you can also enable and disable community made addons and mods through the in-game Options Expansions menu if you do not want to mess with startup parameters!

When the above information still does not provide you with enough to learn how to install custom addons and mods you can always ask in our Guide On Installing Mods.


Included files:
ryd_artemis.pbo


Usage:
ARTEMIS is designed for single player. Behaviour in MP environment unknown (code will/should be run server side only, hunters should be server side too).

Addon version
- play with addon;
- place on the map Artemis (Hunter) module;
- optionally customize module settings;
- synchronize with it all units, that should act like animal hunters/predators;
- place on the map Artemis (Prey) module;
- optionally customize module settings;
- synchronize with it all units, that should be hunted down by hunters.

Alternatively may be used method of pointing hunters and prey for script version. Such way defined arrays of hunters and prey will overwrite lists based on synchronized units.

Script version
- paste content of the Script Version folder into mission folder;
- initialize in init.sqf or init field in editor via:

RYD_ART_Hunters = [(here list of hunters)];
RYD_ART_Prey = [(here list of prey units)];

nul = [] execVM "Artemis\ARTInit.sqf";


Optional customization
Customization is possible via defining listed global variables (as examples used default values):
RYD_ART_Hunters = []; (Array holding hunter units. Changes on the fly will be effective. Note: hunters excluded that way wil proceed with their last routine)
RYD_ART_Prey = [player]; (Array holding prey units. Changes on the fly will be effective.)
RYD_ART_Pause = false; (pausing switch. As long is true - hunters will immediately stop all Artemis activity, prey will stop to leave the trail)
RYD_ART_MainSwitch = true; (when set to false, whole code exits permanently, controled units immediately stop all activity)
hunter_Unit setVariable ["Ryd_ART_Excluded",true]; - setting this variable for given hunter unit will temporarily exclude it from Artemis control. Unit will stop current activity immediately.

Below settings for script version only. For addon version use module settings instead.

RYD_ART_Smell = 3; (positive number - smell sensitivity of the hunters. Used for tracking prey)
RYD_ART_Sight = [1.5,1.5]; (array of positive numbers. Eyesight sensitivity for the hunters (light factor, movement factor). Used for spotting prey)
RYD_ART_Loiter = 200; (non-negative number. How far around current position hunter should wander randomly when lost the trail. Unlimited if 0)
RYD_ART_Strike = 1; (number. Multiplier of damage dealt by Hunter each basic strike)
RYD_ART_Placement = []; (Min/max random placement radius for each hunter from random hunted. Leave empty array to disable random placement)
RYD_ART_TrailMaxAge = 3600; (maximal lifetime of each prey's footstep in seconds)
RYD_ART_Dbg = false; (boolean. Debug mode switch. In debug mode postions of all hunters and each prey will be marked on the map. For the hunters is also shown current routine and max knowledge about it amongst all prey units))

Other notes

- for striking sounds and animations hunter units must be used "players only" raptors from Jurrasic Arma - Raptor Pack by McRuppert (http://www.armaholic.com/page.php?id=27163);
- if in addition to above raptors should use from time to time jump atack, somewhere on the map must be present at mission init one raptor "AI only" to register jump attack function;
- included demo mission is for addon version and requires Jurrasic Arma - Raptor Pack addon by McRuppert & Bad Benson. In the init.sqf debug mode may be enabled to follow hunters actions on the map.


Known issues:
- if hunter is in "hidden low" mode under FOV of completely static AI unit, logically attack may never come, because hunter will patiently wait, till he can move out of prey's FOV. To avoid such stalemates make prey moving;
- if used anything else than McRuppert's raptors, attacks have no sounds nor animations;
- seems, raptor units from Raptor Pack with assigned waypoints tend to stuck from time to time, vanilla A3 units not affected;
- this version is only slightly tested. I'm always grateful for any feedback and bug reports.


License:
Mod is released under APL-SA license. I'll be grateful for notification about each such usage.


Changelog:
v1.22
- Reorganized addon version: modules configured to A3 standard;
- most settings along with additional ways of synchronization for addon version moved into module options.

v1.21
- Added new routine for fleeing when hit (reaction on accurate fire);

v1.2
- fixed loitering routine
- a hunter with pending waypoint will proceed towards it instead of idle loitering, when no prey/trail is known
- added new ways of advanced control (pausing/exiting whole script, editing hunters and prey lists on the fly, more. For details see: Usage section)
- various code fixes and tweaks

v1.11
- code fixes
- improved hunter's behaviour (reduced risk of "standing on plain sight" situation)

v1.1
- new form - addon (editor modules)
- now many predators may hunt down many prey units
- limited to SQF version
- new way of customization
- compatibility with Jurrasic Arma's raptors attacks
- deep code modernization for, hopefully, better performance and efficiency


Forum topic:
- BI forums


Recommended:
A must have for Artemis users, fantastic mod and at the moment the only one introducing predator units allowing Artemis to show its full potential.
- Jurassic Arma - Raptor Pack
- Reign Of Jurassic Mod




Enable javascript to be able to download from Armaholic please!



Tags: No tags