Jump to content

Requests for AI


Freyberg

Recommended Posts

1) Triggers

I'm playing around with the AI - it's fun and I see that a lot is possible, but it would be useful if other events could trigger an order.
Some useful events would be:

  • Casualties/damage
    i.e. - you could order a unit or vehicle to move (or retreat to a fallback position) at a certain percentage of casualties or damage (the damage one is not so important, as tanks tend to retreat anyway)
  • Enemy retreat
    Unit engages and doesn't move to next order until (or unless) the enemy retreats (although I could see that the coding for this might be complicated).
    I know that you can set up something along these lines with target objectives, but simply responding to enemy activity would be simpler.

2) Advance/Assault etc.

It would be useful to have other orders apart from advance, assault etc., such as:

  • retire
    So that tanks could be made to reverse, instead of turning round and showing their rear armour - it's weird that when retreating they sometimes seem to turn around (I'm just assuming this is what's happening, because I've seen this behaviour quite a lot in QBs - or is this a feature only of the 'quick' and 'dash' commands?).
  • hunt
    Like the hunt order in the UI - so that a vehicle or unit would stop and engage on contact and not proceed from that point - its order would be considered to have been completed.
Link to comment
Share on other sites

3 hours ago, Freyberg said:

retire
So that tanks could be made to reverse, instead of turning round and showing their rear armour - it's weird that when retreating they sometimes seem to turn around (I'm just assuming this is what's happening, because I've seen this behaviour quite a lot in QBs - or is this a feature only of the 'quick' and 'dash' commands?).

As at Engine 4 this is now in game

Page 103-104 of the engine manual details


Each AI Order can designate a Fire Zone for area fire. This is done by painting on the 2D map just like a Movement Zone, but by CTRL-left-clicking instead. The tiles designated as targets will be colored red instead of yellow. While that AI Order is being carried out, the AI Group will attack the Fire Zone with suppressive area fire if it doesn't have any spotted enemy units to engage or other important tasks to do.
It is important to note that the Fire Zone is the lowest priority task for the AI Group. Other tasks, such as moving, unloading, attacking a spotted enemy unit, etc will take priority over shooting randomly at the Fire Zone.

Each AI Order can be given a location for it to Face towards. After painting the Movement Zone, Alt-left-click on a single tile that you wish the AI to face towards. When the AI Group reaches its destination, it will pivot or rotate towards the designated point.

By shift-left-clicking on the map, AI Groups can be ordered to Withdraw while moving towards their movement destination. Vehicles will move in Reverse to the destination, while infantry will leapfrog back while turning around to face behind them. Like the Facing Zone, Withdraw Zones are a single tile that the AI Group will face towards. For example, a vehicle given a Withdraw Zone will reverse towards the Movement Zone, while keeping its front pointed towards the Withdraw Zone.

P

Link to comment
Share on other sites

5 hours ago, Pete Wenman said:

As at Engine 4 this is now in game

Page 103-104 of the engine manual details


Each AI Order can designate a Fire Zone for area fire. This is done by painting on the 2D map just like a Movement Zone, but by CTRL-left-clicking instead. The tiles designated as targets will be colored red instead of yellow. While that AI Order is being carried out, the AI Group will attack the Fire Zone with suppressive area fire if it doesn't have any spotted enemy units to engage or other important tasks to do.
It is important to note that the Fire Zone is the lowest priority task for the AI Group. Other tasks, such as moving, unloading, attacking a spotted enemy unit, etc will take priority over shooting randomly at the Fire Zone.

Each AI Order can be given a location for it to Face towards. After painting the Movement Zone, Alt-left-click on a single tile that you wish the AI to face towards. When the AI Group reaches its destination, it will pivot or rotate towards the designated point.

By shift-left-clicking on the map, AI Groups can be ordered to Withdraw while moving towards their movement destination. Vehicles will move in Reverse to the destination, while infantry will leapfrog back while turning around to face behind them. Like the Facing Zone, Withdraw Zones are a single tile that the AI Group will face towards. For example, a vehicle given a Withdraw Zone will reverse towards the Movement Zone, while keeping its front pointed towards the Withdraw Zone.

P

Thanks for that - apologies for being lazy and posting my question before reading the Engine manual (I'm reading that section now).

I have to admit, there are a number of things - some small, some possibly a little less small - that BF could do to make the AI more responsive and to make the interface more usable.

Some more things I would add to the (short and fairly modest) wishlist above would be

  • timed pauses (not based on absolute clock time)
  • simple conditional branching
    - this would only have to be very simple to add a lot to the game, such as a checkbox that would allow an order to occur even if the previous order/s had not been completed.

 

Link to comment
Share on other sites

16 hours ago, Freyberg said:

Some more things I would add to the (short and fairly modest) wishlist above would be

  • timed pauses (not based on absolute clock time)
  • simple conditional branching
    - this would only have to be very simple to add a lot to the game, such as a checkbox that would allow an order to occur even if the previous order/s had not been completed.

Conditions would be nice, I agree. Perhaps some day but they would raise the complexity of development, UI and testing. Meaning it would be a lot of work.

As for relative time, yes that would be great too. There is a workaround that you might find helpful: set clock times in the past (usually I just set the time to 0:00). That way when the unit gets to the end of their order the time is up and they will begin executing the next one. It does not allow pauses but it does get the orders executes once the trigger is triggered.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...