AIIDE StarCraft AI Competition - Survey 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: Steamhammer Bot Race: zerg Author Name(s): Jay Scott Affiliation(s): - Nationality(s): USA Occupation(s): - (These will be listed on the competition website) Bot URL: http://satirist.org/ai/starcraft/steamhammer/ Personal URL: http://satirist.org/ Affiliation URL: - 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? Steamhammer plays a wide range of strategies, from rushes to big macro games. It plays openings which set up all of the common zerg midgame unit mixes, with the exception of zergling-scourge. Variety is the most fun, and I believe it will bring the most progress in the long run. Unfortunately its tactical play is more like "batter down whatever is in front of you" because I haven't worked hard on that aspect yet. Q: Do you incorporate learning of any form in your bot? If so, how was it accomplished? No. I planned an opponent modeling method to choose openings and unit mixes, but did not get it finished in time. Steamhammer does have a form of anti-learning: It chooses its opening lines randomly, which baffles the opening learning of other bots. Q: Please describe all AI techniques / algorithms used in your bot. (For example: What parts of your bot are 'hard-coded', which use learning, search, decision trees, state machines, etc) The strategy boss is coded production system style. Some decisions have been recoded from UAlbertaBot's original rigid priorities into simple searches to choose the option with the best evaluation, according to hand-coded evaluation functions. State machines are mostly for sequencing multi-step tasks like loading a dropship and dropping, or doing the extractor trick. Q: How did you become interested in Starcraft AI? I have run the Machine Learning in Games web site since before Starcraft was released. It was only natural. Q: How long have you been working on your bot? Since December 2016. Q: About how many lines of code is your bot? Who counts? But wc says over 20,000 lines in the bot proper, excluding libraries included as source. Q: Why did you choose the race of your bot? I understand zerg best. Steamhammer can play all races, but zerg is its main race. Q: Did you use any existing code as the basis for your bot? If so, why, and what did you change? UAlbertaBot, in the version available when I started. It seemed the most capable and well-engineered starting point. I added many new features and rewrote or changed out others. BOSS works poorly and Steamhammer no longer uses it for zerg, though it still does for terran and protoss. SparCraft I changed out for the combat simulator FAP by N00byEdge, which is much faster and simpler and in some ways more accurate, though it has its own limitations. Q: What do you feel are the strongest and weakest parts of your bot's overall performance? The hand-made opening lines are the strongest aspect. Strategy skill is spotty but usually adequate against other bots. Tactical skill is the weakest aspect. Unit control varies from OK (zerglings) to weak (mutalisks) to awful (devourers). Q: If you competed in previous tournaments, what did you change for this year's entry? - Q: Have you tested your bot against humans? If so, how did it go? Sadly, no. But I know Steamhammer has many exploitable weaknesses that I expect humans to quickly pick up on. Its random openings baffle bots but should be easy for humans to read. Q: Any fun or interesting stories about the development / testing of your bot? For those who want to follow development, including funny bugs and disastrous games: http://satirist.org/ai/starcraft/blog/categories/34-Steamhammer 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? Still primitive, but advancing fast. I can't estimate the time bots will overtake numans, because I don't have data. We need to measure the strength of bots versus humans after the humans have adapted to bot play, because that is what matters for serious matches. Do that for a few years in a row and we'll start to have enough data to extrapolate. In other games, extrapolation has been good enough to get the general timeframe. Q: What do you feel is the biggest hurdle (technological or otherwise) in improving your bot's AI? Lack of resources. For example, I can't even consider deep learning, because I could not collect the massive amount of data it would need. Q: Which bots are the most interesting to you and why? Overkill and Tscmoo have experimented the most with machine learning. I'm also fond of Skynet because of author Andrew Smith's willingness to hand-code a huge variety of play skills. Skynet hasn't changed since 2013 but still plays interesting games.