Open birgersp opened 8 years ago
Also add speed and formation configuration of unit performing tasks
-- Create task force and add objectives directly
autogft.TaskForce:new(country.id.USA)
:addUnitSpec(4, "M-1 Abrams")
:addUnitSpec(4, "M-1 Abrams")
:addStagingZone("USBase1") -- Set "USBase1" as a staging zone
:enableReinforcementTimer(600) -- Reinforce task force from staging zones every 10 min
:beginObjectives() -- (Objectives)
:flagCondition("task1Flag", 1) --Firstly: wait for flag (some trigger)
:transport("Combat1") -- Move to "Combat1" (full speed)
:defend("Combat1", 1200) -- Defend zone for 20 min
:clear("Combat1") -- Clear zone of enemy units
:transport("Combat2") -- Move to "Combat3" (full speed)
:defend("Combat2", 1800) -- Defend zone for 30 min
:clear("Combat2") -- Clear zone of enemy units
:flagCondition("task1Flag", 2) -- Wait for some mission flag
:transport("USBase1") -- Move to "USBase1" (full speed)
:release() -- Make units available to be absorbed into a different task zone
:endObjectives() -- (End of objectives)
:reinforce() -- Reinforce the task force
Forum discussion:
I've been doing some testing and concept design of an objective-based task force system. Where each objective has a condition. Once the condition is fullfilled, the task force moves on to the next objective. But there are a couple of "issues"
Consider the task force has the following objectives:
- Transport to "task1"
- Clear "task1"
- Defend "task1" for 30 min
- Refuel
- Transport to "task2"
- Clear "task2"
- Defend "task2" for 2 hours
- Transport to "base"
- What should happen if the enemy suddenly appears in a previously captured zone? For instance, what if the enemy captures "task1" while the task force is attacking "task2"?
- Does it really make sense to reinforce objective-based task forces? Lets say a task force is destroyed when it was refueling, should the reinforcements go refuel with the rest of the task force? Maybe it would be better to have "reinforcing" as an objective instead...
All in all, there are potentially big (logical) differences between the current "use" of task force and the new system. I'm considering to keep the current system, and perhaps make a new module for objective-based task forces instead. I would add other mechanisms to replace "reinforcing", and the task force will ignore what happens to "task1" once it is moving to take "task2".
Conclusions for initial design:
Example use:
autogft_TaskForce:new()
:setCountry(country.id.RUSSIA)
:addBaseZone("STAGING1")
:addGroup(4, "T-90")
:setUseRoads(true) -- Use roads (when advancing to the next zones)
:addControlZone("task1") -- Capture this zone (retreat if re-taken)
:addIntermidiateZone("task2") -- Use this zone as waypoint when advancing
:setUseRoads(false) -- Don't use roads for the next task zones
:addObjectiveZone("task3") -- Capture this zone (ignore if re-taken)
Blocked by #83
Issue by birgersp Friday Oct 14, 2016 at 13:47 GMT Originally opened as https://github.com/jkhoel/dcs-mission-intel/issues/20
Add flexibility to task force class so tasks can include
Destroy Destroy buildings
Defend Stay in zone for some time
Clear Actively take out enemies in zone
Occupy Same as defend, but large portion of units are idle and won't return enemy fire immidiately. Also consider adding a rule not to fire at enemy units if they are outside of current zone (avoid provocation).
Evacuation Same as occupy, but retreat to a "safe zone" if attacked (or, if attacked by overwhelming force)
Refuel/rearm Make units "paralyzed", if attacked, don't return fire until some time has passed. Wait for refueling trucks etc.(?)