Wow, a lecture on AoM AI? Pretty cool. Is this for a course or just a "recreational" thing?
I haven't tried any AI scripting myself but I have used RM scripting (which is the same language) and trigger scripting (which is also the same language and can use some AI features). From a programming point of view, the main thing I miss in the AI language is object-oriented features. An RTS game is a perfect place to apply an object-oriented philosophy because there are many, clear classes of objects that interact with each other and may be extended into various sub-classes. This is less of an issue in RMS, but the AI is one of those places where being able to access the game in a structured way would help.
As for what an AI can do that a human player can't and vice versa, here are some points:
An AI player is better than a human in the areas of:
- Keeping an "eye" on all of its units at the same time (so villagers don't ever go idle, or so it can attack 3 ways at once, or so each soldier targets something it counters, etc)
- Mathematical calculations of all sorts: which unit in a 1v1 battle will win, how many villagers should be put on a certain resource to get 500 of it at a specific time, how far a group of units will travel in a certain time, etc.
- Full knowledge of the game: exact stats and bonuses for each unit, technology costs and exact effects, major god bonses, as well as "instant" knowledge of opponent upgrades instead of having to quickly click units and press F1
- Very fast reaction times
- Following scripted build orders/strategies (for example, doing a "perfect" Ra Fast Heroic or Loki Hersir Rush build-up)
An human is better than an AI at:
- Logical and deductive thinking (for example, knowing to cast Vision on one side of the Anatolia map at 10-15 seconds into the game and from that finding whether the enemy Ulfsark is building a dock on one side or the other)
- Ability to avoid or exploit game quirks/bugs (for example, countering Raiding Cavs with Toxotes since Raiding Cav pathfinding is bad
- Ability to count for terrain, objects, elevation, etc in calculations of who will win a battle (something very hard for a computer to evaluate in real-time)
- Intuition and instinct (being able to figure out general patterns and make decisions based on limited or hard-to-define information)
- Ability to learn and adapt. (Some AI systems try to "remember" what kinds of units the enemy is using or even what happened in previous games but humans are much better at it).
[This message has been edited by Matei (edited 04-10-2003 @ 08:28 PM).]