Live data from Hacker News

Why Can a Machine Beat Mario but Not Pokemon?

medium.com

31–40 of 76 posts

Re: Why Can a Machine Beat Mario but Not Pokemon?

#31
post #12

Earlier quoted context omitted.

What would your admissable heuristic be?

I could go many ways with that but I guess it depends how much we assume about the a.i. However, although the card game came out after the video game, I actually have thought about this pokemon a.i. a fair amount and I think its fair to same that the video game is in many ways a visualization of a card game and the traversing of the map isn't as critical as it seems. We know that the video game can't be beat without…

The card game is orders of magnitude more complicated than the video game battles - all that they are is very vanilla JRPG combat with a couple layers of rock, paper, scissors mechanics. One could probably write a finite state machine that would win 95% of the time in a couple hours.

On the grand scale, Pokemon is essentially unloseable, as you can never really paint yourself into a corner you can't get out of. I've seen stupid challenge playthroughs where more than half the game can be beaten with only a single Magikarp... There are only a handful of unique encounters. Pure bloody-minded grinding will always see you through.

Re: Why Can a Machine Beat Mario but Not Pokemon?

#32
Branching factor alone doesn't tell you much. The important thing is how many branches are meaningful. Consider the board game Arimaa, which has an enormous branching factor[0]. It was designed to be difficult for computers, but in 2015, David Wu's "Sharp" software beat some of the best humans players[1]. This didn't need any revolutionary new AI techniques, only some clever human-written heuristics used in combination with classical computer chess techniques to prune the game tree. There are many possible moves each turn, but most can be discarded as obviously bad. The same could be true of Pokemon.

[0] http://arimaa.com/arimaa/ [1] http://icosahedral.net/downloads/djwu2015arimaa_color.pdf

Re: Why Can a Machine Beat Mario but Not Pokemon?

#33

Earlier quoted context omitted.

I could go many ways with that but I guess it depends how much we assume about the a.i. However, although the card game came out after the video game, I actually have thought about this pokemon a.i. a fair amount and I think its fair to same that the video game is in many ways a visualization of a card game and the traversing of the map isn't as critical as it seems. We know that the video game can't be beat without…

The card game is orders of magnitude more complicated than the video game battles - all that they are is very vanilla JRPG combat with a couple layers of rock, paper, scissors mechanics. One could probably write a finite state machine that would win 95% of the time in a couple hours. On the grand scale, Pokemon is essentially unloseable, as you can never really paint yourself into a corner you can't get out of. I've…

For actual gameplay, I said A card game, not the card game. Had something like war in mind. Although, I see how that may have been confusing as I made the connection of the card game version in the sentence before.

Re: Why Can a Machine Beat Mario but Not Pokemon?

#34
post #29
post #27

Earlier quoted context omitted.

The issue with this logic is that the AI is being held to a subtly higher standard than a human. Consider this - how do _you_ know that there is a next trainer if it is off screen? I'd guarantee you didn't figure that out from the context of the game, because then you'd have the same problem as the AI - it isn't data that is provided in the game.

Because I can read and understand a context of a video game, a map, vision, etc. So now it's reduced the problem to creating a general human AI. Good luck! FWIW, a (ML) bot can beat Mario with just the x-value - what a human understands by viewing the screen.

> Because I can read and understand a context of a video game, a map, vision, etc.

Did you spontaneously figure out how to read? I put it to you that you didn't, and that you were taught how to by someone else. I'd also put that the entire concept of interaction has to be a learned thing in practice, because realistically nobody learns how it works without interacting with someone else who is already reasonably knowledgeable.

Now obviously that AI can't read because we don't have a good way of telling it how to map glyphs to concepts that it understands. However, to call the glyph->concept mapping the core challenge of a Pokemon game is clearly silly.

The concept of there being something off the edge of the map on screen isn't something you are figuring out from the game either, it is just an assumption from knowledge that the real world is larger than what you can see. Similarly, that is obviously not an important aspect of the game - it is assumed knowledge.

The challenge of the game is to navigate and explore a simple world, figuring out which order of actions to take. Short-circuiting the knowledge acquired through reading and the priors about how a world behaves is completely fair when saying that an artificial intelligence has been developed and can beat the game. A human player is expected to already know how to do that too.

Re: Why Can a Machine Beat Mario but Not Pokemon?

#35
post #22

Earlier quoted context omitted.

Is the battle system much different than playing blackjack with your own deck? Imagine a world where someone can buy and trade towards a deck with 90% aces going up a person with 80% aces.

A pokemon can be one (or two) of a bunch of different types like "bug" or "rock" or "ghost," each of which comes with a particular set of types it's vulnerable to (2x damage taken) and another set of types it's resistant to (0.5x or 0 damage taken). So no one pokemon has an advantage over all the others, and there's no 2-3-4-...-J-Q-K-A strength ordering for types. You can also freely substitute among your team of 6,…

Right, but IRL blackjack the human is the pokemon, vulerable to various type of human tells etc to what is otherwise grindable.

As far as the various pokemon vs another vs the simplicity of jkqa it seems to me something like a weighted adjacency matrix could handle the increased complexity even in a relatively simple ai (imagine two pokemon doing a graph traversal to opposite ends of a node graph, whichever gets there first wins).

Re: Why Can a Machine Beat Mario but Not Pokemon?

#36
post #9

I think the battling issue may be a hard one for AI to deal with alone, though not so much in terms of the main game. Remember, the main story is meant to be beatable by people who don't want to think very much and who don't really care about training their team beyond 'reach a certain level'. Hence in the main story, 'grind until you significantly outlevel the next opponent' would probably be an optimum strategy for…

Given the results obtained by the OpenAI in Dota[1] (with asymmetrical teams nonetheless) I am pretty confident RL could be used to train a pretty efficient pokemon pvp agent. From my experiences the nuances and mindgames/predictions in a pokemon battle are much simpler than those in a high level chess/go game. I would say the model isn't as straightforward as the Mario or Sonic AI players, but is still achievable. A…

What experience do you have? Because this seems opposite my expectations; I doubt standard techniques will do all that well. The only thing harder about chess seems to be that people take it more seriously, so the average skill of the playerbase is higher.

Re: Why Can a Machine Beat Mario but Not Pokemon?

#37
post #4
post #3

I'm glad that I'm not the only one who doesn't understand pokemon

If you're following video games, Pokémon isn't really anything special. It's an RPG. It's doesn't have any innovative gameplay. What was new at release, is the way it combines things which already existed at the time. For example, in Final Fantasy V (which came out 3 years before pokémon), a character could already catch monsters and have them battle against others. Many games already had a collecting element. The ex…

> If you're following video games, Pokémon isn't really anything special. It's an RPG.

Pokemon Red, Green, and Blue are the number two Game Boy video games of all time. Behind Tetris of all games. This is a pretty extreme reductive statement, akin to calling Super Mario 64 "just a 3D platformer."

Re: Why Can a Machine Beat Mario but Not Pokemon?

#38

A* over a Bayesian Network. https://en.wikipedia.org/wiki/A*_search_algorithm https://en.wikipedia.org/wiki/Bayesian_network

> A* over a Bayesian Network.

Can you elaborate? I’m familiar with both individually, but am not sure what you mean by doing pathfinding over a directed graphical model.

Re: Why Can a Machine Beat Mario but Not Pokemon?

#39
post #34
post #29

Earlier quoted context omitted.

Because I can read and understand a context of a video game, a map, vision, etc. So now it's reduced the problem to creating a general human AI. Good luck! FWIW, a (ML) bot can beat Mario with just the x-value - what a human understands by viewing the screen.

> Because I can read and understand a context of a video game, a map, vision, etc. Did you spontaneously figure out how to read? I put it to you that you didn't, and that you were taught how to by someone else. I'd also put that the entire concept of interaction has to be a learned thing in practice, because realistically nobody learns how it works without interacting with someone else who is already reasonably knowl…

If you tell it directly what the meaning of the text is then I disagree, you've done the hard part. Then it's not beating Pokemon, it's beating the next task on your list, e.g. 'Go and get this thing from this city and bring it to this person in this city'. The alternative is don't go for teaching it the meaning at all, where there is a functionally zero chance of it randomly taking the plot token to the right place and then realising it can progress further.

Re: Why Can a Machine Beat Mario but Not Pokemon?

#40
post #9

I think the battling issue may be a hard one for AI to deal with alone, though not so much in terms of the main game. Remember, the main story is meant to be beatable by people who don't want to think very much and who don't really care about training their team beyond 'reach a certain level'. Hence in the main story, 'grind until you significantly outlevel the next opponent' would probably be an optimum strategy for…

In 2014, I wrote a minimax-based AI to play games on Pokemon Showdown. We adapted Showdown's battle simulator for our tree search. The hardest part was syncing the local simulator state with the actual game state - the battle state in Pokemon is both complex and partially observed. Bugs in this process could result in the AI using Protect twice because the state wasn't updated with the fact that it used Protect the p…

Considered building something like this last year, and couldn't find any prior art online. Looking forward to reading your report!
Post reply on HN