

A Survey of RTS Game AI Research and Competition in StarCraft (2013) [pdf] - mrtbld
http://webdocs.cs.ualberta.ca/~cdavid/pdf/starcraft_survey.pdf

======
tinco
Glad to see the scene is still alive and well. Back when it was picking up I
made a Ruby client to one of the server based BWAPI clients, I built a really
neat Ruby API to it too. Unfortunately I invested so much time at that point
the actual 'AI' I made just 6-pooled the opponent, in just 44 lines though[1]!

Lately the release of mruby made me think maybe I should try again :) (mruby
seriously reduces the amount of effort required in getting Ruby to talk to
BWAPI.)

1]
[https://github.com/d-snp/RProxyBot/blob/master/basic_ai.rb](https://github.com/d-snp/RProxyBot/blob/master/basic_ai.rb)

~~~
Lambdanaut
I used the python BWAPI client. I recently tried to get back into it but it
seemed a lot more buggy and BWAPI wouldn't run on my newer Windows PC. :/

It was a lot of fun. Figuring out a base layout was the most difficult part
for me. I ended up using the random function and placing buildings around my
main base at random offsets. Didn't get too far with that, haha.

~~~
tinco
Yeah, silly problems like that really made being competitive with established
AI's or even players hard. Just an AI that sets up a base properly and manages
to build a proper army at the right timings but without any strategic insight
into the opponent or even micro-decision making (which unit targets which
opponent) will still do very decently, just because all the boiler plate is so
much work not many AI's get to the actually being 'intelligent' part.

------
sauere
I played the sh*t out of Broodwar (and nowadays, SC2 HOTS) but i never heard
about this Bot league. Thank you, this was a very interesting read.

------
qznc
Is there a human vs bot comparison?

~~~
2Pacalypse-
Yes. Here's a video[0] of the winner in 2014 StarCraft AI Competition against
one of the better human player.

More can be found at their official website[1] under Media/Files tab.

[0]
[https://www.youtube.com/watch?v=DQI1wyRmeUQ](https://www.youtube.com/watch?v=DQI1wyRmeUQ)

[1]
[http://webdocs.cs.ualberta.ca/~cdavid/starcraftaicomp/](http://webdocs.cs.ualberta.ca/~cdavid/starcraftaicomp/)

~~~
qznc
AI tries to defend with siege tanks against airborne mutalisks??

~~~
tinco
Building these AI's is actually a _lot_ of work. They're usually built by a
single or a few persons, in their spare time or perhaps as a college course.
Most time is spent making sure your bot actually plays the game. Very little
if any at all time is spent making the bot smart enough to deal with
situations like this. In this case, obviously there's a bug where the bot is
not dealing property with aerial attacks. A human player would have given up
or made a suicide attack the second those mutas landed as he realized he
missed a turret at his main.

~~~
noiv
Very well said. I've started a few month ago on an AI/Bot for 0AD an open
source game. Scripting language is JavaScript running on SpiderMonkey. So far
I've accumulated thousands of locs, learned a lot about writing fast code
against a specific engine and have barely more than a framework. But I still
remember the moment the bot did it's first baby steps and actually build a
structure to train some scouts and started exploring the map.

Also it became a decent exercise in dealing with abstraction. The code base
just explodes if you do not follow DRY - strictly.

------
z3t4
I don't know any games besides chess and tic tac toe where a bot have been
able to beat a good player ...

~~~
cjbprime
Your research is out of date, then. :) Even the game of Go, thought to be the
hardest for computers, now has bots at the 6-dan (stronger than >99% of humans
will ever be) level.

