Jump to content

Bomber Formation AI concept


Recommended Posts

Posted

So, to preface this, I have minimal experience in AI, but, I love to think about these kinds of problems.

 

The following is in reference to a quote (quote is in this post too) this post in the general discussions section. I thought I'd put it here too.

 

3 hours ago, Uffz-Prien said:

All I'd really like to see is an engine capable of handling a big map and a couple of hundred Fortresses and Mustangs/Thunderbolts for Reich Defence missions.

Or

An actual proper night-fighter module. Functioning radar (ground and air), night that can't be gamma-gamed, with hordes of Lancs (and a few Mossies) vs 110s, 88s and 219s. :)

 

I think it would introduce a really awesome aspect if we had functioning early radar systems, but the problems with this are:

  1.  Difficulty of implementing the system (though I have absolutely no doubt the fantastic devs will work it out eventually!)
  2. Radar was ineffective against smaller targets, and was mainly used to find bomber targets, which leads me to point 3:
  3. In its current state, the IL-2 engine cannot handle large amounts of AI. This means that night campaigns would be lackluster, and the only places you'd find realistic simulation of the actual usage, would be in well co-ordinated MP missions with many players manning bombers. However, they'd be manning night-bombers, the gunners could hardly see a thing, and the only person really enjoying SHOOTING would be a radar equipped mossie/Me 410.

So unless the devs find a way to produce cohesive and communicative AI bomber formations, not much we can hope for.

 

On the point of the AI, perhaps a hive-mind-esque steering AI? I don't know much about programming AI, but maybe formations could be placed in the editor specially (or could be connected with some kind of flag saying "these bombers are supposed to be formation controlled" with their own sort of hive-mind AI that steers and directs all the bombers at once, then a separate, hopefully less taxing AI/section of code can be used to convert these directions into control surface movements on individual planes (thus you have multiple instances of less taxing conversion and collision avoidance AI, and one more taxing AI that steers the entire formation together, directing aircraft into box formations and closing the box up if a bomber falls by instructing another bomber to move into this new gap.)

 

You could also then separate the large AI down into a non-intelligent NAV section, that instructs the formation to follow a course set by the mission maker (in QMB, this could be an AI made course, since this instance of AI is not being used at runtime of the actual simulation, just in the menus, meaning it is running separate from all the other AIs that run in the sim of the formation), and an intelligent "formation controller" who instructs planes relative to a coordinate "box" that the formation is controlled in. Bombers are then ordered to co-ordinates within this box.

 

The NAV code moves this box across the map, and is essentially the "bomber formation", for all intents and purposes in the backend.

 

Movement within the box is actuated by the AI of each plane as each plane then uses AI to construct a path to a co-ordinate set that it is given by the formation controller, with the requirements that the path must not collide with any other bomber. Then the other part of the AI converts this path into a set of control surface movements and power changes, and the bomber slots itself into place within the formation.

 

However, once in formation, each plane's overall mapwide movement is controlled by the formation controller, which instructs planes directly (e.g. all planes climb, all planes throttle 75%). For turns, it would be a little more complex, as in a (for example) right hand turn, the leftmost bombers will turn a wider circle than the rightmost. This is (I believe) solved by a circular motion expression utilising the box co-ordinates. The expression could state that as your x-coordinate (assuming the box is oriented such that the Y axis is vertical in relation to the bomber roofs, the X axis spans from left to right, and the Z axis from front to rear, meaning 0,0,0 is at the bottom front left of the box) increases, your turn rate increases linearly (since all the bombers need the same angular velocity, which is a product of their linear velocity and distance from the focus of the turn). Then each plane AI can interpret this and fly the turn correctly, just like a formation.

 

This is a gross oversimplification, since the bomber could be slotting in with a loitering formation, meaning it has to take the curve of the box's flight path into account, but this is my idea of a solution to the problem. It almost certainly won't work, because I have no idea how taxing this is, or how taxing it is relative to the current implementation of bomber AI.

 

Again, just brainstorming and practicing thinking about algorithms. I should probably do my CS coursework instead but oh well!

  • Like 1
Posted

An interesting solution to the wrong problem. The major issue with big bomber formation AI (as I understand it from previous comments from the developers) isn't navigation but the large number of AI gunners involved, each of which has to be 'aware' of other aircraft, and to act accordingly.

Posted

oh.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...