Feel free to answer as many questions as you like, but it would be great if everyone answered everything! Please feel free to provide external references/links as necessary Bot Name: TerranUAB Bot Race: Terrans Author Name(s): Filip Bober under supervision of Wojciech Jaœkowski, PhD Affiliation(s): Poznan University of Technology Nationality(s): Polish Occupation(s): Q: How did you become interested in Starcraft AI? I have always liked computer games. When I noticed that there is a thesis topic regarding StarCraft AI I didn't hesitate at all. Q: How long have you been working on your bot? I started the project in mid March 2014 but the work proceeded slowly. The closer to the deadline the more effort I put into the bot. Q: About how many lines of code is your bot? TerranUAB is based on UAlbertaBot code so it all depends if we count the base bot or only the extensions. There are more than 70k lines of code but most of it already existed. Q: Why did you choose the race of your bot? UAlbertaBot's default race is Protoss. We wanted to use a different race and preferably the most rare one. We have chosen Terrans. Q: Did you use any existing code as the basis for your bot? If so, why, and what did you change? TerranUAB is based on UAlbertaBot. We wanted to have a working bot. I also had no experience at all with BWAPI and writing a bot on some base helped much with understanding the details. Q: What is the overall strategy/strategies of your bot? Why did you choose them? The bot tries to build Vultures quite fast, research Spider Mines and attack the enemy. Later heavy support is provided by the Siege Tanks. The strategy proved to be versatile enough to compete with all the three races. I had not enough time to implement number of different strategies to choose against different enemy behaviors. Q: Do you incorporate learning of any form in your bot? If so, how was it accomplished? There is learning implemented in UAlbertaBot but we do not use it. Q: Do you use any interesting AI techniques or algorithms in your bot? If so, which? The bot is based mostly on expert-knowledge and algorithms that are already implemented into UAlbertaBot. Q: What do you feel are the strongest and weakest parts of your bot's overall performance? The weakest part is that there are limited number of strategies. Even though the bot tries to react to the enemy movements (like building anti-air or detectors when needed) it is not versastile enough. Moreover it does not learn. Beaten once by a good counter-strategy it will loose again and again. Q: If you competed in previous tournaments, what did you change for this year's entry? I have not competed before. Q: Have you tested your bot against humans? If so, how did it go? I tested it against two human opponents. One is a very poor StarCraft player. He was beaten twice but then he learned how to counter the bot. Another one is very good (but not professional) player. The bot stood not a chance. Q: Any fun or interesting stories about the development / testing of your bot? Visual Studio debugging didn't work for me. It was probably due to some complications between my configuration and BWTA. I had to debug either by "printf" statements or by writing a separate Test Project where debugging did work. I feel like most of the time spent on the bot was the debugging. Q: Any other projects you're working on that you'd like to advertise? Not yet but probably soon. 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? I am very glad that the competition is getting more and more popular. Tools are getting better, programmers are becoming more experienced in the field. There is still much time before computers will beat the human players, though. I estimate the time when computers will prove better than professional players to be around 2022-2024. Q: What do you feel is the biggest hurdle (technological or otherwise) in improving your bot's AI? I think that bots cannot adapt well enough to the strategies implemented by human players. If a human player detects scripted behaviors (and most good players have no problem with that) they will adjust their strategy to exploit that behavior. If the bot attacks ranged unit first, the player can easily lure him into a trap. It is hard for a bot to surprise a human player. Q: Which bots are the most interesting to you and why?