New AI Task System DCS: A-10C has new task system for AI-controlled groups of unit. It provides to create flexible and detail configurable AI group behavior in a mission. Necessary improvements done both in AI engine and Mission Editor. Architecture There are main terms: controller, task, background task, action and behavior option. Controller is a object that controls units or group of units. Controller performs a tasks. Task is a process, so performing of task by controller requires a time. Flying route, following leader, engaging targets and performing a mission are samples of tasks. There are two types of tasks: main tasks and background (en-route) tasks. Main task is a solid and uninterruptable task. When performing this type of task controller each time is performing an actions those associated with this task. One and only one main task can be performing by controller same time. Task performing can be finished by itself or finished by user. Performing mission, flying route, orbiting, engaging designed target or bombing designed point are samples of main task. Background (en-route) task is a task that can be performing with main tasks simultaneously and can interrupts main task many times to perform associated with this background task actions. Several background tasks can be running same time one main task running. Background task can be finished by user only. If you want order flight of battleplanes hunting enemy vehicles along the route you can assign ―Flying Route‖ main task and ―Engaging vehicles‖ background task to group controller. When new target detected group will interrupt flying route and start engagement. After engagement group will resume it's route. Because several background tasks can be running at same time there may be a situation when several tasks at same time requires group to perform actions associated with these tasks. For example A-10 flight detected many targets while performing two background tasks. One task requires enemy armour engaging in one zone and enemy truck convoy attacking in second zone. Both target detected, but we want this flight to destroy truck convoy first. To solve this problem all background tasks has priorities. Combo task is a task that combines several tasks (main or background), actions and behavior options those running one-by-one or switching by any other rule. Mission is a sample of combo task. When performing mission group following route and performing tasks and actions associated with each waypoint. Commands don't require time for performing. Changing waypoint, changing radio frequency, jettison payload, restoring fuel and ammo are samples of commands. Behavior options defines restrictions those has effect on controller behavior all time. When controller performing any tasks it stay under these restrictions. Options can be changed many times and at any time of mission. Behavior option can be represented by <variable> = <value> pair. ―ROE‖ = ―Return Fire‖, ―Radar using‖ = ―Keep radars switched off‖, ―Aggressiveness‖=―Low‖ are samples of behavior options. The common term for tasks, commands and behavior options is actions. Implementation In DCS:A-10C controllers are presented by vehicle and air groups. There is no way for mission designer to control separate units in group. Mission Mission is the most high level task for all controllers. Mission consists of route and actions lists each of them associated with own waypoint of route. When group passing the waypoint actions of associated list will be performing one-by-one. You can edit route in route panel and tasks & actions lists of any waypoint of route in actions panel. Route Route consist of several waypoints. Each waypoint has 9 properties. 1. Number. 2. Name. Just a string that can be a helper in briefing. 3. Type. There are 6 types available. These types grouped into 3 groups: 1. Takeoff types. Available only for first waypoint of route. 1. 1. ―Takeoff from runway‖. 1. 2. ―Takeoff from ramp‖. 2. Waypoint passing methods. Available for all but not last waypoint of route. 2. 1. ―Turning point‖ is a passing method that requires lead turn. 2. 2. ―Fly over point‖ requires flying over waypoint and flying course of previous route leg. 2. 3. ―Fin point‖ requires flying over waypoint and flying course of next route leg. Not implemented yet. 3. Landing type - ―Landing‖. Available only for last waypoint. 4. Altitude. When flying to this waypoint group will climb or descend to reach assigned altitude as fast as possible. 5. Altitude type. Barometric (above MSL) or radio altitude (above ground level). When altitude type changed the result altitude MSL must be stay same. So indicated altitude will be converted correctly. 6. Speed. Unavailable for first waypoint. When flying to this waypoint group will accelerate or decelerate to reach assigned speed as fast as possible. 7. Speed lock (flag). Unavailable for first waypoint. If flag raised the group will keep assigned speed on route leg from previous to this waypoint. If flag raised AT/TOT edit box becomes read-only and indicates estimated ETA for route leg. If estimated speed exceed maximum value for this type of aircraft text becomes red. If values lock flags of the waypoint or neighbor waypoint(s) cause error ―Speed lock‖ check box will be bounded by red contour. 8. Time (AT / TOT). Group activation time (AT) for first waypoint or assigned time on target (TOT) for other waypoints. By default group activate time is mission start time. 9. Time lock (flag). By default in this flag raised for first waypoint so AT locked by default. If AT unlocked the group will be activated at time to arrive to nearest next waypoint with locked TOT at assigned speed of legs between. If time of other waypoints (TOT) locked group will adjust it's speed to arrive to this waypoint at assigned TOT. By default TOT of a waypoint is unlocked. If flag raised speed edit box becomes read-only and indicates estimated speed for this route leg. If values lock flags of this waypoint or neighbor waypoint(s) cause error ―Time lock‖ check box will be bounded by red contour. Lock flags Speed and time flags of the waypoint can be changed independently, but the waypoint will be only valid if values of its lock flags conformed with lock flags values of other waypoints of route, unless error will be indicated. Route only valid if it has at least one waypoint with locked time. By default first waypoint has locked time. If you unlock time of all waypoints check boxes of lock flags will be bounded by red contour and you will get error message window when closing route panel. Error: route has no waypoints with locked time. Also you will not be able to save mission due the error. Error: mission cannot be saved because of route of New Airplane Group has no waypoints with locked time. Waypoint with both speed and time locked only valid if the waypoint has no previous waypoints with locked time or has at least one waypoint with both unlocked time and speed between the waypoint and nearest previous waypoint with locked time. See the picture below. In this picture and other pictures waypoint #i represented by W. If waypoint #i has locked speed it i represented by Si. If waypoint #i has unlocked time it represented by Ti. Route legs are numbered by number of “to” waypoint so route leg from waypoint #i-1 to waypoint #i is leg #i. Route leg #i length represented by L. Estimated speed on route leg #i is S . i Ei Waypoint W has both speed and time locked and it's valid because waypoint W with both i+1 2 unlocked speed and time located between W and nearest previous waypoint with locked time W . 3 0 L1 L2 L3 W0 W1 W2 W3 ... T0 S1 T3 S 3 So group when flying leg 1 and 3 will keep assigned speed (S and S ), but when flying leg 2 1 3 group will adjust its speed to reach W at time that make possible to reach W on speed = S at time 2 3 3 T . The estimated speed on route leg 2 is S = L / (T – T – L / S – L / S ). 3 E2 2 3 0 1 1 3 3 If you lock speed of W it causes error because legs #1 - #3 will has locked speed and this thing 2 will be in conflict with locked time of W . 3 L1 L2 L3 W0 W1 W2 W3 ... T T0 S1 S2 3 S 3 But if you unlock time of first waypoint (group activation time) route will be valid again. L1 L2 L3 W0 W1 W2 W3 ... T S1 S2 3 S 3 Group will be activated at time to reach W at time T by flying route legs 1, 2 and 3 with assigned 3 3 speeds S , S and S . Estimated time of activation is T = T – L /S – L /S – L /S . 1 2 3 E0 3 1 1 2 2 3 3 If you raise both flags of the waypoint that has previous waypoint with locked time and all waypoints between has speed locked it cause error: check box of lock flags will be bounded by red contour and you will get error message on route panel closing. Error: waypoints all with locked speed surrounded by pair waypoints with locked time.
Description: