How an A.I. is Becoming the World's Best Pokemon Player

Sdílet
Vložit
  • čas přidán 29. 06. 2024
  • Because sometimes you gotta spend a year turning a childhood interest into a personal computer science breakthrough…
    Learn more about the AI or watch it battle live at www.battlepredictor.com/FSAI
    OR battle it throughout this week yourself at play.pokemonshowdown.com and look for user “Future Sight AI”
    __
    References and Links:
    [01]: Possible Situations (a.k.a. State-Space Complexity) for different games
    - Tic Tac Toe, Othello, Go: project.dke.maastrichtunivers...
    - Checkers: webdocs.cs.ualberta.ca/~duane...
    - Chess: The two links above both solve for Chess, but provide conflicting numbers, so took the average of both
    - Connect 4: www.informatik.uni-trier.de/~f...
    - Pokemon: Calculated myself based on how many possible team combinations there are. The code and more detail is here: github.com/aed3/FSAI-Extras/t...
    [02]: Images
    - Type symbols sourced from bulbapedia.bulbagarden.net/ and animated 3D models from www.pkparaiso.com/espada_escu...
    - All originally from Pokemon Sword and Shield
    [03]: Chance to win for an NBA team from ESPN
    [04]: Pokemon Battle Predictor Links
    - Chrome and Edge: www.pokemonbattlepredictor.co...
    - Firefox: www.pokemonbattlepredictor.co...
    [05]: How Chess Playing AIs work - www.chess.com/article/view/ho...
    [06]: Pokemon Showdown GitHub Repo - github.com/smogon/Pokemon-Sho...
    [07]: Random Moves
    - I ran tests where during the AI’s runs, it would choose a random game to only click random moves. This happened 60 times and it won… 0 games.
    - That’s actually worse than it should be, and I go over it in more detail here: www.battlepredictor.com/FSAI/h...
    [08]: “Someone has Weather Ball”
    - “WBE Finals! Wolfey VS Cybertron” by WolfeyVGC: • WBE Finals! Wolfey VS ...
    - I kinda feel bad for taking that part out, so you can read what I would’ve said here: www.battlepredictor.com/FSAI/h...
    - This is also where the short gameplay clip in the intro comes from. One of many, many Easter Eggs…
    __
    Timestamps
    0:00 - Pokemon: More than Meets the Eye
    1:14 - Intro
    1:39 - Competitive Pokemon’s Depth
    2:51 - Answering Your Questions
    4:05 - Applying Machine Learning to Pokemon
    9:00 - Seeing a Battle’s Future
    14:00 - How the AI Did
    18:00 - Inverse Damage Calculation
    20:31 - Future Topics
    22:24 - Battle the AI!
    23:15 - Potential Applications
    23:36 - Kinda Arrogant, Kinda Accurate
    24:19 - Potential Applications
    __
    I started this channel for three reasons:
    1. Increase representation in the engineering community
    2. Improve at talking into a camera
    3. Include tasks I’m fine with putting less effort towards in the day (this video being an exception)
    Some of the goals are more far-fetched than others, but I’ll see what I can do.
  • Věda a technologie

Komentáře • 2,7K

  • @colisali5603
    @colisali5603 Před 2 lety +4069

    I laughed over landorus u-turn being no.1 prediction, AI already learned the essence of high-level play

    • @kylekiske_
      @kylekiske_ Před 2 lety +188

      "high level play" being asleep at the wheel. sure.

    • @xav9992
      @xav9992 Před 2 lety +175

      @@kylekiske_ "high level play" spaning spore with amoongus

    • @ezla1663
      @ezla1663 Před 2 lety +68

      @@xav9992 Only in VGC, this is playing OU.

    • @litapd311
      @litapd311 Před 2 lety +59

      @@xav9992 when the ai is sus

    • @jamesflanagan6977
      @jamesflanagan6977 Před 2 lety +48

      @@kylekiske_ yeah, a lot of people (especially if they're tilted) will just play on autopilot. Leading something like a choice scarf Landorus Therian and clicking u-turn turn 1 is something that will often work out well for you It's like spamming a high damage move in a fighting game which is the mark of a noob rather than "high level play", you find something that works and just keep doing it. This is an important thing to identify when trying to improve. When you catch yourself going on autopilot the best thing you can do is slow down and try to force yourself to use more time per turn (temporarily). That is not to say you always need to spend a minute thinking through every turn, experience can help you off-load a lot of the processing so you can focus your conscious thought on tricky scenarios (and sometimes you can get in "the zone" where you can play super fast because even though you're not consciously thinking about each play you subconsciously are quickly following the correct logic).

  • @dangerbeans9639
    @dangerbeans9639 Před 2 lety +3144

    The fact that it plays to the opponents skill level means that you just made a competitive “play against AI” mode in Pokémon. That’s impressive.

    • @KinkajusRevenge
      @KinkajusRevenge Před 2 lety +79

      If the AI is to improve, it should always play its best, and not adjust to skill level.

    • @tl1326
      @tl1326 Před 2 lety +384

      @@KinkajusRevenge
      with pokemon, a bad player can outplay a good player that over thinks or over estimating a player

    • @KinkajusRevenge
      @KinkajusRevenge Před 2 lety +51

      @@tl1326 Yes, but i believe that in the long term, playing to the best move in a given situation wins more often than trying to underpredict a player

    • @lucaslbpo91
      @lucaslbpo91 Před 2 lety +9

      @@KinkajusRevenge but to properly do that the AI will need to see a lot more turns ahead than the current 3

    • @KinkajusRevenge
      @KinkajusRevenge Před 2 lety +60

      @@lucaslbpo91not really. Pokemon is largely about tactics, and knowing your win condition. Prediction is only a small part of it. I doubt most players think more than a few moves ahead, since RNG and other factors change the board often.

  • @PositiveBlackSoul
    @PositiveBlackSoul Před 2 lety +1689

    An AI that has a consistent ~50% winrate in all levels of play is honestly pretty cool.

    • @amberlee4536
      @amberlee4536 Před 2 lety +58

      It has a better winrate than I do

    • @Noobie2k7
      @Noobie2k7 Před 2 lety +156

      Yeah. It actually makes it the best kind of practice AI to put into a videogame. Since if there is always an average of 50% chance to win or lose regardless of your skill level it will always be a challenge and keep you learning and improving.

    • @HiImBeans
      @HiImBeans Před 2 lety +9

      And that's on the weakest setting 😂

    • @meepmeep8875
      @meepmeep8875 Před 2 lety +6

      Such a perfect practice tool

    • @Lastremify
      @Lastremify Před 2 lety +21

      Honestly speaking this is absolutely the golden opportunity! Even though it was not the creators intention having a computer that pushes a player no matter the skill level and both the player and the computer having an even chance at beating each other should be its own project. Modeling skill curves is damn hard and is some secret sauce!

  • @ZeroNumerous
    @ZeroNumerous Před 2 lety +615

    Playing to the opponent's skill level is actually an incredible accidental creation. You've built an AI that, if it's pared down a bit, could be plugged into a pokemon game to provide an interesting opponent throughout the game.

    • @asterlofts1565
      @asterlofts1565 Před rokem +42

      Honestly, I'm tired of NPCs that don't EVER switch their Pokemon until one of them faints and moves on to the next Pokemon they have... I'd like one or a few that at least have some "skill" and a solid strategy but no unfair to the player and it's challenging and rewarding to defeat them even they gradually increase the difficulty of the battles based on certain game conditions as you progress or do quests or something like that... It would be super interesting and cool and teaches you how to play for real like in Pokemon Showdown, for example!

    • @ireallyhatemakingupnamesfo1758
      @ireallyhatemakingupnamesfo1758 Před rokem +4

      Lots of post games have something similar where the only way to get far is to have a competitively viable team

    • @ironboy3245
      @ironboy3245 Před 10 měsíci +6

      Alternatively, slap it into smogon and let it rip

    • @jmlynr
      @jmlynr Před 9 měsíci +3

      @@asterlofts1565 Having read Chorocojo's Let's Play Pokemon Platinum, Barry seems to be a weirdly skilled NPC by the general standards of the series, not only switching out of unfavorable matchups, but punishing the player character for switching out through the use of the move Pursuit. While kind of a doofus in general, he's sort of an idiot savant when it comes to his chosen form of competition, like so many anime protagonists I guess.

    • @davidcardinal3654
      @davidcardinal3654 Před 7 měsíci +1

      This is why I liked Pokémon black and white 2. The hard mode was decently difficult and made the second play through way more fun. Wish they would add hardmode to all Pokémon games

  • @pokeaimMD
    @pokeaimMD Před 2 lety +5618

    This is so sick

    • @TheThirdBuild
      @TheThirdBuild  Před 2 lety +717

      Why do I hear boss music...
      But seriously, your videos helped a lot in making this, so I'm glad you think it's cool!

    • @TheMonkeee
      @TheMonkeee Před 2 lety +36

      Joey himself here :o

    • @JamesJones-ts5fl
      @JamesJones-ts5fl Před 2 lety +201

      Joey vs FuturesightAI when?

    • @tomfoolery8238
      @tomfoolery8238 Před 2 lety +40

      Feature challenging the AI on your channel. Be a sick vid

    • @Flapjack3734
      @Flapjack3734 Před 2 lety +4

      J his name is…

  • @xotrovert
    @xotrovert Před 2 lety +630

    Your chance of predicting whether a player will win is almost the same as stone edges chance of hitting. How poetic.

    •  Před 2 lety +17

      50%?

    • @cellP8
      @cellP8 Před 2 lety +18

      *stone miss :´)

    • @zachrowe6271
      @zachrowe6271 Před 2 lety +9

      Though the exact thing. That and focus blast

    • @pulkitjain2361
      @pulkitjain2361 Před 2 lety +11

      Nice 30%

    •  Před 2 lety +12

      @Zeta Then it is 50%.

  • @Faherd
    @Faherd Před 2 lety +1222

    17:45 “it has this weird limitation where it played to its opponent’s skill level”
    THATS SUCH A WHOLESOME LIMITATION THO 🥺

    • @Katharina-rp7iq
      @Katharina-rp7iq Před 2 lety +129

      Fun to play against for anyone, giving a challenge but good win chance... that's the perfect opponent for anyone.

    • @ReyNico
      @ReyNico Před 2 lety +50

      @@Katharina-rp7iq yeah it would be good as a built-in bot for the game. But, he wants it to be the best... That means wrecking everybody

    • @coreygarris9390
      @coreygarris9390 Před 2 lety +43

      Honestly, that seems like the next logical step. Over prediction is a thing.

    • @Smenchevieve
      @Smenchevieve Před 2 lety +8

      I feel like a problem that may have led to this was only using the last used move as a parameter and not all the moves that have been used throughout the battle.

    • @jasonruff1270
      @jasonruff1270 Před 2 lety +1

      lol that emoji

  • @JosephCatrambone
    @JosephCatrambone Před 2 lety +47

    Professional ML Engineer / Data Scientist here. You did amazing work. Some particular points that I think deserve commendation:
    1. Picking a language based on how well it fits the needs of the project. (Yeah, I'm a Python fanboy, but I think the call to use JS here was the right one for the reason you mentioned.)
    2. Being socially responsible with the code release -- thinking of cheaters making the game not fun.
    3. Making the model available to test by outsiders.
    So yup. I'm floored. Awesome work.

  • @insaneintherainmusic
    @insaneintherainmusic Před 2 lety +1220

    This is so freakin cool. Congrats on building something this impressive!

  • @JamesJones-ts5fl
    @JamesJones-ts5fl Před 2 lety +761

    This is genuinely one of the best videos I’ve ever seen. I’ve played Pokemon for years at various levels, but I know precious little about actual computer science; yet when I watched you explain the AI in depth, I never felt talked down to or lectured towards, just educated. It’s a rare skill to be able to explain a topic in-depth, and passionately, without coming off as showoff-ish, but you nailed it.
    Sub earned. Great work, I can’t wait to see more!

    • @TheThirdBuild
      @TheThirdBuild  Před 2 lety +163

      That is truly all I strive for when making these videos; ngl this comment had me tearing up a bit. It's super uplifting to see this and I'll do my best to keep the quality coming!

    • @cohandora
      @cohandora Před 2 lety +1

      Yes

  • @SendFoodz
    @SendFoodz Před 2 lety +120

    I'm blown away by this project.. and the AMAZING animations in this video..
    the production quality of this video is absolute top tier

  • @atraxian5881
    @atraxian5881 Před 2 lety +453

    I would love to see how it would fare with meme teams like focus-sash + endeavour + quick attack rattatas or pain-split + sturdy level 1 mons.
    Would the ai find a worthy challenge in trying to predict extremely fringe cases or be at a loss.

    • @justas423
      @justas423 Před 2 lety +80

      Might be possible that the computer, through machine learning, could pick up that Level 1 Rattata = FEAR and play accordingly.

    • @nya69
      @nya69 Před 2 lety +30

      without any kind of learning or preparation for FEAR mons itd probably struggle, but it could very easily be taught or learn to recognise and counterplay any possible FEAR strats

    • @Awesum
      @Awesum Před 2 lety +8

      Considering the likelihood of it carrying toxic, and burn it would probably be able to play accordingly..being able to detect the set automatically with its database of million of battles.

    • @UnknownVir
      @UnknownVir Před 2 lety +4

      @@nya69 Actually, I don't think it's likely to run out of PP versus a FEAR pokemon
      /j

    • @RocketPropelledMexican
      @RocketPropelledMexican Před rokem

      If this project is still active I wonder how it would fare against weird metas like revivecats of the former natdex AG

  • @LudikrisTV
    @LudikrisTV Před 2 lety +271

    "I made an ai that plays at the skill level of its opponents" Dude, that is not easy. Every video game ever wouldn't mind having that ability for co op vs ai games.

    • @davideleoncini6246
      @davideleoncini6246 Před 2 lety +10

      It's not usable, the ai can do that because he know the opponent rating and what's usually used at that rating, it couldn't work in single player game

    • @kairotox
      @kairotox Před 2 lety +47

      @@davideleoncini6246 Think league of legends. Every player has an elo rating. Their current co-op vs ai mode doesn't scale in difficulty though, any player better than bronze can easily defeat them. If they changed up their difficulty based on the elo of the players, that'd be a LOT better than the current implementation.

    • @davideleoncini6246
      @davideleoncini6246 Před 2 lety +7

      @@kairotox I was thinking about Pokemon story mode ahahah, Im with you in this though, it would be good

    • @Nintendilly
      @Nintendilly Před 2 lety +18

      Technically it could be possible. If the ai was incorporated into the story mode it could just base it's level off of how many gym badges the trainer has, probably some other factors too like total number of wins or losses, total number of defeated trainer pokemon.. Definitely would love to see something like this in the main games, the story mode is way to easy

    • @davideleoncini6246
      @davideleoncini6246 Před 2 lety +6

      @@Nintendilly it wouldnt make a difference, a pokemon game should just give better pokemon to trainer and make them do moves that actually do something, thats all, youll have a difficult game for 90% of pokemon player.
      If you want to know why AI wouldnt make a noticeble pratical difference its because you cant make it choose the trainer team and level, thats all setup in advance, and even if you make it choose, you should give a small selection cause of type trainer that use only some type of pkmn.

  • @elirantuil5003
    @elirantuil5003 Před 2 lety +354

    "Multithreaded"
    "But he just said he did everything in javascri..... Oh, poor soul"

    • @illusion9423
      @illusion9423 Před 2 lety +1

      I didn't really understand it, can you explain?

    • @elirantuil5003
      @elirantuil5003 Před 2 lety +62

      @@illusion9423 there are languages that make it easier to use multithreading... And that is somewhat of an understatement.

    • @jenidu9642
      @jenidu9642 Před 2 lety

      @@elirantuil5003 do you mean like C++ or is it even easier in other languages?

    • @PabloRozario
      @PabloRozario Před 2 lety +1

      @@jenidu9642 for multithreading yes

    • @jenidu9642
      @jenidu9642 Před 2 lety

      @@PabloRozario easier in C++ or other languages?

  • @Auride
    @Auride Před 2 lety +55

    Way back in high school, I tried to do almost the same thing. It's kinda hilarious hearing you describe all my wrong choices! I tried to write it in Java, using Webdriver to interact with PS!, so I had to write a very basic simulator. After half a year, my final demo was winning a carefully designed 2 turn battle where it had to use a strong move followed by a priority move. Great work!

  • @hoguesteele
    @hoguesteele Před 8 měsíci +6

    Bro I watch this 2 years ago when it first came out, you did great I'd love to see more of your work. CZcams just recommended it to me again, I'm happy to give it a second watch through

  • @dynamicbanteranimated8411
    @dynamicbanteranimated8411 Před 2 lety +588

    I’d easily watch a 3-hour version of this with every tangent included; this project is so impressive

    • @daniellewilson8527
      @daniellewilson8527 Před 2 lety +10

      I’d watch that too

    • @someghosts
      @someghosts Před rokem +1

      Yeah maybe as a second channel video or something

    • @keylowjoe
      @keylowjoe Před 7 měsíci +1

      2 years later, its still worth a 3 hour version, im now down a rabbit hole and hoping the 3 hour compilation exists.

    • @ZenoEditz.
      @ZenoEditz. Před 7 měsíci

      @@keylowjoe same 😢

  • @TrippyPepper
    @TrippyPepper Před 2 lety +914

    honestly the most impressive video ive ever watched on yt, subbed and look forward to more vids !

  • @DaBlueIghuana
    @DaBlueIghuana Před 2 lety +6

    I really like listening to you talking about anything, you’re very active but calm at the same time. I can’t really explain it, this is the first of your videos that I have ever seen.

  • @AR-io8fv
    @AR-io8fv Před 2 lety +99

    You’re going far man. My jaw dropped when the graph started going crazy and the music played. Stylish. Sharp as a knife. And lovable. I wish you were my data science professor.
    Subscribed.

  • @lankyaf2868
    @lankyaf2868 Před 2 lety +207

    this video is criminally underrated: the editing, presentation, and the entire project itself of course is AMAZING. Keep it up!

  • @Eskay_OW
    @Eskay_OW Před 2 lety +1070

    This was a treat to watch you’re awesome

  • @Radi0actvChickn
    @Radi0actvChickn Před 2 lety +20

    It's impressive enough that you were able to make an AI with results these good, but you also made a super entertaining video and explained things very clearly using fantastic visuals. I'm also a programmer, and this is exactly the type of quality programming content I want to see more of on CZcams. You definitely earned my subscription. Looking forward to what you make next!

  • @litapd311
    @litapd311 Před 2 lety +1

    this is one of the coolest and most impressive videos i've seen on youtube from a small creator. both the coding and video are VERY impressive, and it was really cool hearing you walk through your process and decision making

  • @Sephiron
    @Sephiron Před 2 lety +825

    Bro how are you so smart?
    Dayum. Max props for the effort on this video!

  • @kevincheng4288
    @kevincheng4288 Před 2 lety +478

    I shiver in fear for the day that this bot ends up loading up full stall and begins to grind down the ladder lol.
    Jokes aside, very cool. Reminds me a lot of the development of AlphaGo, except on a much smaller scale.

    • @highvoltage3508
      @highvoltage3508 Před 2 lety +41

      I wonder if the AI would ignore hazards and not even click defog/rapid spin, cause if it only plans 3 turns ahead it doesn't care about the long term. I think that teaching the AI the importance of removing hazards is the only thing it has to be manually taught tbh.

    • @Flapjack3734
      @Flapjack3734 Před 2 lety +32

      Imagine playing a 100+ turn match against a stall AI… I would cry lol

    • @ultimaterecoil1136
      @ultimaterecoil1136 Před 2 lety +12

      @@Flapjack3734 100 is kinda tame. 500+ is the point I’d start to worry

    • @genyrik35
      @genyrik35 Před 2 lety +7

      @@highvoltage3508 in one of the clips we say lando T click Defog I front of a dragon it’s w screens, so it does seem to recognize that

    • @robertocorti9845
      @robertocorti9845 Před 2 lety +10

      Bots work horizontally.
      That means lots of computing work.
      They will probably do better on hyper offense.

  • @ipercreeper3300
    @ipercreeper3300 Před 2 lety +24

    You're going places man
    Also your editing is fantastic

  • @archetypeknight771
    @archetypeknight771 Před 2 lety +5

    You've got a good presentation style. Can't wait to see where this project goes!

  • @TheThirdBuild
    @TheThirdBuild  Před 2 lety +60

    I'm still wrapping my head around this video's random surge, but what I can understand is how absolutely grateful I am for the support and kind words yall have given it; A huge THANK YOU to all of you!
    This has been a huge project, so I'm thinking it's time we assemble a team. If you know a lot about Pokemon, programming, or both, fill out this form ( forms.gle/6R85bn2GwajrgteL7 ) so I can gauge interest in creating a team. No promises anything comes of it, but if you fill it out, I'll let you know if it does. Also, finally learning how to use Discord, so that might be a thing soon too.
    (P.S.I'm surprised no one's found any Easter Eggs yet. If my face isn't on screen, odds are there's something to find 😉)

  • @PrincessYellowSings
    @PrincessYellowSings Před 2 lety +250

    When you finish doubles, it would be so cool to see WolfeyVGC play against it! This is really cool. I hope more people get to see your hard amazing work.

    • @spikerthedragonbear
      @spikerthedragonbear Před 2 lety +15

      double the problems

    • @snacqk6550
      @snacqk6550 Před 2 lety +1

      Doubles will probably be for DOU because this is for showdown- Wolfey plays VGC

    • @Talynen
      @Talynen Před 2 lety +21

      @@snacqk6550 he uses showdown to practice VGC with training partners I thought

    • @deeznoots6241
      @deeznoots6241 Před 2 lety +8

      Would be fun to see ‘anti-computer’ pokemon develop like anti-computer chess

    • @nathanielgomez8350
      @nathanielgomez8350 Před 2 lety

      Holy heck yes. This needs to be a thing.

  • @mysticuno
    @mysticuno Před 2 lety

    I love the attention to detail and the polish in this video, especially the easter eggs in the pseudo-code around 20:39. Really looking forward to the rest of the series!

  • @theinfiniteconqueror
    @theinfiniteconqueror Před 2 lety +2

    Dude, every time you go another step into the simulation it just keeps blowing my mind at the solution you used to solve it. Its amazing to see the process.

  • @HaloAdherents
    @HaloAdherents Před 2 lety +182

    Me: Show me your team so I know it's not a stall team.
    AI: I'm sorry Dave, I'm afraid I can't do that.

  • @AbsolBlogsPokemon
    @AbsolBlogsPokemon Před 2 lety +903

    Every facet of this - the concept, the editing, the explanation, and the whole project - is awe-inspiring. Fantastic work on all of this!!!!
    Really fascinating how fine-tuning it without machine learning has made it better at battling for now - makes me wonder if being more selective with the battles input in the dataset to only have battles between high ranking players could change that or if it wouldn't matter? (EDIT: just watched the sequel to this and learned the fault of neural networks here. Still really rad that you tried it out!)
    Well, no matter what, I'm really looking forward to seeing whatever comes next!!! Best of luck on your project

    • @tpsam
      @tpsam Před 2 lety +8

      Ai trains this Pokémon from egg lvl 1 to 100

    • @gargoil0624
      @gargoil0624 Před 2 lety +1

      Get back to grinding lvl 100 boy 😂

  • @briancordry8165
    @briancordry8165 Před 2 lety

    Incredible vid, can't believe how good your art direction / editing are, on top of how deep the math goes. True talent!

  • @uranium54321
    @uranium54321 Před 2 lety +4

    I don’t think I can overstate how great this video is. Cool projects like this are what first got me interested in machine learning, and I’m sure this video did the same for some people. Thank you for this video, keep up the good work!

  • @TalonFlo
    @TalonFlo Před 2 lety +581

    I made a PS ai, too. In fact, it was my bachelor thesis. Also we had the same ideas for many topics. I used JS as well for the exact same reason and Tensorflow. Plus I had the same idea to go over the next turn with the original ps code.
    There are some differences, too. You went for an Alpha Go approach because the used data is from actual pvp battles. I chose Alpha Zero, meaning I wanted the ai to learn by itself. I only used ai vs ai battles so it learns the game by itself. I think this was the main reason, why your project succeeded and mine failed. The ai battles were slow and I couldn't generate enough data in time. In the end, my neural network was very weird, it always predicted Thunder Wave and I wasn't able to fix that before the deadline.
    However, there is another difference and I think this idea might help you. I noticed that created teams often followed some patterns. If a team doesn't have a grass type, then it's more likely that the pokémon have grass type coverage. But wait, at a specific turn grass knot wasn't used althought I had Swampert on that turn. Could it be, that this pokémon of the opponent doesn't have the move in the set? I was able to create a system to handle this problem. It's a bit too complex for aCZcams comment but if you want, I can show it via voice chat or something.

    • @hydrostrikehd4661
      @hydrostrikehd4661 Před 2 lety +32

      I know nothing about this field, but why not just combining the two approaches? I mean, now that he has a good AI trained on pvp battles data, he can make it train by playing against itself, can't he? Sorry if i'm asking a stupid question, but once again i know nothing about this and i'm just curious.

    • @schmeat7609
      @schmeat7609 Před 2 lety +95

      Always predicting thunder wave regardless of the mon in front of you is a valid approach if you're on showdown.

    • @TalonFlo
      @TalonFlo Před 2 lety +34

      @@hydrostrikehd4661 This idea is called Alpha Go Zero. And yes, it is a good idea, however we will face the same problem: We need many, many battles to train the ai.
      Plus, for PS specifically it might not be a good idea, because human players play differently than the ai, which is a problem when predicting the opponent's moves. To be honest, this is also a problem for my Alpha Zero approach.

    • @hydrostrikehd4661
      @hydrostrikehd4661 Před 2 lety +4

      @@TalonFlo Got it, thanks for the answer.

    • @mattcroft
      @mattcroft Před 2 lety +34

      "Always predicted thunder wave"
      the 20XX of Showdown

  • @josidfin
    @josidfin Před 2 lety +167

    This is absolutely amazing! Love how you explain it and applied it thus far.
    Thank you for sharing your mind with us here. Going to have to tell my subs to check this video out

    • @PrismaAce
      @PrismaAce Před 2 lety

      not gonna lie, something like this could be really useful to the council

  • @KorgCrimson
    @KorgCrimson Před 2 lety +180

    Absolutely amazing! Ever talk to the dev's of Pokemon Showdown to see if you can make your AI something players can play against?

    • @JohnYoo39
      @JohnYoo39 Před 2 lety +45

      This so much. Future Sight AI would be an amazing tool to test strategies against and for general training. I'm sure gamefreak would love a dynamic difficulty setting to keep players engaged too.

    • @KorgCrimson
      @KorgCrimson Před 2 lety +17

      @@JohnYoo39 this! Heck work for game freak and create an actual hard mode AI for pokemon!

    • @damsonrhea
      @damsonrhea Před 2 lety +5

      @@JohnYoo39 I suspect it's probably too big and slow, and probably has some quirks he has to manage.

    • @alis6581
      @alis6581 Před 2 lety +8

      @@KorgCrimson Original BW had a mode like this I believe but only after yo beat the main story. Idk why they never did this again

    • @adoniscreed4031
      @adoniscreed4031 Před 2 lety +1

      @@damsonrhea for now... he can only improve from here!

  • @LancerVillan
    @LancerVillan Před 2 lety +2

    Dude people combining and nerding out about their favorite things is always amazing to watch. You got some talent and dedication cannot wait to the fruits of your labour

  • @illusion2438
    @illusion2438 Před 2 lety +311

    This video needs to blow up. As a showdown player myself this has been one of the most interesting videos I’ve seen. Hoping this hits it big because I’m mind boggled by the work you’ve done here.
    I play a variant of pokemon called draft league in which each player only has 8-12 possible pokemon to choose from and build a team of 6 and each opponent knows what the other 8-12 pokemon the opponent has. Your AI seems perfect already for something like that as compared to OU you only need to prep for 12 possible pokemon and their sets compared to the hundreds on the OU ladder. Can’t wait to see how you grow this.

    • @TheThirdBuild
      @TheThirdBuild  Před 2 lety +62

      Thanks for the complement!
      Ah yes, I've been thinking the latter half of your comment for a while, and under my best guess, this AI would be an absolute threat in a draft league! There are so many optimization it could make (and I could add) with only 12 possible foes a match. Once I'm done fixing the current set of bugs, we'll see what it can do.

    • @phantomstryfe
      @phantomstryfe Před 2 lety +5

      haha im right there with you, seeing this in draft would be amazing...
      but it could definitely cause problems too, since leagues are just like tournaments and some owners may not like this being used in their league - i for one know that i am unsure of what to think about it in this regard.

    • @jeronipuff
      @jeronipuff Před 2 lety +1

      it's hitting the algorithm rn

    • @profchipboard6640
      @profchipboard6640 Před 2 lety

      On top of that, I imagine you could train the dataset for particular player (though sample size might be an issue there) which could be quite significant when looking at tendencies (i.e. whether somebody clicks pursuit or not).

    • @TheThirdBuild
      @TheThirdBuild  Před 2 lety +8

      That's definitely possible, it's just hard to find enough battles from any one player to train on

  • @RAISEYOURDONGERS1
    @RAISEYOURDONGERS1 Před 2 lety +80

    "Why would I do this? Well, the Florida wall decoration behind me should explain everything."

  • @crowsong8097
    @crowsong8097 Před 2 lety +8

    This is absolutely amazing. It occurs to me that this could be a fantastic tool to teach battles as well. If it knows which action is most beneficial every single turn, I could see this being helpful for demonstrating ideal choices in every circumstance and to train ourselves to be better at battling as well!

  • @bibbobella
    @bibbobella Před 2 lety +31

    This feels like one of my old biotechnology classes. You clearly know what you are talking about, do a great job of explaining what you are doing and how it works and overall are just making it interesting...yet I can barely comprehend the kind of time and effort learning all of this must have taken...

  • @BobWhoosta1
    @BobWhoosta1 Před 2 lety +34

    Dude, how old are you? The level of thoughtfulness and maturity of your channel is off the charts, not to mention the entertainment value and editing.
    I'm showing this to all my sons, and we're counting it for school. 1000%

  • @poke-maniacchris2965
    @poke-maniacchris2965 Před 2 lety +51

    I’d love to see a top Pokémon player react to or even challenge this AI like Wolfe or Cybertron

  • @ZimmervisionCZ
    @ZimmervisionCZ Před 7 měsíci +2

    This is a jaw-droppingly cool project! I'm very excited to check this out in more detail. I'm looking to learn more about competitive Pokemon play, and a skill-matched AI opponent seems like a great low stakes way to do that. Plus you've got amazing production quality on the video itself. All around incredible work!

  • @flyingfrogofdeath9616
    @flyingfrogofdeath9616 Před 2 lety

    WOW!! Excellent quality. Instant subscribe. Can't wait for your channel to continue to grow!

  • @pulkitjain2361
    @pulkitjain2361 Před 2 lety +63

    Hey man, this is incredible, the sheer scale of what you're doing is just insane. Props to you for having the ability to make this happen! Good luck on your future endeavors and on the AI

  • @freezerman7109
    @freezerman7109 Před 2 lety +79

    So I used to play on the generation seven ladder and there is a bot on that named FildrongEstNul. The bot is usually a free win because it uses the same team over and over and makes the most basic plays it can so it became obvious it was a bot(not even a good one tbh) . This is shocking that an A.I. like yours can learn mons so quickly and get top500 to the point it can be disguised as a real player. This is great work.

    • @perrydimes6915
      @perrydimes6915 Před 2 lety +16

      fun fact: fildrong is a huge french pokemon youtuber and the username means "fildrong sucks" in french

    • @freezerman7109
      @freezerman7109 Před 2 lety +16

      @@perrydimes6915 Ok time to make a bot named BlunderBad which will only click the hardest reads like scizor on CB Vic lol.

    • @cellP8
      @cellP8 Před 2 lety

      @@freezerman7109 LMAO

  • @AndreSantos-kr3yu
    @AndreSantos-kr3yu Před 2 lety +1

    Great job! Love the project, and it seems really well executed. Kudos for your dedication and hard work.

  • @drewbilly9
    @drewbilly9 Před 8 měsíci

    I love how you number the sources and show them at the bottom left that’s so much easier than how most channels link stuff, super cool video :3

  • @Bayckun
    @Bayckun Před 2 lety +19

    14:30 I’m so happy I watched this video. Not only was it intriguing and entertaining, I always thought of myself as a low ladder player since elo decay starts 1400+ and my peak was only 1400 and I averaged around 1350. This gives me a small confidence boost knowing I’m an upper 25% ish player. Thank you man. 🙏

  • @enickma910
    @enickma910 Před 2 lety +26

    This is the most high quality video I have ever seen from someone with fewer than a million subscribers, let alone the fewer than 1000 you have. Your channel has a bright future.

  • @jacobdumford1891
    @jacobdumford1891 Před 2 lety

    Amazing stuff! Looking forward to seeing how you continue to build this masterpiece.

  • @georgehughes2521
    @georgehughes2521 Před 2 lety

    This is incredible. Looking forward to more updates (and VGC AI)!

  • @MAVERICKSHOOTERS
    @MAVERICKSHOOTERS Před 2 lety +31

    The editing, the structuring of the vid, the idea, the vid itself, all amazing, keep up the work this vid gonna blow up

  • @0liviaSama
    @0liviaSama Před 2 lety +35

    Incredible ai you've made, this is actually astounding you were able to make this with such high odds. If only the ai could emulate how salty some players get, then it'd truly be a top tier player

  • @maximusm5823
    @maximusm5823 Před 2 lety +1

    The way you explain things comes off as very easy to understand you have a talent for this I hope you go very far your channel deserves way more subs great video quality too

  • @jaksida300
    @jaksida300 Před 2 lety

    This is a very well made video! I’m pleasantly surprised by both the overall quality of the video itself and the AI itself. Keep up the great work!

  • @TVBenSifka
    @TVBenSifka Před 2 lety +11

    This mans fuckin made a win predictor more accurate than focus blast, holy shit

  • @SuperCosmicSpaceMagnet
    @SuperCosmicSpaceMagnet Před 2 lety +32

    To be so young yet so bright - I'm absolutely stunned. You're an inspiration!

  • @ssssaintmarcus
    @ssssaintmarcus Před 2 lety +1

    This is wild man. Very impressive dedication. You are going places brother

  • @DerpsGW
    @DerpsGW Před rokem +1

    Super inspiring. Was blown away by the detail and approach here. Amazing project!

  • @movingparts6270
    @movingparts6270 Před 2 lety +9

    I've been working on a project like this for months! I'm so jealous and excited someone scooped me, and with such a well produced video. Great job!

  • @InvisibleTower
    @InvisibleTower Před 2 lety +25

    When the Go-playing computer was in the news, the first thing I thought of was "show me a computer that can play competitive Pokémon and I'll be impressed." This is awesome!

    • @BrawlLegendLink
      @BrawlLegendLink Před 2 lety +10

      This is absolute awesome work for sure, but the Go AI is so much more difficult and impressive in every ascept.
      Not trying to talk this down in the slightest, of course that is no competition with a full team of Google AI scientists VS a single dude.

    • @brzt4256
      @brzt4256 Před 2 lety

      @@BrawlLegendLink It's because AlphaGo was coded in Lua. If this guy switches languages, his AI will be top-tier in no time.

    • @BrawlLegendLink
      @BrawlLegendLink Před 2 lety +6

      @@brzt4256 You significantly underestimate the complexity of Go and the effort behind AlphaGo.
      Pokemon is magnitudes easier to solve, because most of its numeric complexity covers cases that are trivial to rule out and/or don't play any role in the decision making.
      Another significant difference is that in Pokemon, only a small subset of moves have any impact on future turns, and if they do it is really straightforward. In games like chess and even more so Go a move that seems poor at the time played even for the best human player can commonly turn out to be brilliant 20, 30, 40 turns later. Pokemon is trivial in comparison which makes it way easier to train a decent AI.
      Also the language doesn't make much of a difference in the end (except for runtime maybe), at the core it is the same Tensorflow library which does the heavy lifting. Other languages just make your life easier.

    • @gattabat
      @gattabat Před 2 lety

      ​@@BrawlLegendLink I agree, but pokemon is far more complex at an actual competitive level. This AI can beat the equivalent of an 'average' player at pokemon, in singles OU. The skill level increases drastically after 1500s, and the distributions aren't actually representative of the communities skill (lots of competitive (>1700s) players ceebs laddering).
      To make a truly powerful pokemon ai, in other words 'solving' it, you would need to account for all the probabilities.

    • @BrawlLegendLink
      @BrawlLegendLink Před 2 lety

      @@gattabat No, it is not. The skill ceiling is fairly low, compared to really hard games such as chess or go it is the equivalent of TicTacToe.
      It is impossible to brute-force solve even chess, which has much fewer possibilites overall. The difference is: In chess, it is impossible to even guarantee that a certain move is objectively bad most of the time (always whenever it does not lead to a known guaranteed loss). In Pokemon, a 6 year old can tell you that Bodyslam always is better than Tackle. Most options are like that.

  • @Joshcohen97
    @Joshcohen97 Před 8 měsíci

    Albert!!! My mind was blown when I saw you on this. Excited to see you and not surprised youre still killing it, thanks for the video :)

  • @froggouk2
    @froggouk2 Před 2 lety

    The editing on this is phenomenal, as well as the topic - kudos to both the host and the editor (if they are different!)

  • @sergis528
    @sergis528 Před 2 lety +17

    The production and the program are both so insane, you will go places!

  • @MoxieBoosted
    @MoxieBoosted Před 2 lety +7

    I'm so excited to see more updates on this!

  • @mkazn1322
    @mkazn1322 Před 7 měsíci

    Absolutely killer video idea and execution. Good job with the awesome video. Cant wait to see more!

  • @clementcapart1123
    @clementcapart1123 Před 2 lety

    Great video and project! You explain your process really well and the video editing is perfect, excellent job!

  • @cellP8
    @cellP8 Před 2 lety +23

    Congratulations my friend, CZcams just recommended this masterpiece to me, so expect a lot more people to come.
    Looking forward to the future of this project, and the most important part is that you are having fun with it :)

  • @icymiles
    @icymiles Před 2 lety +23

    The fact that this video only has 227 views blows my mind... This is the craziest thing I've ever seen. You're the goat.

    • @BarrettC9
      @BarrettC9 Před 2 lety +8

      Looks like your comment was the final push into the algorithm zone because it’s been 1 week and now it’s got 55k

    • @icymiles
      @icymiles Před 2 lety +2

      @@BarrettC9 LET'S GOOOOOO

    • @hucklejoko4838
      @hucklejoko4838 Před 2 lety +3

      Well well, 2 weeks in an it's at 150k

    • @BarrettC9
      @BarrettC9 Před 2 lety +1

      @@hucklejoko4838 this is ageing nicely

    • @cellP8
      @cellP8 Před 2 lety +1

      @@hucklejoko4838 almost 200k lol, lets gooo!

  • @benkesler487
    @benkesler487 Před 2 lety +2

    This was incredibly accessible for a video involving machine learning, and an application that is dear to my heart as well. Amazing video!

  • @astroilmagnifico2836
    @astroilmagnifico2836 Před 2 lety

    Woah, this such an awesome vid to get recommended. Great work fam!

  • @nicholaswoel-nogueira4074
    @nicholaswoel-nogueira4074 Před 2 lety +13

    Hey man this is the best thing I’ve ever seen props to you this is an absolutely amazing idea and you are brilliant. This video is going to blow up and this is so dope

  • @Ondas563
    @Ondas563 Před 2 lety +4

    I just found this video, and it's absolutely amazing what you've done. This is incredibly impressive and I hope this channel blows up, you definitely deserve it

  • @fauvilein
    @fauvilein Před 2 lety

    Just came across this video, watched through the intro and loving your ideas and mindset so far. I have no background in engineering, not even mentioning AI or machine learning there, but you got my interest peaked!

  • @joaomarcilio5625
    @joaomarcilio5625 Před 2 lety

    Wow dude this is sick af! Congrats, cheers from Brazil man!!

  • @mimo-paulluxx2628
    @mimo-paulluxx2628 Před 2 lety +8

    Me and my friends have discussed this recently, it was great to see how it works, and this video explains it very well. Thank you for taking your time to do this.

  • @Silver19897
    @Silver19897 Před 2 lety +53

    I love how you had to add inverse damage calculation after your first attempt to make the AI while that’s actually something players around its elo do all the time. Joey has seen damage numbers and known instantly that something has a Choice Band and the AI just had to catch up. You’re really teachin it the basics of being good at the game.

  • @tek.kemper
    @tek.kemper Před 2 lety

    This is awesome. Subbed. Looking forward to what comes next

  • @haffedali6148
    @haffedali6148 Před rokem

    dude even a year out this video is so cool! I plan on doing some regionals this year and this is a great video to explain to my parents what is going on up in Pokemon!!

  • @wompwompana
    @wompwompana Před 2 lety +6

    this is one of the coolest videos i’ve ever seen in my entire life and just makes pokémon even more fascinating and interesting than it already was. amazing job!!! you’re making our state proud 🍊☀️

  • @phantomstryfe
    @phantomstryfe Před 2 lety +3

    This is absolutely amazing! Thank you so much for making this!
    Doubles is going to be amazing when it happens, I know it'll be difficult but I can't wait to see what you've got!!
    But either way, this is such a useful tool for showdown players and really cool knowledge! Again, thank you so much!!!

  • @BobFisher3
    @BobFisher3 Před 2 lety

    Nice work on this! I've literally started looking into ML a couple of days ago and have been really into pokemon lately too. Really glad I found this :D keep it up!

  • @pheeeshy
    @pheeeshy Před 5 měsíci

    I need to see more of this, hope you have more videos coming out soon

  • @Sevenes7-S
    @Sevenes7-S Před 2 lety +11

    Why did the algorithm wait to show us this amazing video?
    I'm excited to see Top Players challenge your AI build in near future.

  • @XellossBoi
    @XellossBoi Před 2 lety +13

    5 minutes in, I knew this video was going to be amazing! You've created something spectacular. The graphics throughout the video are also top notch and really illustrate your points well. Thank you for sharing this!

  • @maxtague7278
    @maxtague7278 Před 2 lety +1

    This is so cool! Incredible work my man, downright impressive.

  • @MMarcuzzo
    @MMarcuzzo Před 2 lety

    Congratulations on your project. Really cool!

  • @linus6587
    @linus6587 Před 2 lety +10

    This is incredible. I can’t wait to see where this project goes :)

  • @perfecteblu
    @perfecteblu Před 2 lety +23

    Very well made video that needs to have more views. I really like how the bot is self learning, so hopefully it can climb the ladder with time! I know you mentioned that the bot had similar win percentages vs all player levels. Pretty interesting to see that even AI can play down to an opponents level. A lot of other people in this comments section are also from this part of the community, but I play Pokémon draft league, and I feel like inverse damage calculation plays a big part in how we view the game compared to ladder mains or even doubles mains. Hopefully the weather ball modifier can help the AI learn lol. It might be worth looking at the showdown damage calc and seeing if you can include code from that to maybe improve the AI. Will definitely be keeping an eye on any future uploads regarding this, keep up the good work bro! :D

  • @SchmavidSchmobb
    @SchmavidSchmobb Před 7 měsíci +4

    I don’t know how often this dude uploads, but I see his videos in my recommended very rarely and I’m always so impressed with his mind, his warmth and his ability to communicate complicated ideas

  • @spiderinofiesta3341
    @spiderinofiesta3341 Před 2 lety

    The video as whole is great! Nice to job fr
    Also, intro was Pog af :)

  • @PokemonTrainerOrange
    @PokemonTrainerOrange Před 2 lety +13

    I commented on the other video, but this is truly a work of art-the pokemon draft league community has their eyes on it now, and the very creation of a bot this successful could be really cool for mock battles. I don;t think anyone in the competitive pokemon community has come close to what you have today, we have Porygon which tracks Kills/Deaths in replays and that's about the only notable one.
    If you had a Patreon to help fund the bot, I'm sure plenty of people would want to help make this the best it can be-it has so much potential. Thank you for putting so much effort into a good bot, a high quality video, and sharing it with us.

  • @Flapjack3734
    @Flapjack3734 Před 2 lety +6

    Dude, this video is legitimately amazing. I’ve played showdown for years and always wondered just how optimized pokemon could get, and seeing this really scratches that itch. Props!

  • @biggie_kellogs7919
    @biggie_kellogs7919 Před 2 lety +1

    This is incredible! Wow, please never stop this super cool work!

  • @sheeshbro9559
    @sheeshbro9559 Před 2 lety

    I wish you the best of luck my man, so happy for you, you're making history!!!