Bot Name: Nova Bot Race: Terran Author Name(s): Alberto Uriarte Affiliation(s): Drexel University Nationality(s): USA Occupation(s): PhD candidate (These will be listed on the competition website) Bot URL: http://nova.wolfwork.com Personal URL: http://nova.wolfwork.com/about.html Affiliation URL: http://drexel.edu/cci/ Q: How did you become interested in Starcraft AI? During my master degree I wanted to work on a final project about squads AI, then I found the Starcraft competition and I thought it was the perfect testbed. I have been submitting my bot since the second year of the competition. Q: How long have you been working on your bot? I don't keep track of the time invested, but more or less one month per year. Therefore aprox 3-4 months so far. Q: About how many lines of code is your bot? Only the .cpp files 13.176 lines of code. Q: Why did you choose the race of your bot? It was by convenience. I never played Starcraft multiplayer before (only the campaign), so the first thing I did was to learn how to play. And Terrans is the easiest for a beginner. Now in perspective I think Terran is in the middle in terms of bot complexity (Protoss the easiest and Zergs the hardest) Q: Did you use any existing code as the basis for your bot? If so, why, and what did you change? The first competition wasn't open source. So I started my bot from scratch. Q: What is the overall strategy/strategies of your bot? Why did you choose them? Until this year I used mecha army (Two factory BO for Protoss and One Factory Fast Expansion for Terran) and bio army (One Barrack Fast Expansion against Zerg). Due the popularity of rush strategies this year I added a BBS rush and Two Port Wraith strategies (using learning to decide which strategy to use) Q: Do you incorporate learning of any form in your bot? If so, how was it accomplished? Yes, for this year I implemented an e-greedy to switch between 3 different strategies for each race described before. The epsilon decrease over time using the number of winning games grouped by opponent and map size. But the number of games by bot this year was too low :( Q: Do you use any interesting AI techniques or algorithms in your bot? If so, which? So far, influence maps for kiting, FSM for the strategies, and e-greedy to learn which strategy to use. But I have more things coming ;) Q: What do you feel are the strongest and weakest parts of your bot's overall performance? I think my bot is weak on cheese BO or well tuning rush strategies, and it has a decent middle game decision. So the key now is to develop a good opponent modeling in order to stop any rush strategy (hehehe sound easy....) Q: If you competed in previous tournaments, what did you change for this year's entry? For this year I only added the learning part. Q: Have you tested your bot against humans? If so, how did it go? No, but is something I want to do before next tournament. Q: Any fun or interesting stories about the development / testing of your bot? Q: Any other projects you're working on that you'd like to advertise? I'm working on BWTA2 (https://bitbucket.org/auriarte/bwta2) improving the terrain analysis and in a 24h bot ladder http://bots-stats.krasi0.com/ Optional Opinion Questions: Q: What is your opinion on the current state of StarCraft AI? How long do you think before computers can beat humans in a best-of-7 match? Maybe in 10 years, when we cannot find any Broodwar professional player anymore :P Q: What do you feel is the biggest hurdle (technological or otherwise) in improving your bot's AI? In RTS games the search space is too big to have a decent success with "brute force" search algorithms. And we didn't find yet a good search algorithm or how to divide all the subproblems to get a good solution. Q: Which bots are the most interesting to you and why? I don't know the new entries of this year but from previous competitons I like UAlbertaBot because it tries to incorporate some search algorithms in some problems; BroodwarBotQ with its Bayesian approach and good micro, AIUR using a "mood" strategy with learning.