S! Von Stalhein!

Flight sim AI has been programmed both ways in different sims, with varying degrees of success. Really it is up to the developer how they do it.

A rules-based AI has several strengths. If you program AI for different aircraft seperately you will see the AI stay within the basic flight dynamics of their aircraft. You can for example program such that AI pilots in a certain plane will stay above a certain airspeed or climb whenever a certain event occurs or whatever. YOu can make pilots basic 'energy fighters' or 'angles fighters' based on aircraft. The problem with this type of programming is that it is very predictable and does not really lead to complex maneuvers.

A sim can also be programmed to use pre-set maneuvers. The obvious strength here is that you can then use more complex maneuvers. The weakness is that those maneuvers may or may not be appropriate when they are used.

Most flight sims today use a mix-and-match of both techniques. They will have pre-set maneuvers that the planes follow, but select those maneuvers based on a rules-based criteria. This leads to both the best and worst of both worlds, where the planes use predictable maneuvers for different situations.

And therin lies the rub.. You have to define rules to make the planes 'smart,' but doing so makes the planes predictable. You can add a level of randomness to the maneuver selection, but then you go right back to having planes use maneuvers that are not necessarily appropriate. The more random the planes are, the less appropriate their maneuvers will be. The more appropriate they act, the less predictable they become.

The best AI can be led-along like a dog on a leash. Good human pilots over time learn how the computer reacts to given stimuli, and then use that stimuli to set the computer up.

There are just too many variables. Altitude is a variable. Speed is a variable. Plane types are variables. Relative speed and altitude are variables. Direction is a variable. Distance is a variable. The number of planes in a fight all present new ranges of variables. Clouds create variables. Visibility is a variable. Ammunition loadouts are variables. How do you program around all of these variables (and I only named a few) to choose the right maneuver at the right time? People do this in a fluid, intuitive way that computers are not capable of. People are not computers. People do not just 'process data.' People actually think.

In chess, do you choose your move in a fluid environment? No - you look at each alternative and at the consequences of each action. There are a finite number of moves, and even when thinking several moves ahead there are a finite number of strategies with a finite number of outcomes. Chess is the perfect environment to show-off the 'capabilities' of AI. Chess is complex enough to make AI impressive, but not complex enough to make it impossible. Think about how really good chess players play - they almost emulate computers! What a great fit for computer AI! Flight simulations are a completely different animal though.

Since the inception of flight simulations we have been asking for better AI. Over time we have gotten better AI, but it still isn't good enough.

Here is a quote from Tailgunner in which he is saying what AI should do:

Quote:
3) Even with the limits imposed by scripted AI, the AI pilot should have 3 or 4 options to choose from when reacting e.g. Turn left, dive and extend, split S, turn right with increasing options for 'harder' AI
Tailgunner wants the AI to choose from alternatives. This overlooks one critical fact - computers are incapable of making a choice. You can 'emulate' choice, but how do you do that? Either you make it random - in which case the 'selection' may not be appropriate, or you make it 'rules based,' in which case it will be predictable.

That is not to say that you should't try to make 'better' AI, but it is to say that we should recognize that no matter how 'good' we make it, AI will never be 'good enough.'

So what can we do? Well, we can keep trying to 'get blood from a rock' and watch our genre shrink while other genres grow, or we can try to program things better, focusing more on experiences and less on pre-concieved notions of what constitutes 'online' or 'offline.' If we can break-down those traditional barriers we can start to experiment with environments that are neither 'online' nor 'offline,' but really a mix between the two. And then we can start to do some really intersting things like use real people when possible for the 'AI' portion of an offline campaign.

Finally - Lexx did make one point I want to address. Lexx said that most simulations today are both 'online' AND 'offline.' Come on Lexx... There is a difference between an environment in which a simulation can do both at different times, and one in which the simulation is using elements from both at ALL times. What bothers me about your argument Lexx is that you knew that difference when you made your post.