I'm rather suprised there are no player beating ais for starcraft. i dont think it should be very hard as decisions need to be made very quickly in this game and humans are bound to make more than a few mistakes. but perhaps i'm underestimating the problem. it may have something to do with the limitations of the api though.
- Controlling individual units: scouting, resource gathering, micro-management while attacking/retreating, ...
- Resource management and planning: knowing when and where to expand, save resources for certain points in the tech tree, e.g. so you can immediately build a bunch of units once a crucial research or building is complete, ...
- Figuring out what the opponent is building and what he could be doing: where is he and what race, what tech buildings are there, when does he start to harvest gas, key tech buildings may be hidden in other places of the map, essentially even not being attacked with certain units at a certain time may be a clue to some strategy
- Reading and using the terrain properly: High ground has an advantage, Terran can wall off certain entrances with a depot and a barracks, where would be good places for drops (and with what units), figuring out where the enemy could come from and which places to defend – all those vary by map quite a bit
- Finding a good strategy to counter what the opponent is doing: This ties into a few of the things above, because first it must be known what the enemy is doing. Keeping the strategy flexible enough to counter the enemy's counters, etc.
Some of those are necessary to solve in real-time (unit movement), some of those can be run in background and don't need to be frame-exact (strategy, etc.), which helps a bit. But there are still quite a few parts to playing the game, all of which are interconnected and require information from other parts. Many successful bots currently are rush bots, which exploit that most bots are weak in the beginning and are easy to create. Others rely on a number of fixed strategies and build orders that are chosen based on what the enemy is observed to do.