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: cpac Bot Race: Zerg Author Name(s): Junge Zhang, Xun Zhang, Qiyue Yin, Dong Zhan, Shihong Deng, Huikai Wu, Peixi Peng, Wenzhen Huang, Jing Kong, Debang Li, Yange Fang, Tairan Zhang, Junliang Xing Affiliation(s): No Nationality(s): PR China Occupation(s): No (These will be listed on the competition website) Bot URL: No Personal URL: No Affiliation URL: No 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? >> Our bot is mainly based on 'hard-coded' rules plus some machine learning methods. The 'hard-coded' rules are more effective, while the learning methods can be a supplement. Q: Do you incorporate learning of any form in your bot? If so, how was it accomplished? >> We design a multi-layer perception network to predict the next unit to be built when the building order queue is empty. We extract (state, action) pairs from a large dataset (http://www.starcraftai.com/wiki/StarCraft_Brood_War_Data_Mining) for the model training. 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) >> Our bot is based on Steamhammer written by Jay Scott. We improve our bot by designing several new strategies, modifying some macro and micro managements. Besides, we train a multilayer perceptron network for fighting unit prediction when the building order queue is empty. Q: How did you become interested in Starcraft AI? >> It is a good testbed for Artificial General Intelligence. Q: How long have you been working on your bot? >> Two months together with my colleague. Q: About how many lines of code is your bot? >> Our bot is based on UAlbertaBot and Steamhammer and plenty of changes have been made. Q: Why did you choose the race of your bot? >> "Zerg" is a race suitable for rush strategy. Besides, we are good at using zerg in starcraft. Q: Did you use any existing code as the basis for your bot? If so, why, and what did you change? >> Our bot is based on UAlbertaBot and Steamhammer, which are excellent bots. The general framework is not changed, i.e., relation among different modules. We design several new strategies, make changes of some micro management, and apply machine learning methods as a supplement. Q: What do you feel are the strongest and weakest parts of your bot's overall performance? >> Strongest parts: several new strategies for the enemy bots. Weakest parts: Our bot may not work well for the zerg race. Q: If you competed in previous tournaments, what did you change for this year's entry? >> No participations in previous tournaments. Q: Have you tested your bot against humans? If so, how did it go? >> Our bot can beat amateur persons, but it will be defeated once the rules are learned by the human. Q: Any fun or interesting stories about the development / testing of your bot? >> The human player using "Terran" produces plenty of tanks, but our bot keeps producing zerglings. Then lot of zerglings rush to break through the enemy lines and win. Q: Any other projects you're working on that you'd like to advertise? >> Macro management benchmark for sc2 (https://github.com/wuhuikai/MSC), which will be released later. 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? >> It will take a long time to design bots that can beat humans without too much specialized knowledge. Q: What do you feel is the biggest hurdle (technological or otherwise) in improving your bot's AI? >> Model the game state transition for fast simulation. Q: Which bots are the most interesting to you and why? >> UAlbertaBot, which is a general framework; Overkill, which tries to use reinforcement learning to learn the actions.