So, I was able to get the ship AI working quite well. Lots of little bugs, including one physics bug that was rather surprisingly bad =) I fixed it anyhow.
The question now is what happens with these traffic drones in terms of combat and other interactions (hailing). I have partly envisioned a system where I could somehow unify the three levels of ships; that is to say, the NPC ships that wander the galaxy, the transport ships that fly between planets, and the traffic ships that just stay to the planets.
The easiest solution is to keep things working the way they work now; but somehow I just don't like this very much =) It is too confusing for the player. But what I can do is communicate the ships classifications to the player (icon types, target names) and keep things the same. Actually that is probably what I should do. The heterogeneity is really O.K.. Moreover, I may end up using special model generators for other types of ships, i.e., I might end up adding more different types of ships as well, so why go to the effort of unifying what is, really, different gameplay systems. If I want to make planet ships hailable, I can work that out independantly of the other ships. I can, at least, share the hailing code. The planet ships, when attacked, will just run to the nearest city and disappear. They won't fight back. They will give a different hailing message than the transport ships.
This makes the most sense. Because what happens when I add satellites? Won't I want to use a similar setup? Or if I had some kind of digirible class that just floats in the sky? Yes this makes sense.