so a basic AP is just a weak AI, it does as its told
but having ANOTHER automatic process to feed these instructions, gives you the basis for an AI
taking the combat example from RF
if a vessel is flying in formation, and it detects that a missile is fired at it, it recieves this as an instruction, to turn away in such a manner as to avoid the missile
Exactly. While the autopilots have a limited decision making process, they're not the brain. You need a separate system to hand out instructions.
in the same way, you could program any vessel to do the same:
if you want some small aircraft to fly around your airbase, you just put it at a suitable runway, tellit how to take off, then instruct it to do so, then use a chain of commands (which could include programmed waypoints) to change heading, altitude speed etc
OBSP already supports flying waypoints. The upcoming release of OBSP will contain scenarios where vessels fly a predetermined path. The goal of the AI is to choose the path without any intervention of the user. You want the vessels to pick your own destination, ask for clearance to taxi and take off, fly to their destination, ask for clearance to land and then land.
however, lets not forget that we have problems:
time acceleration:
if you increase your time accel to 1000x from orbit, to get closer to your de-orbit, all the craft in the atmosphere may crash, since their control surfaces and throttle become locked for 1000 timesteps at normal time
not to mention them getting in the way (though they wont stop you without collision detection)
Well, thanks to escapetomsfate, OBSP has a basic high speed collision detection. We've successfully tested a head on on-orbit collision at 100 x time acceleration. Of course, we collide a simple sphere and nothing as complex as Artlav was able to do. Instead of iterating through each step, we basically figure out if the vessels, flying from previous frame to this one were ever close enough to touch.
As for the autopilot time acceleration... indeed having atmospheric autopilots at high time acceleration is a problem. I've recently made some improvements to my underlying control functions that allow planes to execute all autopilots successfully even at 10x time acceleration (but only tested at above 50 FPS), however, I'll never be able to push it to 100x no matter how hard I try. I'm actually not aware of any games that can do their autopilots at high time compression. The most I've seen was X3 with something like 10 or 12, but even at those compression ratios, the autopilots get dodgy.
One possible solution would be to let the autopilots drop what they're doing and just fly in a straight line with as low speed and thrust as possible. Flying in a line requires no corrections and I'm hoping I can make my control functions accurate enough to survive 100x for that.
Even so, Orbiter's atmospheric model doesn't like high compression...
The simple solution is to limit the time compression (so users don't cause autopilots crashing because they press t out of habit) and have an override available, for when you really do want to go to high warp...
personally, i think it needs some special coding to control it, to make sure that they fly realistically and that they actually fly!
you could still use the AI to go to orbit, as long as the AI can understand the craft, or have a working sub-autopilot to launch/re-enter it, which could require a fair amount of code (as much as a launchMFD, glideslopeMFD, basesyncMFD PLUS the code to control the craft, it makes it a very CPU intensive addon)
and you wont really need mesh/texture knowledge, you can use existing models (like the stock DG, or borrowing other people's aircraft meshes (with permission of course)
The goal of OBSP is to allow all existing vessels to participate in combat to a limited extent. Every vessel should be able to fly and fire weapons, but they'll have trouble landing because not every vessel has a different way to deploy landing gear. For this, OBSP is working up a standard, so that addon developers to program their vessels in a way that the autopilots could access the special features. This implementation will be done via VESSEL3::clbkGeneric to minimize impact on each developer.
In addition to making all existing vessels combat capable, OBSP will also have its own vehicles. In the short term, we're looking at augmenting the combat version of the DeltaGlider called the Combat Cow. The ultimate goal is to create a generic vessel class with predefined selection of 2D panels, 3D cockpits, electrical and weapon systems and so on. We need it for OBSP to quickly create a large number of vessels, but we'll also make it available to the community as a .h and .lib that will make developing C++ vessels a lot easier for beginners. Instead of having to create panels themselves, they'll call a function inside the generic vessel and just like magic, the panels would appear in a ship.
That's distant future though. Since nobody volunteered to help us out with that side project, it means development will be going slower...