Hey there! Loved your previous videos. I think you might want to put (Wii) in the title; I think a lot of people are expecting the full Hot Pursuit game when they see the title, and are surprised when they see the Wii version. I certainly was! Setting their expectations might help with retention :)
Hey there, glad you like the videos! To be honest when I downloaded the rom for the Wii version I was expecting the full game as well, I had no idea that the Wii version was so different. But you're right, it probably would've helped
It would be interesting to see a model from this game try to learn Mario Kart after learning need for speed. I wonder what ideas it would carry over and the inputs are fairly similar you could just replace nitrous with wheelie and it would be basically the same inputs.
Would be great to see more specifics on the libraries and framework you're using to do all this. Only seeing code snippets feels like a big tease. I want to see behind the curtain.
The nicer aspect of these reinforcement learning algorithms is how broad they are, so they can be adapted to many games fairly quickly Edit: I have noticed that you have also mentioned this in the end of the video ops
Yeah I find it pretty incredible that the same algorithm is able to learn games that are so different. Using traditional techniques, there would be no way I could post every 2 weeks and keep up with my other work!
@@gaggix7095 Once you have an AI architecture working there are only a few things you need to do, as far as I'm aware: Get data from the game, in this case in the form of screenshots. Decide which button inputs you want your AI to be able to perform. Make a reward function (probably the hardest bit to get right). Decide how big you want your AI to be. Hit "train." Repeat previous 3 steps until you get something you like. If the AI had to be designed and programmed from scratch for every new task you would absolutely be right that this rate of videos would be impossible. A couple videos a year might be a big ask.
Loving the videos, already a big fan of your channel! Only negative thing though, is that these could and should be at least twice as long - so I'm hoping for longer vids soon.
We can look into making them a bit longer, generally people don't like to keep watching when there isn't any commentary. Therefore the video length is completely based on the complexity of the game itself. If he manages to get a game like Smash Bros Brawl working then I'm sure the video could reach like 20 mins or so.
I wanted to see the cop mode with ai , i don't say im disappointed but i really struggled with them more than any other (lvl 18-20 is so unforgivable) and wanted to see how much time it take the ai to complete it. Good work tho you deserve at least 50k sub for this video alone but need to wait for TH-cam to pleas you
I just find that channel a while ago from the Mario Kart Wii Videos and I come back after a while and saw you just hit over 10k congrats on that. ;-) Also great video!
Humans only see very sharp in a small area around the very centre of our field of view and very blurry outside of that. You could give the AI the option to look at a certain spot, you feed the AI with detailed information around a certain spot it wants to look at, and leave the rest blurry like you do now. It mimics how humans see the world.
That's not how AI works, since it's just random mathematical computations (Matrix-Vector Multiplications), it isn't a "it wants to", the AI sees everything at once, it doesn't have limitations. The only limitation it has is the compute power available to it.
@@Splarkszter what if you use (x,y) as an output? And use that as an input for a small disk or square around that position in which the AI gets extra pixel data?
@@Splarkszter I think it would be more challenging than Patatje6974 does, and I'm not sure it would help, and if it did it might drastically slow training, but it's not remotely impossible to implement something like this.
Wow these videos are great! I’d be interested to see AI learn a simpler game to see if it could actually find a perfectly optimal strategy for something
9:20 This concept is the idea of Neural networks being "universal function approximators." In this case, the function takes the numerical values of an image of the game and outputs a number which corresponds to an action to take. The neural network's learning process consists of adjusting parameters to better approximate this function over time, in a similar way that we might fit any other function to data - such as gradually modifying the parameters a, b, and c in y=ax^2+bx+c to fit to data we believe to be (at least roughly) quadratic. AIs can approximate any function in a similar way, no matter if it's quadratic, a sine wave, or something not easily definable in mathematical terms - such as what the best action to take in a videogame is. As long as we can represent the input as numerical values, such as the brightness values of pixels on a screen, and can design a suitable reward function, we can teach an AI to perform any task (with varying degrees of success) by approximating the optimal methodology of performing it.
Would it be possible to feed the AI better resolution in different parts of the image? (I'm not sure if you're acrually downscaling the image or doing pixel sampling) giving it more data in crucial parts of the image (immediately around the car, but not on top of its own image, for example) might increase the training data availiable wirhout increasing how much data actually needs to crunch(or could increase it by less)
Can't you somehow give the ai the ability to accelerate and steer at the same time? For example adding outputs for "forward+right" alongside the standalone "right"
Oh sorry if it wasn't clear, but right did mean forward + right. I didn't give it the ability to turn while not accelerating since that didn't seem too useful
I've considered it, but the code is really messy and would probably require an entire tutorial series to figure out how to use. I honestly think open sourcing it at current would lead to more headaches than joy at the moment since I'm not really in the position to spend the time writing proper documentation. It's definitely something I want to do later down the line though, since I'd love to see what people could do with it
It would be great if you make the second part of this video. I think it much more interesting to watch secobd part either the new game with new ai. So, only my opinion and sorry for bad English
I plan on doing lots of new games in the future, and I'm always trying to improve the underlying AI. I've mostly stuck to Mario Kart though, since that appears to be what people want to see!
So far I've mostly stuck to Wii games since I have a setup to allow my AI to interact with those games (which took a very long time to make!). I think some people have managed to get half-life on Wii, but it sounds a little tricky
I watched a video on TASing the "Red Ball 1" Flash game the other night, and it boiled down to this: Flash is dead and closed source. The open-source Flash replacements only support ActionScript up to a certain version, so most newer Flash files look and run like crap. On top of this, the open source versions don't have any TASing abilities in them, and libtas doesn't really work. So to TAS the Red Ball 1 Flash game, people had to decompile the game, add in TAS stuff such as loading inputs from files and save states, and recompile it into a Flash file that people can TAS. So tl;dr: Flash isn't all that great for automating because Adobe abandoned Flash and the open-source clones don't really support much.
Its on my list of things to do! I looked into doing it a while ago, but struggled due to the resolution of the images of the AI sees. I may give it another try soon though!
Dude I love these AI videos keep going! Would you ever consider or isnt even possible to have the AI learn from top speedruns?
Hey there! Loved your previous videos. I think you might want to put (Wii) in the title; I think a lot of people are expecting the full Hot Pursuit game when they see the title, and are surprised when they see the Wii version. I certainly was! Setting their expectations might help with retention :)
Hey there, glad you like the videos! To be honest when I downloaded the rom for the Wii version I was expecting the full game as well, I had no idea that the Wii version was so different. But you're right, it probably would've helped
One of the only channels using actual games rather than building a copy, makes the content so much better! Keep up the great work!
Building a copy is cheating haha
*Cries in CodeBullet*
Underrated video. Why is this video have only 5k views, it deserves so much more
4k*
Thank you so much!
It would be interesting to see a model from this game try to learn Mario Kart after learning need for speed. I wonder what ideas it would carry over and the inputs are fairly similar you could just replace nitrous with wheelie and it would be basically the same inputs.
Would be great to see more specifics on the libraries and framework you're using to do all this. Only seeing code snippets feels like a big tease. I want to see behind the curtain.
I'd be happy with a video where he goes in more detail on the AI for one his previous videos honestly.
Title: LAMBORGHINI
Narrator: LAMBRAGHINI
The nicer aspect of these reinforcement learning algorithms is how broad they are, so they can be adapted to many games fairly quickly
Edit: I have noticed that you have also mentioned this in the end of the video ops
Yeah I find it pretty incredible that the same algorithm is able to learn games that are so different. Using traditional techniques, there would be no way I could post every 2 weeks and keep up with my other work!
@@aitangoto be honest I have no idea how you can do this with this technique in two weeks and also publish the video ahah
@@gaggix7095 Once you have an AI architecture working there are only a few things you need to do, as far as I'm aware:
Get data from the game, in this case in the form of screenshots.
Decide which button inputs you want your AI to be able to perform.
Make a reward function (probably the hardest bit to get right).
Decide how big you want your AI to be.
Hit "train."
Repeat previous 3 steps until you get something you like.
If the AI had to be designed and programmed from scratch for every new task you would absolutely be right that this rate of videos would be impossible. A couple videos a year might be a big ask.
Loving the videos, already a big fan of your channel! Only negative thing though, is that these could and should be at least twice as long - so I'm hoping for longer vids soon.
We can look into making them a bit longer, generally people don't like to keep watching when there isn't any commentary. Therefore the video length is completely based on the complexity of the game itself. If he manages to get a game like Smash Bros Brawl working then I'm sure the video could reach like 20 mins or so.
I wanted to see the cop mode with ai , i don't say im disappointed but i really struggled with them more than any other (lvl 18-20 is so unforgivable) and wanted to see how much time it take the ai to complete it. Good work tho you deserve at least 50k sub for this video alone but need to wait for TH-cam to pleas you
All of your videos are so good, and with each video you're getting better and better. Thank you for making these videos!
That's so great to hear, thank you for watching!
As always, AI Tango makes yet another incredible video. Keep it up!
I just find that channel a while ago from the Mario Kart Wii Videos and I come back after a while and saw you just hit over 10k congrats on that. ;-) Also great video!
Thanks! The channel really exploded a little while back, still can't believe one of the videos reached over a million views!
@@aitango Yeah I saw that it's crazy what's going on here in the last time, wish you all the best for the future! Keep it up!
Humans only see very sharp in a small area around the very centre of our field of view and very blurry outside of that. You could give the AI the option to look at a certain spot, you feed the AI with detailed information around a certain spot it wants to look at, and leave the rest blurry like you do now. It mimics how humans see the world.
That's not how AI works, since it's just random mathematical computations (Matrix-Vector Multiplications), it isn't a "it wants to", the AI sees everything at once, it doesn't have limitations.
The only limitation it has is the compute power available to it.
@@Splarkszter what if you use (x,y) as an output? And use that as an input for a small disk or square around that position in which the AI gets extra pixel data?
@@Splarkszter I think it would be more challenging than Patatje6974 does, and I'm not sure it would help, and if it did it might drastically slow training, but it's not remotely impossible to implement something like this.
Wow these videos are great! I’d be interested to see AI learn a simpler game to see if it could actually find a perfectly optimal strategy for something
9:20
This concept is the idea of Neural networks being "universal function approximators."
In this case, the function takes the numerical values of an image of the game and outputs a number which corresponds to an action to take. The neural network's learning process consists of adjusting parameters to better approximate this function over time, in a similar way that we might fit any other function to data - such as gradually modifying the parameters a, b, and c in y=ax^2+bx+c to fit to data we believe to be (at least roughly) quadratic.
AIs can approximate any function in a similar way, no matter if it's quadratic, a sine wave, or something not easily definable in mathematical terms - such as what the best action to take in a videogame is. As long as we can represent the input as numerical values, such as the brightness values of pixels on a screen, and can design a suitable reward function, we can teach an AI to perform any task (with varying degrees of success) by approximating the optimal methodology of performing it.
That's a good explanation of Neural Networks!
Wow this was unexpected
(As always this man never sleeps and I respect that)
I hope it was unexpected in a good way haha
@@aitangoyeah it's always in a good way with these videos
wow it even took a shortcut at 9:30
Crazy how good it became using nothing but visuals :D
Great work! I'd love to see a Goldeneye 64 AI video, even if it was just attempting to finish Dam Agent.
Should let us know how to use these, I really love your videos!
Yooo so hype for a new upload
Great to hear!
Would it be possible to feed the AI better resolution in different parts of the image? (I'm not sure if you're acrually downscaling the image or doing pixel sampling) giving it more data in crucial parts of the image (immediately around the car, but not on top of its own image, for example) might increase the training data availiable wirhout increasing how much data actually needs to crunch(or could increase it by less)
Currently my favorite youtuber! Please do The New Need for Speed Hot Pursuit. Or maybe an AI plays a 3D mario game?
Thank you so much! Super Mario Galaxy is soon on my list :)
Can't you somehow give the ai the ability to accelerate and steer at the same time? For example adding outputs for "forward+right" alongside the standalone "right"
Oh sorry if it wasn't clear, but right did mean forward + right. I didn't give it the ability to turn while not accelerating since that didn't seem too useful
If you want a game for just a short one time video, teach an AI to play Rival Stars: Horse Racing! (The desktop version, obviously)
When's a discord server coming?
Bravo again!
Which reinforcement Learning algorithm did you use?
This used an algorithm called "Fast and efficient training of Rainbow DQN", which is an improved version of Rainbow DQN designed to run in less time.
It would be interesting to see your computer setup for your testing of these AI models
GPU: RTX4090
CPU: Intell i9-13900k
RAM: 64gb 6000mhz
What else you wanna know? :)
@@aitango nice setup. Thats all I need to know. Mostly wanted to know if it was a pc a person could buy or was some super cloud sever farm you rented
Would love to see your AI play a fighter game. Really good videos.
He is looking into Smash Bros Brawl potentially but it is very complex
@@benji.botterill A game like Street Fighter for the SNES would be way easier to start with.
I love ur videos it so educational
I'm glad you think so, I try to talk a little more about how it works it each one!
Have an AI race Max Verstappen in F1
this video is so awesome
Really glad you like the video!
Never thought you'd touch this game. It's a terrible game but it's so fun to play.
I liked this game on Xbox, was a bit sad to see the Wii version wasn't the same, but was still fun to mess around with
I wonder how AI would do in a game like GTA . How would you go around even coding that? Will the goal be based off of mission completion time?
Really depends what you wanted the AI to do! Anything where I could explicitly define what the AI had to do and give regular rewards could work!
Have you considered open-sourcing your code? I'd love to try this out myself.
I've considered it, but the code is really messy and would probably require an entire tutorial series to figure out how to use. I honestly think open sourcing it at current would lead to more headaches than joy at the moment since I'm not really in the position to spend the time writing proper documentation. It's definitely something I want to do later down the line though, since I'd love to see what people could do with it
It would be great if you make the second part of this video. I think it much more interesting to watch secobd part either the new game with new ai. So, only my opinion and sorry for bad English
I plan on doing lots of new games in the future, and I'm always trying to improve the underlying AI. I've mostly stuck to Mario Kart though, since that appears to be what people want to see!
@@aitango good luck❤️🩹
How does the ai not get distracted by the environment constantly changing?
I guess it just has to learn what's important and learn to ignore what isn't
Did you try to get the AI to fight Bowser in "Mario Bross Wii"?
No yet, but maybe coming soon haha
i like ur profile picture. is this Pepper ?
It is! Although I'm hoping to get a new channel picture at some point since this one isn't really mine haha
@@aitango thanks foe responding to comments :D
Ai tango you need to make an silly video where you make an „AI“ play an speedrun of an complex game
Can you make the ai play initial d on the ps2 or arcade version 🤔
How did you get the ai to see system memory in the game?
There's a github repository in the description which includes pythonic access to the game's internal memory :)
@@aitango thank you!
No, I want nintendo games!
Noted haha
@@aitango thank you!
Only 15k subscribers, tf?
How many subscribers should I have? :)
@@aitango at least ten fold
can you make an AI play the first two chapters of half life
So far I've mostly stuck to Wii games since I have a setup to allow my AI to interact with those games (which took a very long time to make!). I think some people have managed to get half-life on Wii, but it sounds a little tricky
do some flash games (:
I watched a video on TASing the "Red Ball 1" Flash game the other night, and it boiled down to this: Flash is dead and closed source. The open-source Flash replacements only support ActionScript up to a certain version, so most newer Flash files look and run like crap. On top of this, the open source versions don't have any TASing abilities in them, and libtas doesn't really work. So to TAS the Red Ball 1 Flash game, people had to decompile the game, add in TAS stuff such as loading inputs from files and save states, and recompile it into a Flash file that people can TAS.
So tl;dr: Flash isn't all that great for automating because Adobe abandoned Flash and the open-source clones don't really support much.
:)
Make an ai play smash bros
Its on my list of things to do! I looked into doing it a while ago, but struggled due to the resolution of the images of the AI sees. I may give it another try soon though!
Has Elon Musk called you yet?
Sadly not
Please get rid of the gigantic yellow subtitles
What would you prefer, will take any feedback?
Can we get someone who doesn't sound like a cancer patient to narrate these videos?
Damn I feel roasted
Can you put some Mario kart wii AI Mde by you and make them fight each other?
Make an advanced Fortnite bot that builds and edits like a pro