Victory Road  

Go Back   Victory Road > Pokémon > Pokémon General


Old April 18, 2015, 10:18:00 PM
Dragonite's Avatar
Dragonite Dragonite is offline
Join Date: Nov 2013
Location: Your refrigerator.
Posts: 1,095
Default Pokémon AI

Sure, why not? This is the kind of thing I waste my time on, guys.

So, research for a certain project of mine has led me to spending some time reading about artificial intelligence used in Pokémon. In the actual games it seems fairly straightforward; lower levels of AI are largely random, higher levels are hard-coded to do certain things. Here's a pretty good description: Pokémon Trainer AI Analysis (Smogon); yes, OP's username is very similar to mine.

I'm not a fan of hard coding things, though. For one, you have to program every individual strategy on its own, which is never something I especially like doing unless absolutely necessary. For another, those of you who have played past about three Gyms in a Pokémon game will know that there are plenty of holes you can poke in these things; most Gym Leaders and Elite Four will try to do the exact same sequence of moves every time around, unless you bring in a Pokémon who's actually immune to their attacks. Hard-coding AI sounds especially bad when you consider that most Pokémon teams I'm working with will be generated on-the-fly and are not guaranteed to be using a cookie cutter moveset. And I don't want the Elite Four to rely on "Surf has the highest damage output on this turn, so I'm going to spam Surf until you die or I die," which is what most NPC trainers will probably be doing (I like to call this "shallow AI").

Eventually I found this and this, which is a chess-level Pokémon AI someone made. It essentially simulates all possible outcomes of every turn, several layers deep, and taking the path with a combination of the best possible and most likely outcome. I wrote some things out on paper, it looks okay although even looking just three turns deep will take like five minutes to compute using Game Maker. I'm thinking looking only at the worst-case scenario (or two or three worst cases) could speed up the decision calculation a lot, but could also cause it to make a few stupid decisions because it expects to always be paralyzed or whatever.

Similar is this, a somewhat simplified version of the above that was made for Gen 1 back when there were fewer variables to consider in battle.

There's also the part where the opponent's (in this case, you) IVs, natures and EVs can't be assumed to be anything specific, so reverse engineering your Pokémon's build - or even moveset - is n/a.

I don't need necessarily something that could crush Wolfe Glick four times out of five, I just need something that could put up a decent fight using any given in-game team.

Anyone else have any thoughts on this, or on Pokémon AI in general?

I'll make a general artificial intelligence thread if you want, it's something that I've always been interested in.
Thread Tools

Forum Jump

All times are GMT -8.

Powered by vBulletin® Version 3.8.11 Beta 1
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Victory Road ©2006 - 2018, Scott Cat333Pokémon Cheney
Theme by A'bom and Cat333Pokémon