Building any "real world" AI involves a ton of busy work. AI systems are kludgy things at best, involving loads of scripts to deal with every edge case. In the case of StarCraft, there are so many different issues going on that you would have to busy-code to tweak every single one of them. How do you code in something general enough to stop the gas-steal? How about path finding?<p><a href="http://arstechnica.com/gaming/news/2011/01/skynet-meets-the-swarm-how-the-berkeley-overmind-won-the-2010-starcraft-ai-competition.ars" rel="nofollow">http://arstechnica.com/gaming/news/2011/01/skynet-meets-the-...</a> is a great article that covers a lot of issues that I would not have immediately thought of that need explicit care to deal with and prevent your AI from having fundamental flaws.