Bot Name: Locutus Bot Race: Protoss Author Name(s): Bruce Nielsen Affiliation(s): Independent Nationality(s): Denmark Occupation(s): Software Engineer (These will be listed on the competition website) Bot URL: https://github.com/bmnielsen/Locutus Personal URL: N/A Affiliation URL: N/A Questions about your bot (please answer as many as you can, especially Q 1-3) Q: What is the overall strategy/strategies of your bot? Why did you choose them? My focus so far has been on the fundamentals, so generally the bot uses macro-heavy strategies using low-tech units. It also has some "cheese" openings, like proxies and drops, that are chosen to try to exploit common weaknesses in bots. Q: Did you incorporate any of the following AI techniques in your bot? If you did, please be as specific as possible a) Search-Based AI (Path-Finding, A*, MiniMax, MCTS, etc) Yes, pathfinding is used for generating and detecting walls. b) Offline Machine Learning (Supervised or Unsupervised, but not RL) No c) Offline Reinforcement Learning No d) Online Learning of any kind (Including competition file IO for strategy selection) Yes, Locutus keeps track of past results and attempts to both predict the enemy strategy and based on that + past results decide on the best opening. e) Influence Maps No f) Custom Map Analysis Yes, in the form of using the BWEM and BWTA libraries. g) Hard-coded or rule-based strategy / tactics Yes, basically everything is based on either the fixed opening build order or rule-based reactions (e.g. enemy has cloak tech -> get mobile detection). h) Analysis of bots from previous competitions / hard-coded specific bot counter strategies Yes, returning bots are either given a hard-coded opening or ample training data to help Locutus pick an appropriate build order. Training data is also included for many new bots, where I have guessed what strategies would be appropriate to try first. i) Any techniques not mentioned here Q: How did you become interested in Starcraft AI? I stumbled across the weekly SSCAIT cast, became a regular viewer, and eventually couldn’t resist making my own bot. Q: How long have you been working on your bot? Approximately 1 1/2 years. Q: About how many lines of code is your bot? 135000 Q: Why did you choose the race of your bot? It was my favourite when I played. Q: Did you use any existing code as the basis for your bot? If so, why, and what did you change? Yes, Locutus is based on Steamhammer and additionally uses the BWEM and BWEB libraries. The main reason for this was to get started more quickly, without having to spend a lot of time on the basic scaffolding. I’ve changed parts of pretty much everything, especially in regards to macro decisions and openings. Q: What do you feel are the strongest and weakest parts of your bot's overall performance? Strongest: macro and overall stability Weakest: inflexibility in army control, lack of high tech units Q: If you competed in previous tournaments, what did you change for this year's entry? Mainly bugfixing and tightening up some decision making, plus a couple of new "cheesy" build orders. Q: Have you tested your bot against humans? If so, how did it go? No 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? 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? Among the amateurs, strength is improving at a good pace, though there has been a fall-off of new bot authors this year. This may be because the barrier for entry has gotten higher, as it requires a large time investment to make a bot competitive with the top bots. I think we are also suffering by still not having support for StarCraft: Remastered. I don't think any of the amateurs are close to being able to beat the best humans in a best-of-7. Presumably the state-of-the-art in BWAPI is with the Facebook team, but as they aren't competing it is difficult to guess how close they are. Q: What do you feel is the biggest hurdle (technological or otherwise) in improving your bot's AI? Having enough time to work on the bot. Q: Which bots are the most interesting to you and why? CherryPi and SAIDA for seeing what large teams with lots of resources can come up with. PurpleWave and McRave as they are my closest competitors and can do much more interesting things than my bot.