Hi all, I'm lotb.
I've been playing with the AIs posted in this forum. All I can say is THANK YOU very much to all the AI developers out there. I particularly love Strategy AI (for it's code simplicity, at least that's how I see it) and Green Tea AI (for the great game tactics each general plays).
Brings me to an idea I'd like to share as you AI developers out there. I love Strategic/Military theories and here's one basic one that you might want to look at as you make your AI scripts:
The OODA loop by John Boyd (http://en.wikipedia.org/wiki/OODA_loop
) OODA stands for Observe-Orient-Decide-Act.
The basic idea is get into the decision cycle of your opponent. Your tactical/strategic attack should disrupt your enemy. You do this by working at a faster tempo. Decide faster than your opponent and move quickly.
This is the heart of the intelligent REACTIVE scripts out there now. If your bot sees this number of zealots, your AI script formulates that it must create this number of marauders or banelings. This is how you counter your enemy.
For this to work, INTEL is very important. This is the "Observe" element. That's why we run early scouts to see what our opponent plays. If a protoss player puts out 2 Gateways, you'd immediately think - he'll mass Zealots. Thus you (or your script) "Orients" to the situation. Create banelings or marauders immediately <- "Decide" and "Act".ON GAME COUNTER
I've seen the scripts play typical counters when a scout unit have determined what the enemy's playing. However, there are cases when there isn't effective scouting being done. For instance the "STRATEGY" AI I've seen tends NOT to scout and identify what the enemy is doing. I think an effective "scouting" tactic must be within any AI script.OFF GAME COUNTER
I've also noticed that scripts have focused mainly on-the-game counter. I do not know if this is possible - what if the bot can save your last game with it and remember your build order and counter your strategy based on what you've done before?
I've seen a "MIMIC AI" map that supposedly could copy your build order. I was wondering if this could be used a somehow in conjunction with the other IN-GAME AI. Theoretically, the computer would remember your units/build order by a certain time and create counter-units before said set time.THEORETICAL AI SCRIPT
I'm not really a coder (though I try to understand it). Here's how I think I would make a AI script based on OODA and OFF-ON Game concepts:
1. Load previous game's (if any) build order. Load counter build order. Run.
2. Send scout. Find enemy location (or any new base location). See build order if consistent. If not create and send harassment units (disrupt supply input). (Harassment units units also created and played if no previous game was played)
3. If scout dies, replace or find other ways to get enemy intel. (Compsat, etc.). Find other bases and monitor.
4. Create counter buildings and counter units.
5. Repeat 2, 3 and 4.
Well something like that. Rough theory on how to create strategically smart AI.
You'll notice that this is a purely macro game. If there was a way to mimic and record the micromanagement behavior of winning game moves, then the AI would emulate/counter this as well.
Sorry for the long post. I just want the AI scripts to be much better. HOpe what I've shared might be useful.