Search the Community
Showing results for tags 'genetic algorithms'.
Found 1 result
-
release ANIMA - AI for advanced position analysis using genetic algorithms
dwringer posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
ANIMA - Arma NSGA Interface for Milsim Applications ANIMA is a collection of functions and scripts for providing AI groups with terrain/position analysis capabilities that can be used, for example, to dynamically create waypoints with tactical advantage (by criteria that can be programmatically defined), automatically land helicopters at suitably flat/clear locations, or find places to spawn units or objects with specific visibility requirements. This release is essentially an open-ended set of scripts for getting units to do things in abstract terms like "land a helicopter nearby", find an overlook position with cover and concealment", "ambush nearby roads or intersections", "seek tactical advantage and engage targets", or "find a nearby place to unload troops". It does not affect unit AI in any way, but uses a genetic position-finding algorithm in various ways, many of which involve assigning different kinds of waypoints. Sorry, but for now, ANIMA does not have the required conditions for multiplayer, but if you're an experienced multiplayer developer and want to take a crack at it then I'd welcome your pull request! I've included a User Manual, which is essential for understanding ANIMA. There are also some example missions to accompany the manual which will hopefully elucidate some concepts. One of these (see below) comes with an additional guide that explains some of the development choices and basics of using the included applications. Please check it out and let me know what you think! I'll try to release some more examples and explanatory content as time allows. EXAMPLE MISSIONS (separate from release) VehicleTargets tank battle/ambush demo: https://github.com/dwringer/ANIMA/releases/tag/EXM-220409-A (added 9 Apr 2022) VehicleTargets application demo: https://github.com/dwringer/ANIMA/releases/tag/EXM-220407-A Vybor Airbase, w/development guide: https://github.com/dwringer/ANIMA/releases/tag/WIP-220322-A (Full mission here: https://forums.bohemia.net/forums/topic/238060-sp-vybor-airbase-stop-the-invasion/) RELEASE (includes basic examples): https://github.com/dwringer/ANIMA/releases/download/REL-220316-A/ANIMA-220316-A.zip MANUAL: https://github.com/dwringer/ANIMA/blob/main/ANIMA.pdf GITHUB (Updated regularly, may contain bugfixes as well as new featuresbugs): https://github.com/dwringer/ANIMA Known Issues: - Pausing the game while the algorithm is running sometimes causes it to fail. It will either choose a wildly incorrect position or fail to do anything at all. - Default landing zone search radius works best with only one helicopter. If you want to land more than one at a time, try bumping up the radius, step count, and population parameters of the land_helicopters/land_transport methods [55/3/13 is a possible start]. - Headquarters attack/dispatch methods occasionally assign an extra waypoint to a group - the logic needs to be refined. CHANGELOG (Latest) REL-220316-A (Updated 16 March 2022): - Added sort behavior to fnc_find_positions which can sort the final results by a given function (by default, uses the average across all objective scores) - Added a setting to allow fnc_find_positions to work faster, but less accurately, by allowing undifferentiated results after the target number of generations (a single bin after the nondominated sort, no dominance ranks in the result set) - The behavior of optional parameters for attack_targets and approach_targets methods of Headquarters was fixed - Fixed behavior of wp_config parameter of internal Headquarters method dispatch_transports - Added an optional start_offset parameter for approach/attack_targets which moves the search start location relative to the targets by [x, y, z] - Revised and expanded user manual with section on fnc_find_positions and some classes - New (WIP) example mission with all (non-airplane) waypoints generated from ANIMA positions (requires CUP addons) REL-220311-A (Updated 12 March 2022): - Added two parameters to fnc_find_positions: one is a sort-function (or "false") to sort the resulting positions (default sorts by average score). - There are now two example missions. The first one just follows the basic example in the manual, while the second employs a number of functions. - Added a User Manual chapter on fnc_find_positions. Combined with the chapter on LocationFinder, added in the last release, there should be enough information to customize the algorithm with new objective functions. REL-220310-A: - Fixed a bug with the LocationFinder method for finding helicopter landing positions, which was causing the parameter for enemies to avoid to be ignored. - Updated the example mission so that when OPFOR and BLUFOR units detect one another, their waypoints are removed and new ones are assigned using attack_targets with respect to the detected troops.