Live data from Hacker News

Why Can a Machine Beat Mario but Not Pokemon?

medium.com

1–10 of 76 posts

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

#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 exchange/trading might be new though, as well as selling the same game twice, with only a few differences between the two (to encourage exchanges… and boost sales).

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

#5
The complexity of Pokemon is much lower than the author implies.

It's not really an open world game. There are lots of choke points where your branching factor is limited drops down to two, continue forward to the next trainer or go back and regroup.

There is no issue regrouping in Pokemon, you always end up stronger. There is also very little punishment for pushing fowards and failing, you lose half your money and maybe some time/frustration getting back to the same point, which is meaningless for an ai.

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

#6
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…

It's special to me, the tv show and the trading cards assisted with that. I rekindled my love of the franchise getting into speed running a few years back. 10yo me would spend weeks slow grind progressing. 22yo me trying to speedrun it in sub 2 hours.

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

#7
post #5

The complexity of Pokemon is much lower than the author implies. It's not really an open world game. There are lots of choke points where your branching factor is limited drops down to two, continue forward to the next trainer or go back and regroup. There is no issue regrouping in Pokemon, you always end up stronger. There is also very little punishment for pushing fowards and failing, you lose half your money and m…

And the main objective is pretty much beating the Elite 4. If it is difficult to make the bot decide which goal to go for, just pick one goal for it.

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

#8
post #5

The complexity of Pokemon is much lower than the author implies. It's not really an open world game. There are lots of choke points where your branching factor is limited drops down to two, continue forward to the next trainer or go back and regroup. There is no issue regrouping in Pokemon, you always end up stronger. There is also very little punishment for pushing fowards and failing, you lose half your money and m…

All of the details you're referring to are way above the level of any machine that plays Mario. For SMB1 the branching factor is uncommonly low. Pokemon has an extremely high branching factor by comparison. This being measured at the level of controller inputs and memory content outputs.

SMB1 can be beaten by applying random controller inputs, measuring the player's x value, and seeing what works. Yes, you do need to look a few seconds into the future on some levels but you never need to look ahead further than what's in the current level.

Pokemon has no simple, short term, monotonic measure of progress to work against, akin to Mario's x position. That's it, really.

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

#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 an AI.

But in PvP battles? Yeah, that would be interesting to train an AI on. In that case, everyone is the same level, so grinding doesn't help. Players actually use strategies beyond 'attack with whatever is roughly super effectice against their opponent's current Pokemon', and the number of choices available is in the tens/hundreds of thousands rather than merely what's available at any point in the main game.

Teaching an AI to work in that environment would certainly be a tricky challenge. I mean, at least chess and go had 'symmetrical' teams, meaning that any strategy could be done in any game. Pokemon? You have no idea what your opponent has on their team, and if you're unlucky, that could basically hard counter your own strategy without much you can do about it. Heck, even certain Pokemon are hard to predict on their own, with stuff like Charizard, Mewtwo or Necrozma having at least two possible form change options at any time.

It'd be interesting to see someone try and make an AI to do that, to fight against players in the Nintendo World Championships or on Smogon or what not.

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

#10
post #5

The complexity of Pokemon is much lower than the author implies. It's not really an open world game. There are lots of choke points where your branching factor is limited drops down to two, continue forward to the next trainer or go back and regroup. There is no issue regrouping in Pokemon, you always end up stronger. There is also very little punishment for pushing fowards and failing, you lose half your money and m…

At basically any time during the game, you might want to suddenly abandon everything, go to a shop, buy pokeballs and/or incense, go into the grass and catch a particular pokemon that you will then train for some time before fighting a particular dresser. For example, in the first generation games, if you started with the fire pokemon, the first arena was much more difficult than with other starter pokemon, so you probably wanted to catch and slowly train more beasts before that fight.

Delayed gratification patterns like this one are everywhere in Pokemon, which complicates AI approches.

As an other example, consider Magikarp, a useless pokemon that unless is trained for quite a long time does not give any hint by itself of evolving into the much more powerful Gyarados. An AI would maybe catch it once by chance, but very soon it would learn that that pokemon is useless in fights and would discard it. A beginner human would too at first, although speaking to some NPCs revealed hints about perseverance paying off in training Magikarps.

Without external help and knowledge, I doubt current AI technology is close to being able to speak to NPCs, understand these kinds of subtle cues AND act on them with a gratification delay measured in hours.

Post reply on HN