Live data from Hacker News

DeepMind Challenges for StarCraft

gamasutra.com

121–130 of 137 posts

Re: DeepMind Challenges for StarCraft

#121
post #71

Earlier quoted context omitted.

I agree. It's one of only areas the AI's have been hood at. Pathfinding and build orders being other two. AI should be limited to a specific number of actions a minute comparable with opposing player or best human champ. Then, we're grading it on its "thinking" instead of dexterity. They better keep fog of war on too.

Or, the AI could be set up like AlphaGo was: as a computer giving instructions to a merely human player. I'd love to see what a powerful StarCraft AI would do if trained to "predict and compensate for" not only its opponent, but also the inevitable human errors in faithfully executing its strategy. A certain Sector Command and Control Unit springs to mind...

The game moves too fast for that. When I contemplated it, I was going to let the AI do the micro battles and build orders. The other aspects are planning one's strategy, identifying opponent's strategy, counters, bluffs, and so on. Humans are best at this. The machines have been laughably easy to beat at it so far.

DeepMind's system is all about finding patterns. It might do better on those aspects. It could even be trained to recognize some aspects of enemy intent, how the battles are going, etc. Thing is, there's lots of potentials for curveballs in Starcraft compared to Go or Atari games. Human pro's curveball on demand. Should be interesting to see what it can do.

Re: DeepMind Challenges for StarCraft

#122
post #115

Earlier quoted context omitted.

Agreed. It also wouldn't be very interesting to watch a human-AI game where the human is better at planning and tactics but the AI just wins even uphill battles due to insane micro.

I would LOVE to see an AI vs AI game though where the AI had no restrictions on APM/micro. I mean, what would an AI come up with given just mass zerglings vs mass zerglings. Would love to see the strategies possible with near unlimited attention and APM.

You can always watch the StarCraft AI stream: http://sscaitournament.com/

Re: DeepMind Challenges for StarCraft

#123
post #69

Earlier quoted context omitted.

It has always seemed to me that there is a truly "proper" way to construct an AI 'bot' for a networked game, and that is to write your own headless game client software that connects to the game's network—emulating the physics well enough to avoid desynchronization with one's opponent, but otherwise being entirely its own program, rather than having anything to do with the reference client per se .

It's really really hard even for developers of the actual client to avoid desyncs. Trying to reverse engineer the exact physics engine down to the bit would be a massive achievement technically in itself, I'd say.

This is, of course, because being a good game developer doesn't make you a good network programmer.

In the MMO sphere, where the people being hired for development tend to have a decent grasp of how networking is supposed to work, you don't see the "reference client" being developed until quite late—first you get a server, and a client library that does enough physics and network-messaging to appease that server. Then both integration test suites for the server, and the reference client, are written in terms of that library. Thus, the "business rules" of the game's simulation are forcibly decoupled from the particular UI used to present them.

You can tell when a game team has hired some good network programmers, because—at least if the game is a competitive one—the game will have "match recordings" that are able to be replayed on reference client versions newer than the one used to create them. This is true of SC2 (and false of a ton of other games, even much more recent ones like, say, Super Smash Bros U.)

How do they do that? Simple: they keep all the old versions of the "business rules" simulation library around together with the reference client, with a stable ABI such that the newer client can load the older library versions. When you want to watch a match recorded for a given simulation ruleset, it loads the relevant simulation library.

So, if there exists such a library for your game, you don't have to reverse-engineer the entire client; only the library. Mind you, you could just use the library, the same way the reference client does; but the low coupling makes such a library also much easier to analyze and reverse-engineer. So both options are on the table for SC2 in a way they aren't for most games.

Re: DeepMind Challenges for StarCraft

#124
post #71

Earlier quoted context omitted.

Or, the AI could be set up like AlphaGo was: as a computer giving instructions to a merely human player. I'd love to see what a powerful StarCraft AI would do if trained to "predict and compensate for" not only its opponent, but also the inevitable human errors in faithfully executing its strategy. A certain Sector Command and Control Unit springs to mind...

The game moves too fast for that. When I contemplated it, I was going to let the AI do the micro battles and build orders. The other aspects are planning one's strategy, identifying opponent's strategy, counters, bluffs, and so on. Humans are best at this. The machines have been laughably easy to beat at it so far. DeepMind's system is all about finding patterns. It might do better on those aspects. It could even be…

Hmm. Instead of purely focusing on macro, what if the human was in the middle, while the AI existed at both the top and bottom?

I'm now thinking more explicitly of the book series I alluded to (The General series by S.M. Stirling and David Drake): the human is a commander, so the units are intelligent in their own right (thus, handled by the AI); and the AI is also giving the human commander real-time advice based on what knowledge it can discover through the human's vision (isolated from the other AI-instance doing micro, but "smart" in the sense that it can assume that the micro is being done by a [fallible] rational actor that thinks like it does.)

I feel like that "human in the middle" configuration would actually make for its own new subgenre of 4X/RTS-like games, if we could get it right; somewhat like a more interesting version of tower defense. Like an RTS, it would be about issuing orders; like a MOBA, you'd have direct control of a "champion" unit. But the job of the unit would be to give those orders, and your job as the player would be to get their position fortified while also gaining enough information to accurately strategize.

Come to think of it, this is what Dungeons & Dragons was originally supposed to be about, wasn't it? Commander-level characters going off to do scouting or other special ops for their army, advancing in rank and gaining underlings in the process. (D&D1e assumes you'll just already have a wargame going with an overworld hex grid, unit stats, etc., and just serves as a "what heroes do in a zoomed-in view" add-on to it. Thus why it doesn't come with its own battle system.)

Re: DeepMind Challenges for StarCraft

#125

Earlier quoted context omitted.

We can see that now, with the new Archon mode, which allows two players to control the units together.

I haven't been following SC2 since HOTS, are they really still trying to achieve feature parity with Brood War? http://starcraft.wikia.com/wiki/Team_Melee

I haven't been following SC2 since HOTS

Too bad, it's really good.

Re: DeepMind Challenges for StarCraft

#126
post #124

Earlier quoted context omitted.

The game moves too fast for that. When I contemplated it, I was going to let the AI do the micro battles and build orders. The other aspects are planning one's strategy, identifying opponent's strategy, counters, bluffs, and so on. Humans are best at this. The machines have been laughably easy to beat at it so far. DeepMind's system is all about finding patterns. It might do better on those aspects. It could even be…

Hmm. Instead of purely focusing on macro, what if the human was in the middle, while the AI existed at both the top and bottom? I'm now thinking more explicitly of the book series I alluded to ( The General series by S.M. Stirling and David Drake): the human is a commander, so the units are intelligent in their own right (thus, handled by the AI); and the AI is also giving the human commander real-time advice based o…

"the human is a commander, so the units are intelligent in their own right (thus, handled by the AI); and the AI is also giving the human commander real-time advice based on what knowledge it can discover through the human's vision "

I see what you're saying. Yes, I daydreamed about such models too. I got excited about two games that stepped into that direction: Supreme Commander's dual-monitor setup with a macro, commander-like view plus detailed, micro view; Full Spectrum Warrior and Full Spectrum Command. The S.C. setup shows people are dabbling in interfaces that might lead to that. FSW and FSC are straight implementations of what you describe: commanders controlling AI agents that are semi-autonomous and provide feedback. FSC isn't available to public but is what I wanted more: limited commander view with data on your troops, position, intel coming in from video feeds or satellite, and so on. A hybrid model might let me go Harbinger and "assume direct control" of a character or team.

"I feel like that "human in the middle" configuration would actually make for its own new subgenre of 4X/RTS-like games, if we could get it right; "

It could. I'm not sure what it will look like outside Full Spectrum Command or bots in shooter games. A lot of the experience comes from the style of the people playing plus their quirks. The Call of Duty Ghosts AI shows that we might be able to approximate that as it did it so well I thought I was playing online against rookies lol. Most fun bots ever were.

"Come to think of it, this is what Dungeons & Dragons was originally supposed to be about, wasn't it? "

I think it was meant to enable and constrain the imaginations of players so the game took place inside their head. I never played it but it was a brilliant idea. Come to think of it, you're onto something here because games like Skyrim have all kinds of autonomous people doing certain routines or behaving in certain ways. There's even contractors and mayors. Any of these people could benefit from AI. Just a matter of computing resources. Could have one world where everyone plays the same world whose characters are controlled via a server farm at developer's location. I originally envisioned that for Runescape when I failed to get them to create a version of it for AI research. It would've been great for testing pathfinding, build systems, strategy, chatterbots, and so on. Skyrim more so.

Note: We could also test a collective intelligence where individual agents publish what they learn to central forums organized by topic. AI expansions could take time to periodically scrape that, try to understand it, and factor it into their gameplay. Basically, simulating player help forums that humans use. Additionally, could build superintelligences, gods, or advanced/E.T. AI's that tap into that plus much of world state that shouldn't be available. Even let them make changes to map or items with that dynamic factored in.

Lots of potential that might not have been explored yet but could make even simpler bots a lot more fun to watch. ;)

Re: DeepMind Challenges for StarCraft

#127
post #117
post #114

Earlier quoted context omitted.

I think the point was mostly to only let the bot have as much information as a player would get on the screen : no omniscient knowledge about the state of every visible unit on the map. You'd probably also want to rate limit the inputs, including changing the viewport position, to something reasonable.

You'd probably end up with a bot that simply rapidly moves the viewport over the whole map over and over again to give commands and see what is there. That's inconveniencing an AI slightly because now things are "seen" with a few frames latency instead of immediately, but I doubt it'd make a difference.

it might make a massive difference in the complexity of the neural network.

Re: DeepMind Challenges for StarCraft

#128
post #114
post #112

Earlier quoted context omitted.

By forcing a bot to use a keyboard and mouse, it's no longer so much an AI challenge but an engineering challenge of creating robotic limbs that match human performance, totally unrelated. The two aspects should be separated. Arguably, the AI aspect is far more interesting as it relates to StarCraft.

I think the point was mostly to only let the bot have as much information as a player would get on the screen : no omniscient knowledge about the state of every visible unit on the map. You'd probably also want to rate limit the inputs, including changing the viewport position, to something reasonable.

Ah, perhaps. However that raises new questions. What do you limit the input to? On par with the best players? Do you just average their APM and minimap navigation abilities? It could work, but I think it would be more interesting to let the AI take advantage of its enhanced ability to scour the map.

Re: DeepMind Challenges for StarCraft

#130
I'm not as optimistic as most seem to be. I think SC adds a completely new layer to the game, that none of the previously learned games had. It's not enough to play the game just by rules that are implied by the pixels.

In chess, go, and even simple atari games, you have a clear way of reading the current state of the game in which the next move will be based on. In SC, this state space includes the predictions of your opponent. What will your opponent build next? What will they try to do with their army? There's an element of theory of mind here, where opponents try to project themselves and preempt each other's moves.

For an AI to truly play and win against a SC pro, using only human level interfaces, it would need to learn how human minds will be playing the game. Otherwise, I think we can expect a strong AI with unconventional tactics that SC pros will be able to fool with tricks and take advantage of because the AI lacks a meta-game capability. A more "general intelligence" would be needed to play at this level, not just a learning algorithm that learns from the pixels on the screen.

Post reply on HN