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

Поділитися
Вставка
  • Опубліковано 21 гру 2024

КОМЕНТАРІ • 2,7 тис.

  • @colisali5603
    @colisali5603 3 роки тому +4123

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

    • @kylekiske_
      @kylekiske_ 3 роки тому +191

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

    • @xav9992
      @xav9992 3 роки тому +178

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

    • @ezla1663
      @ezla1663 3 роки тому +69

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

    • @litapd311
      @litapd311 3 роки тому +59

      @@xav9992 when the ai is sus

    • @jamesflanagan6977
      @jamesflanagan6977 3 роки тому +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 3 роки тому +3207

    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 3 роки тому +81

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

    • @tl1326
      @tl1326 3 роки тому +388

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

    • @KinkajusRevenge
      @KinkajusRevenge 3 роки тому +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 3 роки тому +9

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

    • @KinkajusRevenge
      @KinkajusRevenge 3 роки тому +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.

  • @pokeaimMD
    @pokeaimMD 3 роки тому +5634

    This is so sick

    • @TheThirdBuild
      @TheThirdBuild  3 роки тому +718

      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 3 роки тому +36

      Joey himself here :o

    • @JamesJones-ts5fl
      @JamesJones-ts5fl 3 роки тому +201

      Joey vs FuturesightAI when?

    • @tomfoolery8238
      @tomfoolery8238 3 роки тому +40

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

    • @Flapjack3734
      @Flapjack3734 3 роки тому +4

      J his name is…

  • @PositiveBlackSoul
    @PositiveBlackSoul 3 роки тому +1722

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

    • @amberlee4536
      @amberlee4536 3 роки тому +58

      It has a better winrate than I do

    • @Noobie2k7
      @Noobie2k7 3 роки тому +157

      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.

    • @Its-DeiTy
      @Its-DeiTy 3 роки тому +9

      And that's on the weakest setting 😂

    • @meepmeep8875
      @meepmeep8875 3 роки тому +6

      Such a perfect practice tool

    • @Lastremify
      @Lastremify 3 роки тому +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 3 роки тому +645

    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 Рік тому +43

      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 Рік тому +5

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

    • @ironboy3245
      @ironboy3245 Рік тому +7

      Alternatively, slap it into smogon and let it rip

    • @jmlynr
      @jmlynr Рік тому +4

      @@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 Рік тому +2

      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

  • @insaneintherainmusic
    @insaneintherainmusic 3 роки тому +1227

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

  • @JosephCatrambone
    @JosephCatrambone 3 роки тому +59

    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.

  • @Faherd
    @Faherd 3 роки тому +1234

    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 3 роки тому +129

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

    • @ReyNico
      @ReyNico 3 роки тому +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 3 роки тому +43

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

    • @Smenchevieve
      @Smenchevieve 2 роки тому +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 2 роки тому +1

      lol that emoji

  • @LudikrisTV
    @LudikrisTV 3 роки тому +295

    "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 3 роки тому +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 3 роки тому +48

      @@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 3 роки тому +8

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

    • @Nintendilly
      @Nintendilly 3 роки тому +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 3 роки тому +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.

  • @JamesJones-ts5fl
    @JamesJones-ts5fl 3 роки тому +760

    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  3 роки тому +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 3 роки тому +1

      Yes

  • @elirantuil5003
    @elirantuil5003 3 роки тому +355

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

    • @illusion9423
      @illusion9423 3 роки тому +1

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

    • @elirantuil5003
      @elirantuil5003 3 роки тому +64

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

    • @jenidu9642
      @jenidu9642 3 роки тому +1

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

    • @PabloRozario
      @PabloRozario 3 роки тому +1

      @@jenidu9642 for multithreading yes

    • @jenidu9642
      @jenidu9642 3 роки тому

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

  • @atraxian5881
    @atraxian5881 3 роки тому +454

    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 3 роки тому +79

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

    • @nya69
      @nya69 3 роки тому +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 2 роки тому +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 2 роки тому +4

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

    • @RocketPropelledMexican
      @RocketPropelledMexican Рік тому

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

  • @DaBlueIghuana
    @DaBlueIghuana 2 роки тому +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.

  • @dynamicbanteranimated8411
    @dynamicbanteranimated8411 3 роки тому +589

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

    • @naturegirl1999
      @naturegirl1999 3 роки тому +11

      I’d watch that too

    • @someghosts
      @someghosts 2 роки тому +1

      Yeah maybe as a second channel video or something

    • @keylowjoe
      @keylowjoe Рік тому +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. Рік тому

      @@keylowjoe same 😢

  • @lankyaf2868
    @lankyaf2868 3 роки тому +208

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

  • @TrippyPepper
    @TrippyPepper 3 роки тому +915

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

  • @Auride
    @Auride 3 роки тому +56

    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!

  • @Radi0actvChickn
    @Radi0actvChickn 2 роки тому +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 UA-cam. You definitely earned my subscription. Looking forward to what you make next!

  • @kevincheng4288
    @kevincheng4288 3 роки тому +479

    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 3 роки тому +42

      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 3 роки тому +33

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

    • @ultimaterecoil1136
      @ultimaterecoil1136 3 роки тому +13

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

    • @genyrik35
      @genyrik35 3 роки тому +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 3 роки тому +10

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

  • @HaloAdherents
    @HaloAdherents 3 роки тому +184

    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.

  • @Eskay_OW
    @Eskay_OW 3 роки тому +1067

    This was a treat to watch you’re awesome

  • @AR-io8fv
    @AR-io8fv 3 роки тому +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.

  • @ipercreeper3300
    @ipercreeper3300 3 роки тому +24

    You're going places man
    Also your editing is fantastic

  • @TheThirdBuild
    @TheThirdBuild  3 роки тому +61

    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 3 роки тому +251

    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 3 роки тому +15

      double the problems

    • @snacqk6550
      @snacqk6550 3 роки тому +1

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

    • @Talynen
      @Talynen 3 роки тому +21

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

    • @deeznoots6241
      @deeznoots6241 3 роки тому +8

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

    • @nathanielgomez8350
      @nathanielgomez8350 3 роки тому

      Holy heck yes. This needs to be a thing.

  • @AbsolBlogsPokemon
    @AbsolBlogsPokemon 3 роки тому +902

    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 3 роки тому +8

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

    • @gargoil0624
      @gargoil0624 3 роки тому +1

      Get back to grinding lvl 100 boy 😂

  • @theinfiniteconqueror
    @theinfiniteconqueror 2 роки тому +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.

  • @KorgCrimson
    @KorgCrimson 3 роки тому +178

    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 3 роки тому +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 3 роки тому +17

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

    • @damsonrhea
      @damsonrhea 3 роки тому +5

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

    • @alis6581
      @alis6581 2 роки тому +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 2 роки тому +1

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

  • @TalonFlo
    @TalonFlo 3 роки тому +582

    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 aUA-cam comment but if you want, I can show it via voice chat or something.

    • @hydrostrikehd4661
      @hydrostrikehd4661 3 роки тому +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 3 роки тому +95

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

    • @TalonFlo
      @TalonFlo 3 роки тому +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 3 роки тому +4

      @@TalonFlo Got it, thanks for the answer.

    • @mattcroft
      @mattcroft 3 роки тому +34

      "Always predicted thunder wave"
      the 20XX of Showdown

  • @Sephiron
    @Sephiron 3 роки тому +826

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

  • @josidfin
    @josidfin 3 роки тому +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 3 роки тому

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

  • @SchmavidSchmobb
    @SchmavidSchmobb Рік тому +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

  • @bibbobella
    @bibbobella 3 роки тому +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...

  • @illusion2438
    @illusion2438 3 роки тому +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  3 роки тому +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 3 роки тому +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 3 роки тому +1

      it's hitting the algorithm rn

    • @profchipboard6640
      @profchipboard6640 3 роки тому

      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  3 роки тому +8

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

  • @BobWhoosta1
    @BobWhoosta1 3 роки тому +33

    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%

  • @xotrovert
    @xotrovert 3 роки тому +628

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

    •  3 роки тому +17

      50%?

    • @cellP8
      @cellP8 3 роки тому +18

      *stone miss :´)

    • @zachrowe6271
      @zachrowe6271 3 роки тому +9

      Though the exact thing. That and focus blast

    • @pulkitjain2361
      @pulkitjain2361 3 роки тому +11

      Nice 30%

    •  3 роки тому +12

      @Zeta Then it is 50%.

  • @pulkitjain2361
    @pulkitjain2361 3 роки тому +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

  • @ZimmervisionCZ
    @ZimmervisionCZ Рік тому +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!

  • @drewbilly9
    @drewbilly9 Рік тому

    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

  • @freezerman7109
    @freezerman7109 3 роки тому +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 3 роки тому +16

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

    • @freezerman7109
      @freezerman7109 3 роки тому +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 3 роки тому

      @@freezerman7109 LMAO

  • @poke-maniacchris2965
    @poke-maniacchris2965 3 роки тому +51

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

  • @Bayckun
    @Bayckun 3 роки тому +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. 🙏

  • @mysticuno
    @mysticuno 3 роки тому

    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!

  • @lilyposting
    @lilyposting 2 роки тому +47

    When you said 81% accuracy my jaw dropped. AI that does its intended task with 55% accuracy is considered pretty good. That’s insane.

  • @cellP8
    @cellP8 3 роки тому +23

    Congratulations my friend, UA-cam 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 :)

  • @enickma910
    @enickma910 3 роки тому +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.

  • @MAVERICKSHOOTERS
    @MAVERICKSHOOTERS 3 роки тому +31

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

  • @archetypeknight771
    @archetypeknight771 3 роки тому +5

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

  • @LancerVillan
    @LancerVillan 3 роки тому +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

  • @icymiles
    @icymiles 3 роки тому +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 3 роки тому +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 3 роки тому +2

      @@BarrettC9 LET'S GOOOOOO

    • @hucklejoko4838
      @hucklejoko4838 3 роки тому +3

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

    • @BarrettC9
      @BarrettC9 3 роки тому +1

      @@hucklejoko4838 this is ageing nicely

    • @cellP8
      @cellP8 3 роки тому +1

      @@hucklejoko4838 almost 200k lol, lets gooo!

  • @InvisibleTower
    @InvisibleTower 3 роки тому +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 3 роки тому +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 3 роки тому

      @@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 3 роки тому +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 3 роки тому

      ​@@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 3 роки тому

      @@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.

  • @SuperCosmicSpaceMagnet
    @SuperCosmicSpaceMagnet 3 роки тому +32

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

  • @litapd311
    @litapd311 3 роки тому +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

  • @FloTheUIM
    @FloTheUIM 3 роки тому +1

    As someone who fits into both categories of people - Avid Gamer (long time pokemon fan) and an AI & Data Science Masters student(Python FTW haha) , I thoroughly enjoyed this! Seeing the success rates too was really good, can't believe its your 1st DS project! One thing that really amazed me was the 4th parts ability to essentially summarise the learning from the first 3 and make its own decision but outside of the ML lifecycle, truly amazing stuff!

  • @SendFoodz
    @SendFoodz 3 роки тому +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

  • @0liviaSama
    @0liviaSama 3 роки тому +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

  • @TVBenSifka
    @TVBenSifka 3 роки тому +11

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

  • @movingparts6270
    @movingparts6270 3 роки тому +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!

  • @dawnip4271
    @dawnip4271 3 роки тому +1

    Love your brutal honesty that's not rude. You seem chill af down to heart.

  • @Dad......
    @Dad...... 3 роки тому +1

    26:10 I don't know anything about competitive pokemon but that was the hypest Who's That Pokemon segment ever.

  • @PokemonTrainerOrange
    @PokemonTrainerOrange 3 роки тому +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.

  • @KDM267
    @KDM267 3 роки тому +17

    Bit late to the party but damn... I develop AI to detect cancer subtypes, and the work you've put in here is Masters if not PhD worthy! Just getting the data clean enough to use would have been the biggest pain in the ass. Congratulations Sir! If I could invest in UA-cam channels, best believe I would invest with this one

  • @MoxieBoosted
    @MoxieBoosted 3 роки тому +7

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

  • @Hyacinth828
    @Hyacinth828 3 роки тому +2

    That neglecting type prioritization in the beginning was so slick. instead of Gen 1 AI you got an absolute monster of a program.

  • @nixx7912
    @nixx7912 3 роки тому

    Gives me Jon Bois vibes but with Pokémon! This is the first Pokémon Showdown content I’ve digested in years and it’s easily some of the best. The information is amazing, the theory and process is described succinctly and the production is smooth! You should be extremely proud!

  • @sergis528
    @sergis528 3 роки тому +17

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

  • @HittingBandy
    @HittingBandy 3 роки тому +23

    "Complex" As Lusamine's Clefable Metronome's herself to death. I remembered Clefable using metronome and both my Machamp and her Clefable was inflicted with a 3 turn death timer

    • @MidoseitoAkage
      @MidoseitoAkage 3 роки тому +2

      You mean, Perish Song?

    • @KurisuBlaze
      @KurisuBlaze 3 роки тому

      @@MidoseitoAkage Meaning Metronome landed on Perish Song.

  • @Paulluxx9000
    @Paulluxx9000 3 роки тому +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.

  • @uranium54321
    @uranium54321 3 роки тому +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!

  • @darkraidisciple8717
    @darkraidisciple8717 3 роки тому +1

    That team at the end. I recognized Ampharos, Empoleon, Gardevoir and Dragapult. Not 100% sure what the green and orange outlines are but I think they might be Pangoro and Ribombee.

  • @menghamaster4485
    @menghamaster4485 3 роки тому +5

    Gotta say, I deeply respect that you were willing to say: ‘It’s not perfect but it works!’ in so many parts of your process, too many engineers I know and work with focus too hard on finding the “best” solution and fail to find a solution that simply works.

  • @Sevenes7-S
    @Sevenes7-S 3 роки тому +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.

  • @Silver19897
    @Silver19897 3 роки тому +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.

  • @crowsong8097
    @crowsong8097 3 роки тому +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!

  • @Engelvontot79
    @Engelvontot79 3 роки тому +31

    Please keep a positive attitude towards being a positive influence and I hope you keep us posted on your future endeavors. Thanks for this amazing video!

  • @perfecteblu
    @perfecteblu 3 роки тому +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

  • @Flapjack3734
    @Flapjack3734 3 роки тому +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!

  • @nicholaswoel-nogueira4074
    @nicholaswoel-nogueira4074 3 роки тому +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

  • @MosEisleyCantinaStories
    @MosEisleyCantinaStories 3 роки тому +1

    Ngl I feel like ur being detailed without talking down, or trying to be a "teacher" I feel like I'm talking to myself. And I love hearing people just explain stuff without being "HAHAHA YOU'RE A NOOB! I KNOW SO MUCH MORE!!!"

  • @Joshcohen97
    @Joshcohen97 Рік тому

    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 :)

  • @Ondas563
    @Ondas563 3 роки тому +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

  • @linus6587
    @linus6587 3 роки тому +10

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

  • @Stwinky
    @Stwinky 3 роки тому +18

    This is a really impressive project for someone just starting in ML!

  • @ssssaintmarcus
    @ssssaintmarcus 2 роки тому +1

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

  • @mango-uj1bq
    @mango-uj1bq 3 роки тому +1

    holy hell this video actually made my day. i am really bad at coding but this video has inspired me to keep working on a runescape bot id abandoned. it is just so exciting to see him explain the genius of the code and i cant wait to see my work pay off as well.

  • @amphicyon4359
    @amphicyon4359 3 роки тому +23

    Ladies and Gentlemen, this is what passion looks like

  • @pikaclonegod
    @pikaclonegod 3 роки тому +28

    Hm, a team of dragapult, ribombee, pangoro, ampharos, empoleon and gardevoir.. Interesting, even if I don't see ampharos putting in a lot of work for OU..
    But it'll be interesting!

    • @mag-bu4vn
      @mag-bu4vn 3 роки тому

      Weird Ampharos and Empoleon aren't in swsh?

    • @RiX20xx
      @RiX20xx 3 роки тому +1

      well the AI works around the OU tier instead of VGC, so that might be the reason...

  • @Zoogore6777
    @Zoogore6777 3 роки тому +16

    That intro made me feel smart. Like as if my years of Pokémon battling makes me a strategy genius. 😂

  • @noahhkun5097
    @noahhkun5097 2 роки тому +2

    If someone realised it was an AI it would be a lot easier to predict as there would be no randomness and you can be assured it “thinks” of every aspect so it’ll pick the best move, which is very easy counterpredict. However just using it to help you, it’s insane and a really cool project

    • @laerson123
      @laerson123 Рік тому

      That's not how things work.
      At the end of the day, his agent tries to pinpoint the odds of his opponents next play. I didn't saw the whole video yet, but the output of the agent could easily be a distribution of choices that is the best against the distribution of moves of the opponent, and them use a RNG to pick the move.

  • @shilohmagic7173
    @shilohmagic7173 Рік тому +1

    for a moment I was so excited, then realized this was *July*
    and also OVER TWO YEARS AGO

  • @XellossBoi
    @XellossBoi 3 роки тому +12

    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!

  • @murphthasmurf5923
    @murphthasmurf5923 3 роки тому +12

    Cant say I didn’t expect machine learning to get ditched. In my experience it always ends up being training wheels for truly good AI.

    • @IronicHavoc
      @IronicHavoc 3 роки тому

      I get the impression that would be the case for all but the most large scale/ambiguous/volatile problems.

  • @wompwompana
    @wompwompana 3 роки тому +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 🍊☀️

  • @benkesler487
    @benkesler487 3 роки тому +2

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

  • @maximusm5823
    @maximusm5823 3 роки тому +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

  • @huangzhenglong8985
    @huangzhenglong8985 3 роки тому +21

    This is a really interesting project. I do wonder about if the AI is be able to "force" opponent players to make the moves it desires to happen ( a bit like chess ) as a byproduct of predicting their moves, and if this happens consistently.

  • @scripty6248
    @scripty6248 3 роки тому +4

    Dude this is actually insane. Beautiful work.

  • @joskelegoman7167
    @joskelegoman7167 3 роки тому +5

    This really was one of the best videos i have seen in a while!

  • @Apawstacy
    @Apawstacy 3 роки тому +1

    You bring restored honor to the term "Florida Man". So cool! Reminds me of Deep Blue. Props if you make history!

  • @briancordry8165
    @briancordry8165 3 роки тому

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