Hacker News new | past | comments | ask | show | jobs | submit login

Does anyone know if DeepMind is fed raw images of the screen to process via ML or it's already a parsed data of the game state?



Nope. The starcraft AI eco-system is vibrant exactly because it's hooked directly into the game plumbing. No hacky ML stuff involved.

Basically SC1 was reversed via memory location reading and was long the staple playground for AI competitions. University teams and what not.

Blizzard knew of this and silently condoned it. When SC 2 came around they helped move things over because who doesn't want that epic AI PR.

Not 100% sure how it's achieve technically on SC2 but blizzard is definitely actively helping push this technically. (within limits - they counterweight is they don't want to help cheaters hack their stuff)


From the article:

>Q. How does AlphaStar perceive the game?

>A. Like human players, AlphaStar perceives the game using a camera-like view. This means that AlphaStar doesn’t receive information about its opponent unless it is within the camera’s field of view, and it can only move units to locations within its view. All limits on AlphaStar’s performance were designed in consultation with pro players.


I don't think that answers the question. As it can just mean the AI has to move a camera-like view (sic) but still doesn't have to use computer vision to get which unit is which, health bars, and things in the like.


It is a particularly interesting question in StarCraft because of the cloaked units, which are visible only by distorting the background (and from their sound).

Most humans will be able to identify cloaked units, but only if they look carefully, and not in heavy battle. Can the AIs see and/or identify cloaked units?

It begs the question if fair gameplay is even possible unless the AI uses machine vision against the same interface. For fair human-vs-AI games, they shouldn't allow cloaked units!


I am not sure this question is really interesting because the aim of solving Starcraft is to improve planning and strategies, not computer vision. I suppose there are much more interesting tasks train on in order to solve computer vision.


I agree. I'm not super impressed with the ability of human Starcraft players to detect and parse the meaning of health bars. That's not really done by the same part of the human brain that I would consider to be "good at playing Starcraft." I'd be fine if the AI had a clean API to tell it the units that are currently on screen, perhaps with some limit on the speed at which the AI can iterate through everything (e.g. it should definitely require a "click" to check an enemy unit's upgrades).

I do agree that detecting cloaked (or burrowed) units is a bit of an interesting case, since a simple API like I mentioned would make it trivial for the AI to detect these units. Perhaps you could do some sort of probabilistic system, or some sort of "attention" system where the AI has to choose where on the game screen to spend its limited attention, and more attention in an area around a cloaked units would increase the probability of the AI "detecting" the cloaked unit. That probably comes close to matching how humans detect cloaked units, e.g. when you're deliberately looking for an observer around your army you have an almost 100% chance of finding it if it's there.


I'm pretty sure the AI can't see cloaked units, which is why it always built so many observers in the demo games.


I'm fairly certain that AlphaStar does not work off of the individual pixels. It gets a more abstract representation of the game state. At least, that's how the original AlphaStar worked.


Fair point, I suppose I didn't read as carefully as I should've. Thanks!


No, there is no raw images (unless this version changed).

The github repo shows that the AI takes an Observe action, and it essentially gets data on every unit it can see in a machine friendly format.

The previous version got info on every unit it could conceivable witness, including units that were offscreen, but technically 'visible' according to the game rules. This version seems to have changed that to only return units that are actually /on/ the screen.


Afaik, it is parsed, but limited to the current camera view


I don't think that's really fair to humans then. When you play a lot of your brain is just trying to figure out what's happening on your screen: confusing stack of units, confusing units that have similar design, guessing enemy upgrades on units, guessing which enemy unit has the most damage to target it first, retreating your own damaged units, noticing the blur of cloaked units, and a lot of things in the like. It seems that the AI has perfect information. Limits on FoV seems artificial as it won't impact any of that.


I really don't think that's true for high-level professional players. Sometimes, yes, it's difficult to immediately count exact units compositions. I don't think professional players are getting confused by unit designs or finding it difficult to identify low-health units. (Don't pros play with all health bars on?)

It might be "unfair" for some almost purely number-based confrontation like a phoenix-versus-phoenix battle. But are we really that impressed by testing which human happened to be better at estimating the number of stacked phoenixes? To me, that's not what's interesting about competitive Starcraft 2. I'm more interested in micro, like pulling back injured units, or choices like "it makes sense for me to force us to trade out our phoenixes right now even if I lose the battle."


IMO image recognition in computer game would not be hard to implement and it would be very pricise. So it wouldn't change anything in the end. And image recognition for computer game probably is not very useful. Also your brain is limited by neuron number, your energy source and AFAIK AI does not use those limits either. It might be interesting in a sport sense to compare human and computer which allowed to use only 10 watts of power, for example. But in practice you don't have those limits, so it's more interesting to push the bounds.


I'd love to see how an ML developed vision processing algorithm providing the parsed info would affect performance.


Blizzard developed a special version of the client just for Deepmind, so no, they never had to process images.

Because of that they have a problem with invisible and burrowed units - human players can miss the shimmer/shadow because it's barely visible, but their AI sees it every time. I think they gave up on simulating this stochastic human behavior.

Still, the game is complex enough that the fact that they can play it at a professional level might as well be a miracle.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: