
I’m finally doing some A.I. work in Orcs vs. Martians.
Currently, OVM’s A.I. has an annoying cheat, one that StarCraft also had and was infamous for. The cheat is that A.I. players can see the whole map. Fog of war doesn’t affect them - they know where the resources are, they know the terrain, and most annoyingly, they know where all your bases are.
In contrast, you, the human player, have to explore thoroughly in order to know anything.
A lot of OVM testers have said that OVM games are “too fast”, and this is one reason why. As soon as an A.I. player has military units, he can send them straight to your base.
Nowadays, I’m not sure how prevalent this cheat is in RTSs. I remember seeing an interview with the developers of Age of Empires II, who were kind of proud that AOE2’s A.I. didn’t have this cheat (it had to explore just like a human player).
- - - - -
Personally, I really dislike the cheat. Rules-wise and fairness-wise, I like being on completely even ground with A.I. players. I prefer to compete with them based soley on their A.I. algorithms. It’s ok for them to have handicaps, but those should be things that get specified in the game setup.
The key to removing the cheat is that each A.I. player needs to remember his own “view of the world”. Then, he needs to reason based soley on that view of the world, and not on the actual world.
His personal view starts out very incomplete, since most of the world is covered by fog of war. It also continually becomes stale, as information gets old and out-of-date.
Which leads to some interesting scenarios.
- for one, the A.I. may build up an attack force, ready to attack another player — but then may not know where any other players are to attack!
- the A.I. may also send an attack force against an enemy base that he remembers — only to discover the base is no longer there! E.g. if it got destroyed in the interim by a 3rd player
It should produce pretty interesting behavior, as the A.I. would occasionally squander opportunities and make mistakes, due to having imperfect information. Much like a human player!
Getting this to work in Orcs vs. Martians is going to require a good exploration algorithm. If the A.I. can’t see the map, his units need to be able to explore the map. And once he’s explored it, his units need periodically to re-explore it, because of the staleness issue. So the algorithm needs to handle both initial exploration, and re-exploration.
I think the exploration algorithm is going to be pretty key to getting this all to work.