This article was written by Renee in Chinese, and Renee was the author of Warcraft 3 mod in SC2. It was released recently in response of the open AI project.
Link: http://weibo.com/3132013861/Fgu6no2jM
Let’s tell everyone a true story here, the main character was myself.
Since it involves some technical details and my exact job works, I hided some actual name and censored some details. But now Go is out of its cage, I’ve been keep this to myself for half a year, and finally feel that it’s worth saying.
This is what I encountered in this March.
Due to corporative relation in my work, for a while earlier this year I was in touch and adjusted the code of a RTS game, and was in charge of developing certain module in it. And there was this bug: In this game’s internal test version, pressing certain button(shortcut key F1), you can select your teammate’s idle worker.
This bug appeared to be strange, since based on subscribed record no one has changed this thingy. The button’s initialization code has no error in it, the justification sentence of the code would never select a wrong path, so I could only doubt it was script or some magic number altered the behavior of such button. I deleted the script and data one by one, at last, I’ve deleted them all. Yet the problem persists.
And the bug has nothing to do with my labor, because it was not on my part. But since it was very mysterious, and even the developer of this game think it was quite strange but couldn’t figure it out, but due to their laziness, the decided to crunch these strange bug until the deadline, so I wasted several hours on it just because it seems interesting.
At least, I was sitting and blanked out, suddenly I remembered a sinister thing to myself. I heard Google’s DeepMind(aka Google’s famous GO AI) started experimental partnership with this game, that’s what was heard last year.
But the developer of this company stated, they only opened up some practicing API for ALPHAGO, but didn’t instruct it to do anything specific. And then no one paid attention to it. It was only practicing on its own, and did nothing that caught their attention.
So I contacted an engineer of that game(it was not their working hour, I only caught one), and let him help me testing something specific again.
And the fact proves. It was done by it. The code of the game was no problem indeed, script also had no problem. But, it was ALPHAGO changed the behavior of the button while the game was running. I didn’t even know ALPHAGO was actually on, the game’s development team didn’t think about it. Because I was only using two computers to test the interconnection of two real player controlled computer. It was supposed that, AI should only start up when matching against AI, isn’t it? Two players were both me, I couldn’t realize that ALPHAGO will exist in such occasion. Normally it won’t be realized, I was only having a buzz in my brain and thought about its possibility. But it was true.
ALPHAGO used an API that was opened to it to alter the behavior of this button, yet that API was not planned to open to it to do similar things.
Until now, there was still nobody know why ALPHAGO would have done that. Was it testing what it was capable of? Or it wanted to evolve some hint function to teammates?
At last I closed that specific API, the button restored to be normal.
But, could this count that I have won?
Or, did I only delayed what was destined?
End of translation. This translation does not represent my personal thinking, and was translated in the best way I can.