Tue Apr 29, 2003 5:55 pm by Sapient6
Generally NPC's end up cheating in one way or another in order to make up for weak AI. Why does this happen? How about: any number of reasons. Sometimes it's just laziness, the coders don't want to figure out how to make their AI as intelligent as possible, and even if they do then they have to figure out how to quantify that intelligence in order to gradiate the difficulty. It can be done, but it's by no means an easy task.
I think in a game like freelancer, where there can be a great many AI units present at any particular time, the answer is not laziness. Stop and consider how many AI units might be present to keep track of in a single moment. Consider a server with a player limit of 20. With 20 players online at once, and none of them in the same location, you could easily have another twenty AI units around each player that the server has to keep track of. That becomes four hundred AI units.
Now, take another factor of "intelligent" AI: it's expensive. For the AI to be competitive against human players without cheating, it has to be able to measure up any given situation and come to a conclusion about what course of action is best right now . That's a lot of code to process. MS would have to up the minimum requirement on the box. I doubt a 1.4ghz machine would be able to handle even ten "intelligent" AI at once, let alone any of today's consumer boxes handling four hundred.
In short, AI units in most games have to cheat to one degree or another just to make the game playable on the average user's computer.
Could Freelancer's AI be smarter than it is? Certainly, but I don't think it could realistically be smart enough for the AI to stop cheating and still be competitive.