To win at Starcraft, machines need to figure out how to lie
wsj.com
wsj.com
The thing is, a game needs to be very carefully balanced for these scissor/paper/rock dynamics to emerge. This type of balance is not the default --- it's the product of careful design, and empirical tuning.
In human vs AI, this balance will almost surely be broken. The AI will have perfect control, even with APM constraints. Its attention can be split between two attacks perfectly. It won't play at all like a human.
So, the resulting human vs AI gameplay is unlikely to be strategically deep. If the AI can learn to play Starcraft at all competently, it will probably crush. It will probably find a dominant strategy that it can re-execute exactly the same every time, which the human can't stop.
Making the AI work well for Starcraft will be very difficult. In Chess and Go the actions are discrete; in Starcraft the actions are all analog. But the gameplay requires much deeper search than the Atari games Deepmind learned in its early paper. So I think the game will be very difficult for the AI. But not for the reasons people are talking about.
I've recently read Ender's Game and there was an interesting idea in there. In the book it is hive queens controlling the Buggers fleet with exquisite control, yet Ender is able to exploit this as a weakness, as every human is a sentient being capable of thinking and acting independently, so as a commander he was only giving high-level orders to his lieutenants and they did the rest. Which is how humans have fought wars.
Game designers spend a lot of effort in RTS game keeping the AI from crushing people. This showes up not just in the games AI but also unit mechanics. https://m.youtube.com/watch?v=mHbloVZ15Pc
EX: Often there are units capable of infinite harassment with perfect micro. That's so far from being fun it's never part of actual game AI.
Large base, small waves. It's a simple formula that makes people feel great!
PS: Of course it goes deeper, units need to have basic AI because people can't micro manage large numbers.
Starcraft 2 has a mode like this called Archon Mode, where two players control the same units. The conflicts that can arise from this can be pretty fun to witness.
http://starcraft.wikia.com/wiki/Team_Melee
http://starcraft.wikia.com/wiki/Archon_Mode
https://www.reddit.com/r/starcraft/comments/314e28/archon_mo...
I've read enough about real-world military strategy on Quora to know that this is nonsense. The amount of national resources that go into command and control networks is immense, these networks play a huge role in making our military unassailable. Something like the Bugger hive queens would be practically impossible to deal with in any real way, deception would be impossible to rely on.
Deception is critical in an invasion, defenders have the advantage of knowing the terrain. If you could rely on a sensor network to reliably and instantaneously tell you where all the threats are, then you could simply rely on mobile forces to go wherever they're needed. Unless the attackers have an overwhelming numerical advantage, they won't be able to break through.
D-Day would not have been feasible without the ability to deceive the Germans as to which beaches they were going to land the troops, a lot of time and effort went into planning that deception.
Humans only stood a chance against the buggers due to their overwhelming weaponry, which will trump tactics and strategy every time. No way with that kind of weaponry would it even be a fair fight, any mildly competent general could have won with that advantage. The defensive response to overwhelming conventional superiority is guerrilla warfare, not trying to stand and fight toe-to-toe with nukes.
Felt like a bit of a cop-out to me, authors should be required to spend some time on Quora verifying their basic assumptions, it would make for much better stories. Naturally Card didn't have access to it, and I still enjoyed the book. But it could have been much much better.
I've learned more about the real world around us from Quora than I have from almost every other source. Only Stratfor rivals it, and that's only in the realm of geopolitics.
Of course, you'd learn more at an actual military academy about strategy, but Quora does the work of getting the people that already went to those academies to boil down everything they learned into short, readable essays.
In fact, I'm finding that I'm reading fewer long-form journalism articles and blogs because I find Quora so compelling. Those were my previous bar-none best source for information.
Nothing beats curated long-form journalism for variety, but there's still a lot of noise and the work of separating it out is onerous enough and Quora is easy enough that I've already subconsciously switched, not bothering to maintain my RSS workflows. If I want some variety, I'll fire up Feedly or Pocket and pull out a few articles, but generally I'm looking to iterate on my high-level model of how the world works, geopolitical analysis from Stratfor and watching smart people answer stupid questions at Quora is the best bang-for-the-buck I've encountered for that. HN is the best place for business-specific information, if it weren't for that I'd have moved on a long time ago, I've been so far unable to find a good vein to mine for business on Quora, though it's half-decent with finance, though HN still beats Quora there too.
A unit's position is a function of 3 _probably_ 32bits numbers, giving 2^96 discrete positions.
You can get that number much higher probably, by adding other factors like current speed, orientation, etc.
You're right though that you have to tackle the problem differently, because while you'll be able to try to define a strategy in go by iterating over a bunch of discrete possibilities in the 19x19 grid, there is no way you can do that for a 2^hundreds size grid with current tech.
I guess AlphaGo is in for a few semesters on strange attractors!
With Starcraft, you can throw sheer processing power at strategic decisions. If you're able to fast-simulate gameplay, even just on the order 10's of thousands of possibilities a second would give you a decent feel for overall strategic decisions. Sure, some nonlinearity might throw a result off by a huge factor, and you wouldn't have searched that. The opponent, human or AI, is faced with the same challenge, though. In the end, no one can predict the future because of chaotic nonlinearities. The best we can do is best account for the odds.
Starcraft has three races and random. At top pro levels, picking random is unheard of and actually extremely difficult to play against because it complicates your very early decisions.
Im also interested in who would be picked to play against DeepCraft. Flash would be incredible but he's retired. I'm curious which top level talent will be left by the time the bot is ready to play
As an aside, the "best player in the world" referred to in the article is the SC2 player SoS. I think Zest is pretty commonly viewed as best in the world right now, even if he loses the current GSL. They mentioned SoS because... he won blizzcon?!
Or it might find a new strategy that is totally imbalanced and unbeatable
The challenge lies in making the computer comprehend such decisions.
Does comprehending the decision go beyond: see x units / specific setup > need y units to counter > need z resources > switch to z resources.I think the difficulty of interpreting the information and the act of information gathering itself as a basis for planning and decision making is hard.
After a certain points they got really annoying to play against - it was always doing small scale harassment and evading with a perfect equation so you couldn't really ever catch it (unless you had much faster units). Besides actions per minute constraints, to be playable the AI at least should have some kind of reaction delay like humans have.
It could be as subtle as using the player's apm or other activity metrics as a proxy for enjoyment, if correlations were shown in play testing labs. This could allow for more training data, and less annoyance to users, who might be reluctant to provide manual ratings.
The next step after that is adaptive AI, where the computer learns what you find enjoyable personally.
I give it ten years before this is how every game works.
Edit: Google has said that negative signals are extremely important to its search. A user bypassing the #1 result for the #2 is hugely bad for #1, but only a mild boost for #2. Similarly, perhaps minimizing "ragequit"s is a valid objective!
You might think that's unfair to the computer, but we're also not requiring the computer use a mouse and keyboard, so we're actually giving it an advantage. I mean, if Starcraft were programmed such that I could control every unit with my mind instantaneously, I'd also do better than a human trying to toggle through hotkeys and micro with the constraints of a mouse/keyboard interface.
Execution of strategy is what separates the professional StarCraft players, and in that way it's much closer to professional sports than Go / Chess.
Not really. The "physical" aspect of Starcraft is an information input/output feat. It's still arguably the same abstract game. Arguably, it's no longer a sport however. (And maybe it wouldn't be a "game" in the sense that basketball and football are "games" for people.)
once the AI is given micro mechanics and perfect execution, you just can't beat it: https://www.youtube.com/watch?v=dOIgFkyfStg
However, pros can still perform "cheese" tactics where they attack extremely early on, and the AI won't be able to properly defend because it needs cash to get an army. So if we do start to see deepmind eventually play starcraft, it will need lots of hand-holding and special programming to deter early cheese tactics.
Don't you remember the Human VS AI matches that took place with Overmind right after the tournament that year?
Watch an amateur human tear through its mutalisks. https://youtu.be/hmXY_pkU2Wc?list=PL9F69781768E85502&t=591
My point is that DeepCraft is still gonna be quite a ways off, and is going to involve a lot more than just learning how to micro, cheese, drop, etc. (Which, by the way, would be quite a feat to even develop an AI that can learn these things since StarCraft has such a huge search space)
For example, it is possible to chip away at your opponent's economy by loading units into a dropship and flying it into the back of your enemy's base. To increase your chances of doing damage, you should probably set up multiple of these at the same time, or attack the front while dropping, but you also need to know that a dropship works best when it's fully loaded (8 small units, 4 medium units or 2 large units) - if it's not fully loaded, part of your investment is wasted and your attack will be sub-optimal.
Learning this as an AI isn't going to be easy because there are lots of scenarios when you can do a drop like described above perfectly and it'll still lose you the game - maybe your opponent had some optimally placed anti-air defenses, or they were just getting ready for a huge all-out frontal attack just as you arrived, so their army is vastly superior.
Here is a video of one of the best current StarCraft bots losing to an D-rank (low skill) human player. The bot's APM is ~5500 while the human's is ~200. https://www.youtube.com/watch?v=ztNYOnx_YQo
The fact is, no AI has ever beaten even an amateur player in a tournament. Even with great micro, if your play is too predictable then the human will learn it and exploit it.
I, for one, am very excited to see the development of new StarCraft AIs. And especially SC2 AIs so that it can challenge the current world champions.
Fire-breathing? I must have not been paying attention...
No fire-breathing : "Weapon: Glave Wurm"
Er .... sorry, but Waterloo was a decisive battle that lead to the dismissal of a pan european empire. I don't think we will see the end of the "machines" any time soon. A better comparison would have been Austerlitz (but then it isn't much celebrated in the Anglo-Saxon world).
If the AIs were to become strong enough to compete against Starcraft players, they would have the unfair advantage of being able to give a lot more actions per second.
[1] https://www.reddit.com/r/starcraft/comments/16mkmg/injuries_...
Controlling the motors of a drone or the moving surfaces of a fly-by-wire plane is much more complex than moving a mouse or hitting some keys.
Forcing an AI to play with a mouse, keyboard, and monitor is a huge handicap compared to giving it a God's-eye view API.
Taken to the limit, an AI with an API to the game can take micro-control of every character. His high-level strategy might not even matter, if every character can fight optimally. At the very least, an AI would have an advantage when starting multiple battles, since he doesn't have the "switching" overhead of panning around the screen, clicking on items to issue orders, etc. But that "god mode" option is not available to a human. (Even if we slowed down the game, the human would get likely get bored before playing optimally.)
But if the AI were limited in the same way a human was, the AI couldn't monitor an infinite number of battles at the same time, couldn't issue control instructions infinitely fast, etc.
Maybe the AI can click around "fast enough" that it wouldn't matter (we don't know). But at least it would be a fair fight.
That's not cheating, it's a agreed upon rules. Making an AI that can beat a human is already very hard. Next you'll add other arbitrary requirements, like limiting the wattage to what the human brain uses...
Machines are obviously better at everything requiring fast-twitch reflexes and massive data analysis. There's nothing interesting in a competition there.
In Starcraft, the fear is that machine-level micro may make it completely pointless. A human could play strategically better and still lose because the physics of moving a mouse are different than the physics of a transistor.
This is different from checkers or chess or go. The Starcraft UI is part of the balance of the game itself, so if you change it you are changing the game. People do this all the time to help humans beat other humans, and we call it cheating. Why is it magically not cheating if we do it for AI?
If they do have to change the UI (e.g. hook a datastream directly into the AI), the opponent should be able to install any mods they want. Otherwise the AI is playing one game while the human is playing another.