Human games != Bot games

Képtalálat a következőre: „50's robot”
OR ARE THEY

This is more of an opinion piece. Please handle it accordingly.

This is a topic that pops up time and again – we should modify the Brood War API to do things in a certain way, so bots will behave more like humans! Bots are having unfair advantages!

Let me provide an example: the handling of invisible units. A bot can see an invisible unit if it moves, or attacks. A human theoretically can – the blur is visible, but not always recognizable. This sparked a debate that how a bot should or shouldn’t be able to detect these units.

The thing is, it’s arbitrary, and it is arbitrary all the way. If we modify something to be more human-like, then might as well go all the way. After all, the goal is to have human-like games, is it not?

Sometimes people propose an APM limit on bots. This is the worst idea. A human peaks around 300 APM, but that’s not the amount of decisions a human brain makes in that minute. In that 60 seconds, millions of neurons are firing, and drawing from previous experience, deciding what to do, executing a process that evolution perfected for a million years. The computer clearly does something else. Also, the limit is easily circumventable – I can just spend more time evaluating, and giving less actual commands. Is thinking about stuff counts in the APM? A computer can calculate quite a lot of numerical stuff per second, while a human can’t. Should we nerf CPU clock speeds too? While we are at it, let’s just not provide information about stuff that’s not on the screen – after all, a human can only see one screen’s worth of stuff at the time! If we don’t do all of this, then poor humans can’t compete!

Except somehow, even the best bots are having problems beating even semi-pro players. I feel we are putting the cart before the horse here. When beating the pros is a reality, then maybe these considerations can be meaningful – except not really, as bots are actually playing each other most of the time. There is a larger bot vs. bot scene, than a bot vs. human scene. Bots feel predictable most of the time, and not just because a lot of them are hardcoded.

Currently, pro players advise AI developers (Samsung’s SAIDA team has reportedly consulted Korean pro players), not the other way around. Will this change when bots evolve a lot? Will there be a coach AI?

My prediction is no, it won’t. Bot and human play will diverge a lot in the future.

I’m willing to make a bet that the first bot that reliably beats human pros won’t be using any tactic developed by humans, but rather, something that’s only feasible to execute for bots.

Let me elaborate why I think that.

First, bots can have infinite micro. We are already seeing dozens of vultures excellently microed, while a human player can’t really do that, and everything else at the same time. Vultures are more valuable units in bot vs. bot matches, than in human vs. human ones.

Second, while some algorithms are resource intensive, developers are very good at optimizing this away. At the same time, the amount of resources available are increasing. While Moore’s Law might not be strictly true anymore, CPU speeds are still increasing somewhat – and also, we have GPUs. Currently, the only bot I know of that uses GPU processing power is the Facebook team’s CherryPi. But the opportunity is there.

Third, and this one is quite obvious – bots don’t get tired, and they execute the same strategies with the same efficiency every time (This does not mean they always win, just that a 4 Pool bot will make the first Zerglings around the same time every game).

The thing bots don’t really have is intuition – they can’t really invent radically new stuff (At least not yet). Humans can come up with crazy stuff on the fly. The answer to this is usually “BUT ML! HURP DURP DEEP LEARNING”. I’ve yet to hear this from anyone actually involved in developing deep learning.

Bearing all these in mind, I conclude that humans and bots ultimately play a different game. For humans, it’s a continuous process, where it’s impossible to keep the full game state in mind (the position and stats of every unit, resource, etc.), and evaluate everything in time – so they are very good at extrapolating from the stuff that fits into their heads. For bots, all of these is feasible – maybe not at this point in time, but eventually. Bots can make decisions every frame, fully taking everything into effect. While humans play a real time strategy, bots effectively play a turn-based one.

Leave a Reply