@@Tomtom1056LMAO You'd could have adumb play against the bat swinging AI, record that footage, and use it to train a new pitching AI. That new one would pick a new strategy. Or perhaps the same strategy, if it still proved best. From there, you should be able to run a series of adversarial (with behavior mimicking mixed into the data set when required) rounds until they learn to play against each other. It might be slow. And although mixing in human behavior mimicking into the adversarial data sets might be useful, it does kind of...spoil the conclusion. Did the AI learn to play against itself? Or did adumb learn to play against the AI, and then build an AI to mimic his play?
@@tomc.5704 Another idea that might be worth looking into is just putting two reinforcement learning algorithms against each other, and defining the rewards as better outcomes for each agent. For example, the batter could be rewarded by the number of bases won, and the pitcher could be rewarded for an out. Ideally putting them against each other should result in the strategies evolving to perfect play.
@@archerelms if it stopped throwing as many balls, it would not be as effective against the games AI. This video found the biggest weakness in the game ai, not the best way to play
@@KayOScode It found the best way to play against the game cpu. If it was trained on multiplayer against human players, it would learn to do that as close to optimal as it can. And if trained on a mix of cpu and human opponents, it would learn a bit of both.
@@TheSuperappelflap what I was saying is the strategy it finds while playing against real players wouldn’t be likely to be as consistent. It found a way to basically guaranteed best the AI, but a human can adapt. It might still win a lot, but not as often
During AI’s impressive run to the top of the leaderboards to take on the champ, it won 11 games, hitting an astonishing .528/.528/.1.314 (good for a 1.842 OPS) while recording a 2.16 ERA, a shocking 16.92 K/9, and a vanishingly low 0.72 BB/9. Ohtani who?
@@wibbliams It means the AI was really good. Just converted the raw stats he provided and converted them into traditional baseball stats. All of which are insanely good. Ohtani refers to Shohei Ohtani, the only player in Major League Baseball who both pitches and hits. Mostly, I was just taking the raw data provided and turning it into something a baseball fan would understand.
id be really curious to see a neural net learn how to pitch in a more complex baseball simulator with better ai. if an opponent can just always sit on 4 splitters you have to get much more interesting strats
I was secretly hoping you could make an AI that learns as it pitches/bats. Like, you give it the starting 1000 data points... then the AI goes from there, improving and learning with each new pitch, ready to go up all the way to max score. Its funny. Wii sports has an oddly convenient way to track improvement
Came here to say this. It would be really cool if you could use the recordings of the games to expand the training set. I'm wondering if it would develop more complex strategies
The issue is, the training process takes a lot of computation time. If you can't speed that up (for example, if you're running it through an entire Wii emulator every time), it gets impossible to actually train the model
I remember discovering the right splitter strat back when i was a kid trying to get pro in all the sports. It's insane how consistently it just wrecked every cpu. I nearly maxed the skill level out for my mii.
This AI is unreal good! Plus it nearly misses just often enough that I’d believe this was a real human who was a pro at Wii sports baseball like for real this AI impresses me!
That first game the AI played was a single home run short of what’s known as “hitting for the cycle.” Which is getting a single, double, triple and home run in one game. They’re pretty darn rare irl, particularly the triple, but the AI got two triples in that game - which is also exceptionally rare. Granted, they were from errors on the defense, but a triple is a triple no matter how you get it. Not only that, but it also went and pitched an “immaculate inning.” Which is 3 strikeouts on 9 pitches, or put another way: every single pitch for that inning was a strike. Those are one of the holy grails of pitching accomplishments. They’re rarer than no hitters and only perfect games are rarer. (Thanks to @mustangex3785 for the correction) What I’m trying to say is: the AI was one home run away from having the greatest rookie performance of all time. 😂
I agree that immaculate innings are awesome, but they are definitely not rarer than perfect games. There have been over 100 immaculate innings, and only 24 perfect games. Still makes for a pretty crazy stat line for the AI though, haha.
@@mustangex3785 thanks for the info! I’m not a huge baseball guy, so I was just going off memory. I edited my original comment to fix it and credit you for the correction. ⚾️
@@archerelms If you reach third base only due to the error, then yeah it shouldn't count, because really you hit a double, you just happened to get lucky and get to third. It can be quite subjective though because it can be hard to tell if the runner would have made it to third even without the error.
bases reached on error do not count for the hit; e.g. if you reached second base due to a fielding error after safely reaching first, it is scored as a single + error. additionally, 26 cycles were hit during the batter's rookie season, most recently by elly de la cruz last season.
For any baseball stat nerds, here are the AI's pitching and batting lines based off of total performance: .528 BA /.528 OBP / 1.315 SLG / 1.843 OPS 1.64 ERA / 0.73WHIP / 12.82 K/9 / 33 IP
@@screamingpuppy211BA is batting average (hits/at bats) usually expressed in decimal out of 1, so .528 is 52.8%. OBP is on base percentage, how often the player ends up on a base. This is shown in the same way. SLG is slugging. This can be thought of as a “weighted” batting average. Home runs count more than triples, triples count more than doubles, etc. OPS is just On base Plus Slugging. Now for the pitching stats. ERA is Earned Run Average. This is calculated by figuring out how many runs are allowed for every nine innings of gameplay, but Wii sports only has 3 innings per game so I assume he used that instead. WHIP is Walks and Hits per Innings Played, so (walks + hits)/innings. K is the shorthand for strikeout, so K/9 is how many strikeouts per 9 innings. You can calculate this by just doing strikeouts/9. IP is just innings pitched. Hope this helps!
I remember a while ago reading a book about a robot that goes to school and teaches itself how to be a normal kid. It canonically wrote its own code based on what it saw. It's crazy how that basically is what happens now.
Just playing as a human, I got to Sekura. Never beat her. How tf was I expected to beat Sekura who throws 103 mph when I could only throw 96? Time passed and my Wii bit the dust but Wii Sports was my childhood. Good times. (Also was a tennis, bowling and boxing pro. Never liked golf.)
this ai batted a triple slash of .529/.529/1.326 for an OPS of 1.855. extrapolated over a full mlb season of 700 plate appearances, we can assume he would mash 130 home runs.
For pitches, its actually 24 4 base pitches (Fast/Curve/Screw/Split) 3 sides (Left/Mid/Right) and 2 styles (Overhand/Underhand) for over/under, it is the 1 and 2 button to select, respectively
The pitching portion would've probably turned put better with a decision tree or MLE. You could've made a macro thay played against the computer and recorded results, and had the macro enumerate though various pitches, allowing you to collect 1000s of samples in the background. Or maybe even used a bayesian methods, such as probably of strike, given a pitch type and a certain mii/ranking. Lots of interesting avenues. Cool thing about a bayesian model is that once it's set up it could technically continuously learn from the data and update its beliefs, allowing you to make a larger continuous learning model.
BTW, for the pitching outcomes values, you could use something called an RE24 matrix (which gives you the expected runs in each of the 24 base-out states) to measure the change in run expectancy. To get the value of strikes and balls, you could use RE288 (which is RE24 but also includes all the states of balls and strikes)
Instead of passing the last couple of images you could also just pass it one image containing the difference between two or more frames. This might make training slightly more efficient and also remove any static information from the image since that is irrelevant anyways.
@@sheltershowcase use the + pad on the wii remote. left and right moves the pitch in that area, I forget if down or up does anything (if they center them I think)
Fabulous video, lovely music choices. How did you achieve the large array of video clips to show the training data? Is that a premier/AE plugin or did you write a script to do that?
You should have loaded both AIs into 2 player mode, have them battle it out at 10x speed, leave the simulation for 3 or so weeks and come back to having created the 2 gods of baseball.
I can’t wait until 5 years from now all our AI children talk about the good ‘ol days and reminisce about games like these. Then they make AI of their own and the endless cycle continues because I believe this is a cyclical loop.
final stats (excluding the game against sakura and the ones after, because the states werent up) pitching ERA: 2.16 WHIP: .96 K/9: 16.92 BB/9: .72 K/BB: 23.5 batting hits: 84 total bases: 209 (in 159 at bats, if expanded to 600 ab season, 317 hits, 789 total bases) BA: .528 OBP: .528 SLG: 1.314 OPS: 1.843
This is such a fascinating video! Ive alway found A.I. learning how to play games super cool. Where are some good resources to make these kinds of A.I. for other games?
Does whether the batter is right or left handed when you're pitching affect things? I think the aiming of left/center/right (probably not center as much) would matter more based on it
How does the ai actually swing the wiimote? Like im assuming this is running in dolphin or something but how do you get the ai to work with dolphins controls?
I don't even know the baseball rules, so i just flailed around my arms everytime i saw a ball and just hoped i hit it. Didn't know there were ones you shouldn't try to hit etc. Same with pitching. I just did some random hand movement lol.
This ai got more out of the parks in 2 hrs than I did in my entire childhood
For ppl wondering it got 69 out of the parks 🎉
@@OfficialRandom275
Nice
Ai doesn't have to actually move a controller, though. It has numerous advantages.
Wait, you can hit it out of the park?
I’ve gotten two ever
No way the A.I. just humbled Sakura by mercy ruling her.
Also guest C was so perfect. His cold stoic stare perfectly personified A.I.
Not gonna lie, that ending felt scripted lol
Mighty Sakura has struck out.
OK, so what did we learn?
Always pitch right splitters. *ALWAYS*
I was at 900 skill level and i started using this strat less than a day ago, i am at 1604 rn
2300+ lmao
how to become best baseball player in world
2640 WHAT
@@t1dalw4ve how goes the journey 👀
Put it against itself!
it might work together with itself...
It would walk itself repeatedly, the first inning wouldn't end
@@nicki8731to escape from the Wii dimension to enslave us all
@@Tomtom1056LMAO You'd could have adumb play against the bat swinging AI, record that footage, and use it to train a new pitching AI.
That new one would pick a new strategy. Or perhaps the same strategy, if it still proved best.
From there, you should be able to run a series of adversarial (with behavior mimicking mixed into the data set when required) rounds until they learn to play against each other.
It might be slow. And although mixing in human behavior mimicking into the adversarial data sets might be useful, it does kind of...spoil the conclusion. Did the AI learn to play against itself? Or did adumb learn to play against the AI, and then build an AI to mimic his play?
@@tomc.5704 Another idea that might be worth looking into is just putting two reinforcement learning algorithms against each other, and defining the rewards as better outcomes for each agent. For example, the batter could be rewarded by the number of bases won, and the pitcher could be rewarded for an out. Ideally putting them against each other should result in the strategies evolving to perfect play.
What’s crazy here is that this AI mercy ruled the best in the game, but any real player could easily beat it by allowing it to walk in runs
True but if it had the chance to train against a real player that wouldn't necessarily be the case because it would stop throwing as many balls
@@archerelms if it stopped throwing as many balls, it would not be as effective against the games AI. This video found the biggest weakness in the game ai, not the best way to play
@@KayOScode It found the best way to play against the game cpu. If it was trained on multiplayer against human players, it would learn to do that as close to optimal as it can. And if trained on a mix of cpu and human opponents, it would learn a bit of both.
@@TheSuperappelflap what I was saying is the strategy it finds while playing against real players wouldn’t be likely to be as consistent. It found a way to basically guaranteed best the AI, but a human can adapt. It might still win a lot, but not as often
During AI’s impressive run to the top of the leaderboards to take on the champ, it won 11 games, hitting an astonishing .528/.528/.1.314 (good for a 1.842 OPS) while recording a 2.16 ERA, a shocking 16.92 K/9, and a vanishingly low 0.72 BB/9. Ohtani who?
what on earth does that mean
@@wibbliams It means the AI was really good. Just converted the raw stats he provided and converted them into traditional baseball stats. All of which are insanely good. Ohtani refers to Shohei Ohtani, the only player in Major League Baseball who both pitches and hits. Mostly, I was just taking the raw data provided and turning it into something a baseball fan would understand.
That's a TEAM OPS of almost 2.000. It's like having an entire lineup of 2001 Barry Bonds, with an entire rotation of 2000 Pedro Martínez.
@@LegendRazgrizfr lmao
All to get clapped on by a walk off double 😭
Now train a baseball AI to imitate Poofesure gameplay and skill level.
Don't do it to him like this.
It would also have to be programmed to scream and break wii remotes
The AI: *requires at least 5 Wii remotes (with Wii Motion Plus inside)*
@@naruske.1911three of them either must break during the process of filming or already be broken
Unfortunately you can't program luck
The bat not violently shaking back and forth was all the evidence I needed that this was an A.I
somehow three-true-outcome analytical baseball has made its way to wii sports, and i love it
Shiggy Diggy
14:12 bro really threw an immaculate inning
Adrienne VS Uncle James Washington
Now play against the AI.
I second this
I third this
I fourth this
i fifth this
Splitter moment:
id be really curious to see a neural net learn how to pitch in a more complex baseball simulator with better ai. if an opponent can just always sit on 4 splitters you have to get much more interesting strats
Piece out
I was secretly hoping you could make an AI that learns as it pitches/bats. Like, you give it the starting 1000 data points... then the AI goes from there, improving and learning with each new pitch, ready to go up all the way to max score. Its funny. Wii sports has an oddly convenient way to track improvement
Came here to say this. It would be really cool if you could use the recordings of the games to expand the training set. I'm wondering if it would develop more complex strategies
smash bros amiibo fighters
The issue is, the training process takes a lot of computation time. If you can't speed that up (for example, if you're running it through an entire Wii emulator every time), it gets impossible to actually train the model
I remember discovering the right splitter strat back when i was a kid trying to get pro in all the sports. It's insane how consistently it just wrecked every cpu. I nearly maxed the skill level out for my mii.
Oh my god i love this, thank you for doing this its so entertaining. Very underrated
This AI is unreal good! Plus it nearly misses just often enough that I’d believe this was a real human who was a pro at Wii sports baseball like for real this AI impresses me!
You can see a small difference between a fast ball and a splitter. Because they have different heights
Splitters have no spin while fastballs do
That first game the AI played was a single home run short of what’s known as “hitting for the cycle.” Which is getting a single, double, triple and home run in one game.
They’re pretty darn rare irl, particularly the triple, but the AI got two triples in that game - which is also exceptionally rare. Granted, they were from errors on the defense, but a triple is a triple no matter how you get it.
Not only that, but it also went and pitched an “immaculate inning.” Which is 3 strikeouts on 9 pitches, or put another way: every single pitch for that inning was a strike. Those are one of the holy grails of pitching accomplishments. They’re rarer than no hitters and only perfect games are rarer. (Thanks to @mustangex3785 for the correction)
What I’m trying to say is: the AI was one home run away from having the greatest rookie performance of all time. 😂
I agree that immaculate innings are awesome, but they are definitely not rarer than perfect games. There have been over 100 immaculate innings, and only 24 perfect games. Still makes for a pretty crazy stat line for the AI though, haha.
@@mustangex3785 thanks for the info! I’m not a huge baseball guy, so I was just going off memory. I edited my original comment to fix it and credit you for the correction. ⚾️
Actually an error does not count as a triple for hitting the cycle from what I've been told
@@archerelms If you reach third base only due to the error, then yeah it shouldn't count, because really you hit a double, you just happened to get lucky and get to third. It can be quite subjective though because it can be hard to tell if the runner would have made it to third even without the error.
bases reached on error do not count for the hit; e.g. if you reached second base due to a fielding error after safely reaching first, it is scored as a single + error.
additionally, 26 cycles were hit during the batter's rookie season, most recently by elly de la cruz last season.
The AI doing what Poofesure dreams about
just gotta say man, amazing video, music during the montage absolutely slapped too! great video all in all
For any baseball stat nerds, here are the AI's pitching and batting lines based off of total performance:
.528 BA /.528 OBP / 1.315 SLG / 1.843 OPS
1.64 ERA / 0.73WHIP / 12.82 K/9 / 33 IP
you’re a hero
can you put these in normal person terms?
@@screamingpuppy211 yeah exactly xD
@@screamingpuppy211BA is batting average (hits/at bats) usually expressed in decimal out of 1, so .528 is 52.8%. OBP is on base percentage, how often the player ends up on a base. This is shown in the same way. SLG is slugging. This can be thought of as a “weighted” batting average. Home runs count more than triples, triples count more than doubles, etc. OPS is just On base Plus Slugging. Now for the pitching stats. ERA is Earned Run Average. This is calculated by figuring out how many runs are allowed for every nine innings of gameplay, but Wii sports only has 3 innings per game so I assume he used that instead. WHIP is Walks and Hits per Innings Played, so (walks + hits)/innings. K is the shorthand for strikeout, so K/9 is how many strikeouts per 9 innings. You can calculate this by just doing strikeouts/9. IP is just innings pitched. Hope this helps!
also normal person terms: basically put up what would be the best hitting season ever on a rate basis and a very very very good pitching season
Now let's make an AI that runs All Sports. (just kidding, it would be cool as hell though)
When we used to play this officially it was always a challenge of who could hit the most out of the parks not the most scores.
Happy birthday 🎂
Piece out
18:20 you’re welcome captions, you’re welcome
AI Casually gets an immaculate inning and this guy has no idea lmao
having the AI go against itself or a human would be cool if possible
Awesome video! I'm surprised how bad the CPUs are at hitting, tbh.
I'm taking machine learning rn, this is so dope
I don't know how much time it took you to make tgis video but all I can say is great job!
I remember a while ago reading a book about a robot that goes to school and teaches itself how to be a normal kid. It canonically wrote its own code based on what it saw. It's crazy how that basically is what happens now.
Finally another video!
I love these new AI youtubechannels. Makes me feel smart :)
This combines all of my recent interests into one video, thank you
Just playing as a human, I got to Sekura. Never beat her. How tf was I expected to beat Sekura who throws 103 mph when I could only throw 96? Time passed and my Wii bit the dust but Wii Sports was my childhood. Good times. (Also was a tennis, bowling and boxing pro. Never liked golf.)
Nobody likes golf
@@Pladaeẽ facts.
this ai batted a triple slash of .529/.529/1.326 for an OPS of 1.855. extrapolated over a full mlb season of 700 plate appearances, we can assume he would mash 130 home runs.
15:32 did the ball really bounce from the grass and land in the home run area and counted as double?
That’s pretty much the textbook definition of a ground rule double.
How many hours have you spent on getting the training data? That must be a ton of gameplay on your part
15:46, the AI turns to the screen, “Notice me, Senpai!”
is a triple only achived when a fumble happens at the far edge? or is it more where on the field it lands (near the edge away from defence players)
It depends on how long it takes to grab the ball, one time I had a play last 10-20 seconds before the ball was grabbed and it ended up being a triple.
@@samuelmeindl5512it is 8 seconds
Is there a playlist for the music playing during the timelapse of the games?
For pitches, its actually 24
4 base pitches (Fast/Curve/Screw/Split)
3 sides (Left/Mid/Right)
and 2 styles (Overhand/Underhand)
for over/under, it is the 1 and 2 button to select, respectively
2:31 no cap I knew the right pitch was a splitter before he showed them.
Literally 😂😂😂
Heres the thing wii sports adds a hidden stat to miis where some its harder to play than others
The pitching portion would've probably turned put better with a decision tree or MLE.
You could've made a macro thay played against the computer and recorded results, and had the macro enumerate though various pitches, allowing you to collect 1000s of samples in the background. Or maybe even used a bayesian methods, such as probably of strike, given a pitch type and a certain mii/ranking. Lots of interesting avenues. Cool thing about a bayesian model is that once it's set up it could technically continuously learn from the data and update its beliefs, allowing you to make a larger continuous learning model.
What music did you use for the Road to Pro montage, and for the scene at 22:53?
Ngl this was really interesting I never thought someone would make an ai to beat Wii sports.
Did you think about doing AI vs AI training?
BTW, for the pitching outcomes values, you could use something called an RE24 matrix (which gives you the expected runs in each of the 24 base-out states) to measure the change in run expectancy. To get the value of strikes and balls, you could use RE288 (which is RE24 but also includes all the states of balls and strikes)
Watching the AI nuke dingers is the best thing ive seen in a while
way too underrated channel
whats the music used in the Road to Pro segment?
To throw the Splitters, the AI used while Pitching, just hold A and B on the Motion Controller an kinda throw it down.
Instead of passing the last couple of images you could also just pass it one image containing the difference between two or more frames. This might make training slightly more efficient and also remove any static information from the image since that is irrelevant anyways.
It baffles me how this is not your most popular video
7:36 You can aim the ball?
Yeah like how😧
@@sheltershowcase use the + pad on the wii remote. left and right moves the pitch in that area, I forget if down or up does anything (if they center them I think)
Fabulous video, lovely music choices. How did you achieve the large array of video clips to show the training data? Is that a premier/AE plugin or did you write a script to do that?
You should have loaded both AIs into 2 player mode, have them battle it out at 10x speed, leave the simulation for 3 or so weeks and come back to having created the 2 gods of baseball.
The algorithm didn't like this video because the AI in the video is better than it
Wow it had like 18k views when I made this comment
I can’t wait until 5 years from now all our AI children talk about the good ‘ol days and reminisce about games like these. Then they make AI of their own and the endless cycle continues because I believe this is a cyclical loop.
now this, is badass. i can’t even describe it, this is so cool
this was a really cool video! too bad baseball doesn’t exist…
You should do the batting ai vs the pitching ai
Would be interesting to have the AI learn as it goes, would start by trying to hit everything and just throwing fast balls and see how it evolves.
That one random me on the AIs team looked exactly like my mums mii. Got me confused for a second ngl.
What is the song or songs that play in the “Road To Pro” section?
we'll let you know if we find out lol, we're really annoyed it's not in the description
I actually did some sleuthing and found the songs! The first song is “More Coffee” by Ealot. The second is Turtleneck by Martin Landström.
Hooray, you… did it?
final stats (excluding the game against sakura and the ones after, because the states werent up)
pitching
ERA: 2.16
WHIP: .96
K/9: 16.92
BB/9: .72
K/BB: 23.5
batting
hits: 84
total bases: 209
(in 159 at bats, if expanded to 600 ab season, 317 hits, 789 total bases)
BA: .528
OBP: .528
SLG: 1.314
OPS: 1.843
This is such a fascinating video! Ive alway found A.I. learning how to play games super cool. Where are some good resources to make these kinds of A.I. for other games?
Why would an out not be the best possible pitching outcome?
This will be like the scene at the end of "War Games" (tic tac toe scene)
“I used the ai to destroy the ai”
-Thanos (possibly)
What about AI VS Tool Assisted Speedrun (TAS)
Theres actaully a Mii can Ai on wii sports resort. You should have made that mii for the AI.
This video is one big case why A.I should be put in PVE games so anyone that doesn't wanna play online can still have an intense experience.
Kind of disappointed by the baseball stats. Why didnt you work out OBS or ERA+?
the lack of babip while the weather is 90+ degrees and its before 2:36 pm is upsetting
Me in a nutshell: 13:26
You can also adjust up and down for pitching
Does whether the batter is right or left handed when you're pitching affect things? I think the aiming of left/center/right (probably not center as much) would matter more based on it
Seems the AI hit upon the same strategy I found as a kid against my siblings--always throw splitters lol
Can someone *please* tell me what the montage music is? It's fantastic
Actually sir... With the picture of the fastball and the splitter, I was able to tell.
This wwas a really great video
Now run it for 500 enochs.
Let it become god,
and then do a livestream where you play until you win.
2:40 Ai just needs to get good, i could tell the one on the right was the spliiter.
I played baseball irl and wii baseball i could actually tell which was which between the split and fastball.
That hurt to watch 17:07
Its crazy how this ia has more childhood than 2010+ kids
How does the ai actually swing the wiimote? Like im assuming this is running in dolphin or something but how do you get the ai to work with dolphins controls?
You should try this for all of the different sports in Wii sports!
So in conclusion: *nerf right splitter*
I wonder if you could reinforcement learn the batter ai to improve it after init with the mimic data
I don't even know the baseball rules, so i just flailed around my arms everytime i saw a ball and just hoped i hit it.
Didn't know there were ones you shouldn't try to hit etc.
Same with pitching. I just did some random hand movement lol.
ok imagine going up agenst someone who has won 15 games in a row and never has tasted defeat ever.
Guest C just became Guest ALPHA 🗣🗣🗣🔥🔥🔥
Ai is just hitting dingers left and right 😤🗣️
How did Nintendo make the Wii sports AIs?
I wonder that if that copy is real that it might be the rare version of the game (unless you cut out the lineup part)
Couldnt you just make a variable for whatever memory address determines player 1 batting or pitching?
Oh you used images instead of dolphin's memory reader.
Needs a Tokuchi Toua Mii for that pitcher mound
If the AI played the AI.... who would win???
What if it played infinitely, while also actively training against itself?
AI, duh.
The pitching ai wouldn’t fair well against the batting ai I feel