11 ms·
Why Can a Machine Beat Mario but Not Pokemon?
- nosjwshere 8y agomario has a fast feedback loop, wrong choices are quicker to find. rpgs have too many choices and no score.
- em0ney 8y agoI'm glad that I'm not the only one who doesn't understand pokemon
- Aissen 8y agoIf 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).
- majortennis 8y agoIt'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.
- Aissen 8y agoI'm not denying that it's special to many people, but this is true of many things in pop culture. I was answering the GG-parent with regards to "understanding" Pokemon. I'm arguing that it's easy to understand as a video game. As a pop culture phenomenon, the question doesn't really make sense, calling for a tautological answer.
- andrewmcwatters 8y ago> 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."
- Aissen 8y agoI think you missed the point. I'm not talking about popularity, but game mechanics, see my other comment.
- phire 8y agoThe 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.
- hiccuphippo 8y agoAnd 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.
- chongli 8y agoAll 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.
- chongli 8y agoTo be fair to the machine, a human wouldn't even be able to tell what game they're playing, let alone be able to finish it, if all he had to go on was the raw memory values in response to controller inputs. The fact that Mario can be beaten at all given such an incredible dearth of information is impressive. RPGs and action adventure games like Pokemon or Zelda are too laden with human-specific cultural details: heroes, villains, a world, exploration, battle, progress. Think of Zelda for example. The wooden sword is not even necessary until the final encounter with Gannon. This isn't even immediately obvious to a human player: he knows that the hero needs a sword to defeat the villain. These are all cultural details a human already knows before beginning to play the game. The machine, on the other hand, knows the sword only as a bit in memory that causes a different branch to be taken in response to pressing the A button; a branch that returns to the main loop very quickly without any other obvious indication of progress. Yes, if used at the right time with the right position and direction, thrusting Link's sword causes enemies' health values to decrease. But since there are multiple ways to kill every enemy in the game (except Gannon) the sword is a luxury until the end.
- CM30 8y agoI 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.
- ziaddotcom 8y agoIs 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.
- kd0amg 8y agoA 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, though subbing replaces your attack for that turn. If you anticipate the opponent using an attack of a particular type, you can sub in something resistant to that attack. In single-player/story mode, you never encounter an opponent at the maximum level, and the NPCs tend not to build type-diversified teams, so the player gets a huge advantage in most battles by just grinding a couple pokemon of the right type.
- ziaddotcom 8y agoA* over a Bayesian Network. https://en.wikipedia.org/wiki/A*_search_algorithm https://en.wikipedia.org/wiki/A*_search_algorithm https://en.wikipedia.org/wiki/Bayesian_network https://en.wikipedia.org/wiki/Bayesian_network
- krapht 8y agoWhat would your admissable heuristic be?
- pas 8y agoDiscover as much of the map as possible? Talk to as many NPCs as possible? Try to get as many different dialogues from NPCs as possible? (I assume that to get to the you won dialogue means you encounter more dialogues than if you cleverly lose.)
- ziaddotcom 8y agoWith the bayesian mesh you could arbitrarily apply heuristics over what otherwise looks pretty similar to a simple coordinate map. If you happen to die near a certain node you could add an ajacent node of "scary" or whatever. Reverse idea for nodes where you get free food and pokemon.
- MereInterest 8y agoDo you have a link to any papers about bayesian meshes? This sounds like a really neat technique, but my google-fu is failing me.
- pas 8y agoSure, the heuristic function can be as complex as one wants, but what's a good heuristic? How can we formalize winning Pokemon? (Without getting too low level, so that ideally the same heuristic would work for other RPGs too.)
- ziaddotcom 8y ago
- skocznymroczny 8y agoBuuut I thought we already have bots that beat Civilization by reading the instruction manual?
- iMart1n 8y agoRelated Talk "Solving Pokemon Blue With a Single, Huge Regular Expression": https://www.youtube.com/watch?v=Q2g9d29UIzk https://www.youtube.com/watch?v=Q2g9d29UIzk
- mrob 8y agoBranching 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/ http://arimaa.com/arimaa/ [1] http://icosahedral.net/downloads/djwu2015arimaa_color.pdf http://icosahedral.net/downloads/djwu2015arimaa_color.pdf
- somuchtyler 8y agoback to "mari/o", i was wondering why is it that a human brain can learn to play mario without having to die a billion times? Why is it that humans don't need a large training dataset? Is there a way to design a neural network in such a way where there is very little training to get a pretty good model?
- roesel 8y agodoesn't life actually count as training? :) and it's a LOT of training, isn't it?
- dragontamer 8y agoBecause artificial neural networks work nothing like human neural networks, despite the same names. Its a false equivalence. Its no more valid a comparison than asking why "CLOS Networks" can't play Mario by themselves, despite also being a network. (A CLOS Network is one kind of network topology for switches) The human brain does NOT take the derivative of the error function and glide down it using gradient descent. There are no matrix multiplication circuits in the brain. Things work in completely different ways that biologists and psychologists barely understand today. It has to do with chemicals, neurotransmitters and other such, which are completely alien to Comp. Sci.
- deathanatos 8y agoWhile Pokémon might have a higher branching factor than Mario, I don't think that means a "machine can't beat it". First, I'm going to use Gen I/II (Red/Blue/Yellow // Gold/Silver/Crystal) here as "Pokémon", the game, as I am most familiar with them; I am not particular aware if the formula has changed in more recent generations. > Pokemon is an open world game … not really. While you can walk around, sure, the actual game is mostly linear; the order in which you explore and visit towns is mostly predetermined. (It has to be, as the Pokémon and trainers you encounter become more and more powerful, so have to progress with that.) Most of the "branches" that occur while walking around any given part of the map will all coalesce on one of the entrances/exits to that part of the map. (I.e., either you leave the town, or you visit one of the buildings in the town, or you talk to someone in the town. Mostly, that's it; my point here is that one can simplify all the "standing at coordinate X, coordinate X+1, ... etc. greatly; those positions are essentially equivalent.) As for a goal, I would just say "AND them together, then". Or just do the Elite Four; the credits scroll when you beat them, which I think is a pretty clear indication of "win". Catching them all is more akin to completing all the achievements in the game. (And requires running multiple coordinated games, as, for example, the starting 3 are only available once, at the beginning of the game. In order to "catch them all", you need two games where the player 1. doesn't evolve their starter and 2. trades it to you. Since usually the starter is the core of someone's team in a normal human game, I think one would normally run a small game. Or find someone you trust and only briefly trade the Pokémon, then trade it back, which counts as far as the Pokédex cares. Eevee, a Pokémon that can evolve 3 different ways in Gen I, represents a similar problem: you only get one, and have to choose. (I think Gen II's breeding system might work around some or most of this issue.)) While Super Mario is perhaps comparatively easy, I would offer up NetHack. It is "open-world" in much the same sense as Pokémon: you have an explorable area, but one that is still mostly linear. There are several "sub-modes" to solve, like the article notes about Pokémon: in Pokémon, you need to explore, train, capture new Pokémon, battle; in NetHack, you also need to explore, battle, manage items, solve Sokoban puzzles, etc. Pokémon is fairly hard to "lose"; losing a battle just returns you to the nearest Pokémon center w/ half your money gone. (That might be more of an issue in Gen I, where, IIRC, money is finite until you beat the Elite Four; in Gen II, as soon as you have a trainer's phone number, I think money is technically infinite. Regardless, simply training a few Pokémon to Lvl 100 should be sufficient.) NetHack, however, is very easy to lose; death is permanent, and requires restarting from scratch. And NetHack has been won by a machine: https://www.reddit.com/r/nethack/comments/2tluxv/yaap_fullauto_bot_ascension_bothack/ https://www.reddit.com/r/nethack/comments/2tluxv/yaap_fullau...
- lacker 8y agoI think this article's key conclusion is incorrect, and that is is likely possible for modern AI techniques to beat Pokemon. The main reason a machine has not already beaten Pokemon is that it is a nontrivial amount of work to connect a standard AI algorithm to a new video game, and nobody has crossed that hurdle for Pokemon. Mario is one of the most popular video games of all time, and so it is one of the few games that people have connected AI to. If there was an AI that was connected to a Pokemon game, I am fairly confident the AI would be able to beat Pokemon. The article discusses the problem of having an unclear goal metric. That doesn't seem like a very hard problem to me - you can start with something like, win as many battles as possible. You might beat the game just randomly after you become powerful enough, or you might need some more tweaks to the metrics, but it doesn't seem like that should be a showstopper. A lot of people are pointing out that Pokemon is fundamentally harder than games like poker or go. That is true, but the bar in this article is beating the game. For poker or go, AI is now better than any human. That is a much higher bar, that is not even relevant for the single-player Pokemon game.
- gepoch 8y agoThis isn't exactly a case where a machine beats a game, but if you want to get an idea of how such a machine would need to think, and if you want to see someone apply a lot of interesting algorithms to brew a sequence of steps to speedrun a game with much more complexity than Pokemon, check out Artjoms Iškovs's series where he comes up with a speedy approach to become the head of all factions in Morrowind: https://kimonote.com/@mildbyte/travelling-murderer-problem-planning-a-morrowind-all-faction-speedrun-with-simulated-annealing-part-1-41079/ https://kimonote.com/@mildbyte/travelling-murderer-problem-p... Absolutely awesome.