Author: Sickboy
Author Website: http://www.6thsense.eu/

Requirements: 6th Sense ArmA Mod

Version: v0.2 beta 6

Short description:

Date: 2007-10-08 15:03


Comments: (0)
Rating:



 



6thSense.eu AI Manager
by
Sickboy


Description:
Meant as a tool for mission makers to create a dynamic, random and challenging Coop Mission.


Features:
    - AI Spawn Manager (Spawn any number of AI, in any number of groups, picking types/class of units randomly out of defined arrays) Supporting atm: Infantry, Vehicles, Tanks, Choppers and Building Rooftop Overwatch
      * Create Markers to choose the Area where you wish groups to be created
      * fCreateZoneMarkers Function by Killswitch to create the patrol zones around an Objective zone automaticly!
      * Random Placement of groups
      * Range Amount of Units per group selectable
    - AI Enhancements (Choosable per group or per Zone)
      * 6thSense.eu NAI: New AI Enhancement based on features known by GroupLink, DAC, etc. etc.
        * Usage of NearTargets function to obtain perceived enemies and their positions, creating a fair and non-cheating AI-Enhancement.
        * No "Enemy" configuration is needed, they will react to anything that is considered enemy, doesn't matter if it's an individual, a group, or multiple groups.
        * 3 Scripts that handle the target checks, alarms and dispatch. Running after eachother, giving full control over cpu-load and array states and creating the illusion of chain of command and radio protocols.
          * Mainloop: Scans nearTargets of alerted groups and keeps a simple history and sorts unique
          targets. Managing the targets.
          * Alarmhandler: Uses the output of Mainloop to create alarms based on parameters. Managing the alarms.
          * Dispatcher: Uses the output of Alarmhandler to send in support groups to alarms, using the support script. Managing the supportline.
        * Debug Marker script for following alerts and alarms
        * Alarms are triggered when an AI gets hit, he reports within 3-6 seconds (configurable) to group leader, he reports to command, and within 10-20 seconds there are support groups sent to the alarm area. When a unit gets killed, while his groupleader is alive, the groupleader will report within 5-20 seconds to command (configurable)
        * Alarms only are created for enemies that are further than 150m apart (configurable)
        * A maximum of 3 groups are dispatched per alarm, and the alarm maintainer will send in new groups when old groups do not respond any longer (configurable)
        * AI will investigate the alarm position even when they have no targets yet
        * AI engagement is fully controlled by ArmA's own AI-engine, which isn't as stupid as it sometimes seems
        * Alarms are cancelled after 360 seconds when no more Enemies are spotted (configurable), alerts are cancelled after 180 seconds (configurable).
        * Currently the following Support Enhancements are inplace for groups that are called in for support:
          * If group is on foot or inside Tank, they will move out to the alarm position and engage
          * If group is inside Car, they will get out at a distance from the alarm position and move further on foot
          * If group is inside Heli Cargo, they will be parachuted by groups of 3 from the heli near the alarm
        * After Alarms are cancelled, groups will continue looking around for a bit, and then move back to their original positions and waypoints, and get back in their vehicles (even the paradroppers) if they had any
      * UPS (Patrol Script by Kronzky): Random Patroling, Enhanced AI when in combat
      * Grouplink (by Keycat, rewritten to ArmA by \=SNKMAN=/, rewritten to SQF by Sickboy): Groups calling support from eachother, using realworld Tactics, and various other enhancements
    *AI Tracking System By Kronzky (Track Movement of AI Groups, leaving a trail of markers behind)
    * Basic Objective/Mission Generator
      * With support for:
        * Different mission types: ["Rescue","Recover","Destroy"];
        * Different mission subTypes: [["Captives","Civilian"],["Documents","Vehicles"],["Tanks","APCs","Buildings"]];
      * Fully configurable and ability for making and maintaining templates
      * Creates and colors markers dependent on status of objective
      * All triggers are dynamicly created, only having the needed triggers ingame at all times
    * All Scripts are in SQF, only preloaded into Memory when they are required repeatedly throughout the whole mission
      * Most tasks are done by Functions
      * Arrays available that contain the Zone Data (Created Groups, Size of Zone, Location, etc. etc.)


Note:
Please make sure that you Use this package inside the Multiplayer Editor (Multiplayer, Create a server (password it), and either click NEW or open the mission you want) and not in the Singleplayer Editor.



Future plans:
6thSense.eu AI Populator/Generate Script integration; Populate the whole Island based on parameters
6thSense.eu Player Bubble TM integration; AI Groups are only active in xxxxMeters range of Players
Reduce-Groups; When Players are further than xxxMeters away from AI, reduce the group to only the
groupleader, Spawn the other group members in when they are closer than xxxMeters
Measure the Size of a Zone and automaticly fill the zone based on the square-meters
Further expand and implement other/new AI Features/Scripts
Develop Dynamic Waypoint Generator Script to give soldiers waypoints in the generated Zones (at this time this is
done dynamicly through the mission by using UPS or 6thSense Patrol)
NAI Enhancements:
Artillery Support
Airstrike Support
Offsite/Offshore Support, meaning less patrols and less things moving around, having groups/vehicles at
bases at the objective or far away, which get in their vehicles and get moved in to support.
Rework alarm management based on unique id's instead of enemy targets
Rework alert/alarm cancelling


Demo Missions:
1 Beginner Demo Mission, 1 Advanced Demo Mission and another one with 16 Mission Areas and startpoints.
Available in West and East, aswell as 6thSense.eu Mod and BIS (No Addons) variants.
1 NAI Demo mission where enemies have no ammo, so you can test and see the responses.


Version:
v0.2beta6
Added 6thSense.eu NAI, Beta
Replaced GroupLink with NAI, altough you could still manually use it by creating your own mission
6thSense.eu Patrol script based on UPS Patrol Script by Kronzky is used when Grouplink or NAI is selected,
otherwise UPS Patrol and AI is used
New start positions (further away) for nearly every objective on nearly every island (Thanks to Alx)
6 New Objectives on Sahrani, 3 New Objectives at Southern Sahrani (Thanks to Alx)
Updated Briefing to be more informative

v0.2beta5
Fixed wrong RACS units listed in AI-Manager Config, RACS by default have Desert Camo and as such I choose Woodland as default camo, putting the def (desert) camo on config position 1
Multiplied the amount of 6thSenseMod missions by 2. Now possible to play from each side to each other side.

v0.2beta4
Resolved Resistance and Civilian Side not working (BUGID5). Warning, if you are using also 6thSense.eu:Pack1 Please update Pack1 to v0.3
Changed knowsabout value check to 1.5, creating a better and more real enemy awareness and alarm systems
Removed "InfoShare" script, unneeded especially considering the share capabilities of ArmA AI through AI Centers per Side
Added more variants for 6thSenseMod

v0.2alpha2
six_pt is now dynamicly updated (added to) based on the (six_allpg select 0) array
calling team. (six_aim_obj#_caller)
six_aim_ratio can be used to scale the mission up/down depending on amount of players and the amount of players the Mission was made for.
Idea for multiObjectives: Use a variable per objective (six_aim_obj#_ratio) to make only the team that calls the objective be rated, so the objective scales to the***
Included basic mission/objective generator
Base Functions
fSetVarName
Uses the setVehicleVarName and processInitCommands to propagate the name of an object over the network
fCreateGroup
Creates group on given side, but re-uses old created group if there are empty groups available
fShuffle
Shuffles the contents of an array
fGroupId
Automaticly set the groupId depending on side and amount of teams of inputted array. By default Generates 8 Different Callsigns and 8 Different Colors
AI-M Functions
fCreateObjective
Create an objective based on parameters and settings of cfg_Objectives
fObjHandler
Handles the objectives created by createObjective based on parameters and settings of cfg_Objhandler
AI-M Configuration
cfg_Objectives
Setup the objectives for fCreateObjective
cfg_ObjHandler
Setup the objectiveHandling for fObjHandler
cfg_Aim
Added six_aim_settings set [0, [true, 0.33]]; // Enable automatic ratio adjustment, ratio is used to determine number of units to generate per group. 0.33 - number Value, minimum Ratio

v0.11-
Fixed RACS (Resistance/Guer) Side (Thanks for report by fideco)
Updated the ADV missions on Rahmadi with the createMarker methods like the ones on Sahrani. No markers will be visible in MP.
GL2: Added Alert Cancel Distance. Default: 1000.
Performance Optimized some of the Loops. (Thanks for the tips Crashdome!)
Created less enemies, as the AI Enhancements should make up for the otherwise usual 10:1 Enemy AI/player ratio (Thanks Jinef for Remembering ;-))
Added Debug Notice to Infoshare script, request by fideco. six_debug_lvl=16 will display the messages
Added 4 more Objective Areas in the ADV missions on Sara
Prefixed folders with SIX_
Cleaned up more Code, Split Code more from Configuration.
Moved AIM\cfg_Zone.sqf to SIX_AIM\c\cfg_Zones.sqf
ADV Missions have some scripting inside init.sqf
Changed the Beginner Mission to Advanced and added another, very basic Beginner Demo Mission. Hopefully this is more esay :-)
Rewritten Grouplink to SQF. Better response times, smaller code, tighter loops, thinned and cut a lot, removed some unavailable features.
Added a simple playervehicle generator for the missions on Sarahni
Fixed proper Ammocrates
Added _bui Arrays per Zone (Representing Static Building Overwatch Groups)
Grouplink now has debug messages, handy for the mission maker to see what's going on
Now displays the amount of units in how many groups with how many vehicles in how many zones in how many seconds generated on server aswell as client
Grouplink parameters changed
Grouplink more optimized
Rewrote the cfg_Zone.SQF
Using the new fCreateZoneMarkers to generate the Border/Patrol Zones
Rebalanced groups to Infantry, Choppers, Tanks & Transport Vehicles
Made a large patrol area for Choppers etc.
Smaller, but more Groups
Starting Position is Random Now
Using smaller patrol zones, creating more properly divided Patrols
Day/Night time Choice
AI Type Choice (limited atm):
UPS + UPSAI
UPS - UPSAI + Grouplink2


Credits:
AI and Spawn Manager, NAI AI-Enhancement and Patrol by Sickboy
UPS, Tracking and Some Functions by Kronzky (www.kronzky.info)
Grouplink2 by Keycat for OFP, converted by SNKMan to ArmA, Rewritten to SQF by Sickboy
Rndselect Function by Terox
AI Infoshare by General Barron for OFP, Optimized & Converted by Sickboy to ArmA & SQF
Many ideas based-on or inspired-by DAC by Silola (www.mapfact.com)
Spectator Script by Kegetys (www.kegetys.net)
fCreateZoneMarkers Script by Killswitch, with ideas by lwlooz and Sickboy
Have fun, 6thSense.eu


Forum topic:
- BIS




Enable javascript to be able to download from Armaholic please!



Tags: No tags