FastAI learns to play Fall Guys - Undetectable Fall Guys bot.

Поділитися
Вставка
  • Опубліковано 23 вер 2020
  • I used the very powerful FastAI library with Python to play Fall Guys and qualify over human players. These AI bots are fun and easy to code with FastAI and undetectable by anti-cheat efforts. Join us and share this video to stop these bots!
    Want to chat with me and other programmers join our discord!
    / discord
    Code: github.com/ClarityCoders/Fall...
    @Code Bullet
    @howardjeremyp
  • Наука та технологія

КОМЕНТАРІ • 488

  • @Mr3zoozee
    @Mr3zoozee 3 роки тому +545

    Nice work!, I love this type of videos where someone use Ai algorithms to turn dump computer into super clever computer,
    I Hope you proceed uploading
    this type of video♥️

  • @doyouhavecottoncandy7890
    @doyouhavecottoncandy7890 2 роки тому +796

    It's so smart that it tried to glitch thorough the walls

    • @ClarityCoders
      @ClarityCoders  2 роки тому +143

      Cheaters gotta cheat.

    • @houssemedyn5678
      @houssemedyn5678 2 роки тому +9

      Your picture fits nicely :p

    • @hirzanabqary
      @hirzanabqary 2 роки тому +6

      thorough

    • @fernandoi8958
      @fernandoi8958 2 роки тому +9

      It has no idea how to do that since the training data is based on OP's games and he did not glitch through walls (I am assuming)... AIs that learn weird behaviors like that are usually based on evolutionary algorithms - you must have the simulation environment to do a "selective breeding" of AIs that perform well...

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

      Boku wa doctorrr Tony Tony Chopper

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

    Came from r/python and I just have to stay your very underrated, you have earned a sub

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

      Awesome so glad you watched! The sub means a lot thank you.

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

      Wow, he got recommended to me!

    • @DTorto
      @DTorto 2 роки тому

      Agreed

  • @ashwhall
    @ashwhall 2 роки тому +35

    You'd probably gain a lot by giving the model some temporal context. Instead of passing in only the current frame, you could stack the current and previous frames depth-wise for an input shape of (224, 224, 2).
    This extra information would give vital information about the direction and velocity of everything in the scene, and wouldn't require any significant changes to the model.

    • @YashSingh-rf7nk
      @YashSingh-rf7nk 11 місяців тому

      would we pass it through a lstm layer?

    • @ashwhall
      @ashwhall 11 місяців тому +1

      @@YashSingh-rf7nk It wouldn't be necessary, by using two frames you're already adding velocity information. An LSTM would help, but adds to the complexity of training.

  • @tedzards509
    @tedzards509 2 роки тому +283

    Oh why did you have to remember me that GPU training used to be free on colab

    • @ClarityCoders
      @ClarityCoders  2 роки тому +50

      A lot of fun to be had there and time wasted 😂

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

      Is it no longer free. I know there's pro version as well

    • @israelRaizer
      @israelRaizer 2 роки тому +7

      What happened? I can still access GPUs and TPUs for free here...

    • @something4922
      @something4922 2 роки тому +8

      @@israelRaizer complaining about the free usage limits i assume

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

      @@something4922 but the guy said it "was" free, as if you had to pay to use it now

  • @WestMonkey
    @WestMonkey 2 роки тому +32

    “The plan is simple” Ludwigs in my head

    • @corte_s
      @corte_s 2 роки тому

      Alright boys so

  • @amosnimos
    @amosnimos 2 роки тому +46

    When people make an AI to beat a game it's no longer cheating it's art.

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

      Untill cheaters start using the AI together with cheats and ruin the game

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

      Tell that to the TF2 community, I'm sure they'll agree

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

      @@Emeraldym personally i find it unlikely that somoane capable of coding AI and who took the time to do it, would wast his time using it to have am unfair advantage in game. Most cheater use tool they haven't made and barelly understand how they work real programmer d'ont waste their time trying to cheat in video game. i did my own runescape-bot once to have it mine, forge, and sell automatically when i was gone, and i d'ont consider this cheating for multiple reason one of them being that it get borring quick so i stop using it soon after. The other is that it's almost more work to make the programe then do9ng it yourself. And the programe did not have any advantage to other player it played just like i did but automatically. Other then that the other programme i made where on single player game because when you CAN code stuff like that your self you d'ont feel the need to use it to have an advantage in game which are just for fun.

    • @amosnimos
      @amosnimos 2 роки тому

      @@JasonGrace69 they use actuall AI to cheat in Team Fortress? IMPRESSIVE what advantage does it have over traditional cheating methode like aim bot ?

    • @amosnimos
      @amosnimos 2 роки тому

      @@Emeraldym yeah until then.

  • @LUVVEOUS
    @LUVVEOUS 2 роки тому +50

    This is when your mom says put game on pause but you can't cause it's online game and you turning on AI

  • @jfjdcentofo
    @jfjdcentofo 2 роки тому +10

    Awesome ! Love how it seems simple to train (just record the screen), and yet performs "ok", didn't know it was "that easy" to train a ML model. I feel like you can supervize 10 of these IAs and help them when they struggle, but you could never play 10game at the same time. Very nice for job automation or whatever

  • @anshulagarwal4082
    @anshulagarwal4082 3 роки тому +46

    This is one of the most entertaining as well as educational video I've seen in a while and now I can't wait to check all your videos out. Nice job I'm sure you're gonna blow up one day with content as good as this 👍

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

      Thank you that's very nice of you to say. I'm just happy anyone is enjoying the videos!

  • @sangramkapre
    @sangramkapre 2 роки тому +61

    Interesting. I think just using past 4-5 images as input would improve it a lot as it will have the information of how objects are moving as well. Keep it up!

    • @ClarityCoders
      @ClarityCoders  2 роки тому +12

      I agree 100%. Thank you for watching and commenting.

  • @joshuafahrenkrog1997
    @joshuafahrenkrog1997 3 роки тому +96

    Awesome video! Let's see you get a crown in another video!

  • @seaton1288
    @seaton1288 2 роки тому +13

    Wow this is really cool!
    I'm surprised it doesn't have more views

    • @ClarityCoders
      @ClarityCoders  2 роки тому +4

      I'm happy it got this many haha... Thanks for watching.

  • @simmbuddy
    @simmbuddy 2 роки тому +5

    8:38 "we at least know we're headed in the right direction" unlike that random agent... ^^

  • @MACHINEBUILDER
    @MACHINEBUILDER 2 роки тому +13

    This is a super high quality video! Great editing, and it's super informative! 😁

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      Thanks it honestly means a lot. I'm just glad people enjoy watching!

  • @AliHaider-kk1qs
    @AliHaider-kk1qs 2 роки тому +20

    Thoroughly impressed by how you framed such a complex task into a classification problem! When I saw the thumbnail, I thought you’d be coding up some reinforcement learning stuff. Subbed!

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

      Because there is a such thing of frameworks.

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

      For sure!

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

      its called imitation learning if U want to learn more

  • @poketopa1234
    @poketopa1234 2 роки тому +40

    Woah, I’m surprised you got any results with such unstructured data. Neat!

  • @ChrisRid
    @ChrisRid 2 роки тому

    A massive thank you for putting this video out there! I hadn't considered using AI before, and after watching this, I decided to dabble in creating my own AI to play a completely different game and experimented with using different code. Really helpful

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

    Had this idea too a few days ago. However I never would have thought it would be so "easy" to make in terms of AI models/techniques. Great job dude!

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

      Easy to prove the concept and have some success. You do run into some road block on the harder levels with camera issues. Might take this on in another video.

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

    What awesome project! I would appreciate if you do some follow up videos on this project. You could train it using more and better data (say only of your winning games) and maybe using deeper ResNet architectures or maybe using grey scale images (these edge images are a bit too simple approach imo).

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

      This is a very good idea and something I have been playing around with a bit.

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

      its not just simple, its more complex than using greyscale and its bad

  • @froozynoobfan
    @froozynoobfan 3 роки тому +74

    i'd love to see an unsupervised learner do this

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

      I am a newbie but is that even possible I have only seen CodeBullet's videos which most if not all are unsupervised. Though he would have to make the game first in order for it to have that amount of time to learn.

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

      @@qassem121 reinforcement learning RL is a method where the agent learns from its environment, in most cases an environment is easiest when you have your own simulation.

    • @chris_7711
      @chris_7711 2 роки тому

      @@froozynoobfan Almost: RL is a ML paradigm alongside unsupervised and supervised :)

    • @revimfadli4666
      @revimfadli4666 2 роки тому

      Don't GAN and VAE count as unsupervised?

    • @froozynoobfan
      @froozynoobfan 2 роки тому

      @@revimfadli4666 for a GAN you still need labeled data to train your classifier

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

    Nice demo of picking a simplified framing of the problem and getting a proof of concept quickly! Great project :)

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

    Fantastic video! Was thinking of doing something like this before and never figured out how, this vid helped a ton!

  • @phonecaz1434
    @phonecaz1434 2 роки тому +4

    0:37 BOYS THE PLAN IS SIMPLE

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

    Amazing stuff! Sharing this with work mates

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

      Thanks for watching i really appreciate it!

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

    opencv could easily be used to make it recognize the levels! Great work, love it.

  • @Croixer7
    @Croixer7 2 роки тому +10

    Hi, what an entertaining work. I am wondering FastAI does automatically balances each class image weight for result or not? I can see from the confusion matrix that the nothing action is ~10 times bigger than other groups. Because if not, then balancing classes magnitude could make result way more efficient. (Artificially enlarging small action datasets and reducing huge datasets.)

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

      Yes, fastAI does a lot of magic in the background

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      Yeah they make it crazy easy to spin something up. You can dig in and customize everything but out of the box it gets you running.

  • @ramengreek4176
    @ramengreek4176 2 роки тому

    It’s nice of you to try and help prevent these kind of hackings things, good work!

  • @anyurag
    @anyurag 2 роки тому

    Excellent !! Please do keep us posted and make a video about the progress after training it around for 60 games. I am very excited to see the final results.

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

      Thanks for watching and commenting! I will try and post an update.

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

    Wait now it can qualify ... Can you make it so it records its own games and learn as a factor of his positionning ? Then make him able to run all by himself ... like 1 ...2 ... 10 runs at the same time ? Then if you leave it to learn maybe overnight it'll show you how much is possible with only there 3 entries

  • @Saleenrulz
    @Saleenrulz 2 роки тому

    It would be really cool to see the continuation of this

  • @SaiNikhileshReddy
    @SaiNikhileshReddy 2 роки тому

    A sub is a must for your channel. Keep up the good work. We need you to make these kind of fun videos of AI playing simple games.

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

    This is so good! Imagine if there was some way to use the positions, velocities and hitboxes of relevant objects as input. Would probably take some serious reverse engineering though

  • @R8Spike
    @R8Spike 2 роки тому +17

    Ngl I want to see the ai footage. Always interesting

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

      thanks for watching!

    • @MrCreeper20k
      @MrCreeper20k 2 роки тому

      @@ClarityCoders Stream it 24 hours on twitch lol that kind of thing always seems exciting

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

    Just a question, I am truly interested into the normalization function you apply on your pictures, would you mind explaining how it works ?

  • @amegatron07
    @amegatron07 2 роки тому

    Nice work! I also had a long lasting idea to make similar aganets for games, and such videos as this one give me a big impetus and inspiration to finally dive into this :)

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

    Can we get a part 2 and see how far this can go? Would like to see it win some games and get smoother.

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

    This was great, thanks for the inspiration!

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      Thanks for watching and commenting it means a lot.

  • @scottclowe
    @scottclowe 2 роки тому +5

    Why did you change the image to grey scale and run edge detection on it? At 2:11 you say that the colours don't mean anything to the neural network, but this is not true since your pertrained ResNet18 was trained on natural colour images. Since the output size generated by the pertrained model is fixed at 512 irrespective of the complexity of the input image, I can not see any advantage to doing edge detection on the screenshots. Did you try training the network on the original screenshots before this and have an issue that motivated the move to doing edge detection?

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

      I had this thought as well. Really don't understand the motivation here

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

      The simpler methodology here would be to just plug the raw screenshots into the model without doing preprocessing on them, and see what happens. It is best to avoid premature optimization. Don't try to fix an issue until you have confirmed it exists.
      When working in data science, it is best to get your first model working (going from input to output) and wait until you have this before seeing what needs to be improved. Then try out your ideas of what to change one at a time and see if they make an improvement on your criterion compared to the baseline.
      In this case, I would expect that performing edge detection on the input images decreased the performance of the model. Doing so moved the inputs away from the training distribution for the pretrained ResNet18 model.

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

    Good job !! I'm doing a similar thing on my channel, for a racing game (Trackmania), but I'm using feature extraction and a simple NN, instead of a CNN. I didn't think it could work in Fall guys, impressive !

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

      You interested in teaming up for a video?

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

      @@ClarityCoders I'd like to continue my AI project for now, but maybe later !

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

      Yosh I would really like to connect to ask you a few quick questions on your projects. I sent you a discord request to add as a friend would that be the best way to chat? I tried to message but we need to be friends first or share a server.

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

    Absolutely love the channel, I used to play a game when I was a kid (Wakfu) and I was wondering if you could make a video on it about farming, it shouldn’t be too complicated but sometimes when farming you’d encounter an AI to fight (fairly easy) but I’m wondering how you would tackle the problem with AI

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      I'll put it on my list to check out! Thanks for taking the time to comment.

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

    I had more success memoizing the recent history as an input to a CNN & doing more feature detection for platforms, walls, and obstacles. I used mean-shift clustering to find moving obstacles and other players so that it would hopefully work on new maps as well.

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      That's awesome. You going to share that sh!t? Thanks for the view buddy.

  • @DroneMesh
    @DroneMesh 2 роки тому

    Keep this up.. Just keep uploading and your channel will grow.
    I love your simple and elegant solution.

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

      Thanks this comment means a lot. I'll keep on making videos!

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

    Did you do a confusion matrix on testing data?
    Did you set the probabilities of your random baseline agent to match your data? For example just running and doing nothing else should have the highest probability. It did not seem like this was the case. So it is possible that you just learned the right random distribution.
    Why don't you use Q-learning or other reinforcement learning methods. Your ground assumption that the action you performed is the right one leaves your agent lacking. Not including bad runs is understandable in your setting, but if you wanted to surpass your performance this would be counterproductive. I would recommend you to use a actor critic reinforcement learning agent. Or just a deep q agent.

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      Honestly because i wanted to show how you could build your own supervised learning data set on a game. The project was also a starting point not really and ending point a lot of things could be improved including gathering more data. I do have some other videos on reinforcement learning!

  • @ai_coding
    @ai_coding 7 місяців тому

    dude ur a legend for this! thank you.

  • @Keirp1
    @Keirp1 2 роки тому +6

    A better baseline would be to just take the most frequent action, or randomly sample actions at the frequency that you took them in your training data. I suspect that would do about as well as this nn is doing.

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

      Very good point. Given more time and interest I would have gathered even more data and then balanced it better. Thanks for watching I appreciate it.

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

      I agree, I also suspected, that the agent just learned the right random distribution. Also I did not see a confusion matrix for the test data. I think it unlikely that a agent in such a complex environment could be trained that easily.

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

    Damn sooooo underrated keep up the gud work earned a sub :D

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      Thank you! I appreciate the sub and comment.

  • @Danny-sj6es
    @Danny-sj6es 3 роки тому +3

    Awesome video! Found it interesting that a resnet could be somewhat effective at this task. Of course for optimal results some kindve recurrent network will need to be used to encode contextual data from frame to frame.
    Also your approach of simplifying the images makes sense but it would be nice to see more data retained. Canny edge detection algorithm should retain more of the edge information.

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

    atleast were heading in the right direction when hes clearly running back to the start

  • @bibekdhkl
    @bibekdhkl 2 роки тому

    Such a great explanation! I even don't know python basics but I am watching this ;)

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      Thanks for watching and commenting it means a lot.

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

    Plot twist: He's using Fast AI to reply to all the comments on this video.

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

    The code in the git is crazy simple and intuitive, Im really impressed! how common is the usage of fastai in your experience? as someone who learns ML, are there any other libraries you can recommend?

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

      FastAI for me is great for the quick setup and testing things out. if you want to get more detailed I'd learn pytorch. I have a setup tutorial!

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

      @@ClarityCoders i was lucky enough to learn pytorch in a practical course, but it was a little lacking when it came to search for hyper parameters, and i've never heard of fastai before.

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

      @@sdfrtyhfds awesome it will be easy for you to pickup then Google them they have a tutorial series.

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

      i'm love fastAI!
      I'm a huge fan of Jeremy and Rachael ... and yours, now @ClarityCoders

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

      @@bobdylan9173 so far my highlight on youtube is him tweeting my video haha

  • @daddyofalltrades
    @daddyofalltrades 2 роки тому +10

    New fan here sir ! I love the way you explain everything. ❤️

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

    Thought reinforcement learning from the title. OMG just CNN! good job

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      Yeah I have some reinforcement videos but this was a fun simple CNN project.

    • @KensonLeung0
      @KensonLeung0 2 роки тому

      @@ClarityCoders good. I am a fan of fastai too.

  • @freecode.ai-
    @freecode.ai- Рік тому

    how can i pass a tuple of integers instead of using the direction classifier?

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

    That was very entertaining! Congratulations!

  • @rubenr.2470
    @rubenr.2470 2 роки тому +5

    that was amazing. would love an in depth tutorial of the code

    • @ClarityCoders
      @ClarityCoders  2 роки тому +6

      Thanks! That's a great idea. maybe the same concept on a game every has access to try?

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

      @@ClarityCoders would be awesome

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

      @@ClarityCoders You wouldnt believe how much of a poger u would be. There are virtually no in depth tutorials on how to make an ai to play games like this. It would be awesome.

    • @8SecSleeper
      @8SecSleeper 2 роки тому

      @@drunkewok31
      Um, Code Bullet does it all.

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

    Fantastic work! Simple and proved your points well enough. You didn’t show how the AI agent controls the game though. Was it passing its output to WinAPI in order to stimulate the keystrokes and make the character moves?

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

      Yes I posted the code in the description now if you want to check it out.

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

    I never use fast ai before. Wow that was really fast AI development. Just need to add more huge of data of a pro player to make the AI OP at the game

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

    Hey. I'm trying this bot out but it seems that when I try to create images, the cv2 imwrite function doesnt work at all - I've tried everything but can't get it to work

  • @briankaste6931
    @briankaste6931 2 роки тому

    How does this account for the different variations within each mode? Like on Hit Parade, the 2nd section can be the revolving doors that you need to push through, or the spinners that were shown at 9:39 where you can do a combination of avoiding and jumping over the bars.

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

      I used a different model for each mode. with enough data you might be able to share models.

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

    Amazing, Guy! Congratulations!

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

    That’s really cool how an AI can just teach it’s self how to play!

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

      Thanks so much I really appreciate you taking the time to watch.

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

    Could you do more videos about fastAI an how to use it for different use cases?

  • @dashbolt101s
    @dashbolt101s 2 роки тому

    Best would be to use a stream device linked to another computer or to another program at least - and train the AI to visually recognize different elements from the stream and make decisions from it - then send inputs back to the computer/game.

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

    this looks like a lot of fun and I plan on attempting this for a few games.

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      Awesome I hope you share it!

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

      @@ClarityCoders if I can manage to start it XD I haven't coded in months and never tried AI before, of course there is your discord I may or may not ask a lot of questions

  • @fernandoi8958
    @fernandoi8958 2 роки тому

    I dont think detecting edges is necessary since the idea of DNN is to just feed (somewhat) raw data to it and it should find a function that maps input to output... Thats because using the edge detector you are skipping a learning step the NN would have to overcome, which is finding details in the image that may be useful in deciding whether to move left or right...

  • @32DegreesFarenheit
    @32DegreesFarenheit 2 роки тому

    Awesome video dude, you broke it down super well

  • @kevintrigg3707
    @kevintrigg3707 2 роки тому

    if it got turned around would it know that it isn't going the right way and turn back forward? if so would you have to teach it only to turn left or right when it was reversing to get back on track or would it see that it is more on the correct path as it turns and continues that direction until moving forward?

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      If you fed it some training data showcasing that scenario it could learn. So you would have to have played games where you got turned around and corrected the path.

  • @ShivamSingh-bx5lg
    @ShivamSingh-bx5lg 3 роки тому

    Awesome stuff, subscribed!

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

    Nice video! Did you try learning on RGB or even grey scale? I see no reason why it would be better to use edge features as input instead of the full RGB image, ResNets are powerful enough and its know that the first layers almost by default learn edge detectors.

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      Very good points I'll keep that in mind. My decision came because it seemed to learn quicker and ignore the patterns and distractions of the characters costumes and such.

    • @CristianGarcia
      @CristianGarcia 2 роки тому

      @@ClarityCoders I see, training speed does seem like a good trade-off for a baseline.

  • @chetranqui
    @chetranqui 2 роки тому

    This looks like a much more fun way to play Fall Guys than the regular method, for sure.

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      Haha These comments are cracking me up. Honestly when people ask why I didn't push this project forward it's because I was sick of playing. Thanks for watching buddy.

  • @flobbie87
    @flobbie87 2 роки тому

    What rate does the ai run at? Is it only 4Hz? Why so low?

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

    Huh, so no need for camera control? Just 3 keys and hold forward, and edge detect for image processing, that's super smart and efficient, I wouldn't guess you could build an efficient player with just that.

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

      Good note! That's why those 3 level were chosen because you don't need to mess with the camera. That would need to be addressed on the next version.

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

    Hi, great work. You earned a sub. Question: how can I put games like these in some kind of simulator to play against itself so that I can run many simulations in a short amount of time?

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

      Tough with a live game like this without the source code. That's why a lot of people doing AI on games rewrite the whole thing in their own code.

    • @starlite5097
      @starlite5097 2 роки тому

      @@ClarityCoders sounds complicated... I wanted to try and train an AI bot for clash of clans by letting it play against itself and to have an AI bot that knows how to attack and one that knows how to build bases... Wishful thinking though.

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

    Awesome video and great efforts!!!

  • @lala-kq5ho
    @lala-kq5ho 3 роки тому

    nice job man i think training to play CSGO is worth a shot now. thanks for sharing the process.

  • @suzaku1039
    @suzaku1039 2 роки тому

    how about ps4. how you get the training data in your controller

  • @micah6635
    @micah6635 2 роки тому

    I know this is a bit late but, I wonder what a bot that would look for the closest player and mimics it’s moves would do

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      Haha. That is very interesting actually. Find a buddy and live or die with the results.

  • @bahamut256
    @bahamut256 2 роки тому

    You made this a lot more complex than was necessary, simply have the ai copy the patterns of the fastest fall guys and replicate their inputs.

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      You would need to have access to that data as inputs. I didn't have any of their code so I couldn't use that...

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

    Fun video. Nicely explained, Liked and Subbed.

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

      Thanks for the sub! Glad to have you around.

  • @GeeveGeorge
    @GeeveGeorge 2 роки тому

    Any plans to add re-inforcement learning to make it play fall guys, like AlphaZero , learning from the ground up? Would be fascinating to see something like that.

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      I would love to but.... need a bit more processing power than I have at the moment. 😂 If you guys keep watching maybe Nivida can hook a guy up.

  • @aadhavvignesh5510
    @aadhavvignesh5510 2 роки тому

    Got it in my recommendations! Impressive work BTW.
    Did you showcase it to the fast.ai community or by tagging Jeremy on Twitter?

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

      Actually he found it and shared it on his Twitter when I released it! Very cool guy and a truly great teacher.

    • @aadhavvignesh5510
      @aadhavvignesh5510 2 роки тому

      @@ClarityCoders Yes, indeed! Glad to know this :)

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

    Maybe you could mod the game to have the textures all be black with white outlines, since skins might mess with the training a bit

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

      Very good point. I really want to figure out a way to keep the camera centered is my next challenge.

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

      @@ClarityCoders Check out the melonloader, it makes modding unity games really easy

  • @confusingfool93
    @confusingfool93 2 роки тому

    Please do a full tutorial on this pleeaaaasee

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

    If you played more games to better train your AI, did it improve?

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

      Yes. Although I moved on as I got bored with the game 😄

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

    Would love to see ai bot playing among us and actually generating speech that can convince others that it's not the suspect.

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

      Honestly a super cool idea. Not that far off either sense among us would have some processing time.

    • @EP1CxEMAN08
      @EP1CxEMAN08 2 роки тому

      Same actually! I've never seen a bot actually play Among Us before, just spam bots that leave moments after they join.

  • @hello-fo5yg
    @hello-fo5yg 2 роки тому

    imo if you are using a pretrained backbone stripping the incoming frames may not really be helpful at all, its likely very OOD compared to the data it was pretrained on

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

    Ei, who connect to fastAI with game?

  • @HugoCoolDude
    @HugoCoolDude 2 роки тому

    Why didn’t you use the colour and texture information to do masking? Basically a preprocessing step that transforms your screenshots into several simplified layers such contain the edges. Such that the AI can react specifically to pendulums and other object, while following the inside of the race track

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      Honestly cause the color and texture difference would need more data and I was sick of playing. It's a really good idea though and would probably perform better.

  • @SongStudios
    @SongStudios 2 роки тому

    This is amazing! I get the colab bit but how do I create the training data?

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      There is a program in github that you run while playing.

    • @SongStudios
      @SongStudios 2 роки тому

      @@ClarityCoders Hi, I saw that! I was wondering if it can record mouse movement and clicks aswell.

  • @mythorganizer4222
    @mythorganizer4222 2 роки тому

    Okay that's creative. Replaced Reinforcement learning with CNNs 👏👏👏

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

      Thanks! can probably create some interesting use cases.

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

    From reddit here ^^
    I didn't waste my time :D It was worth it

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

      Thanks for checking it out! I got some more cool stuff coming soon stay tuned.

  • @Fine_Mouche
    @Fine_Mouche 2 роки тому

    3:26 : and for me who has a RTX 3080 and a Ryzen 7 5800xt ? still faster / better to use FastAi ?

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

      FastAi doesn't affect training speed, it just lets you write higher level code. It's a good place to start if you're a beginner.

  • @bobentius7035
    @bobentius7035 2 роки тому

    Felt a bit cut short at the end. Would have liked to see the improvements you talked about

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

      Yeah honestly I got bored playing the game so I didn't want to make more training data. It's fun but I was playing it like it was my job 😂. I should do another game with more data and some improvements.

  • @WandererKshitij
    @WandererKshitij 2 роки тому

    Awesome🤩 I really want to learn Artificial Intelligence and ML but don't know where to start. Can you suggest me something?

  • @B-0-K-1
    @B-0-K-1 2 роки тому

    U need to set timer so the faster it wins - the better.

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

    It's so smart it tried to use speedrun tricks

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

      Crafty AI! Thanks for watching and commenting.

  • @mawkuri5496
    @mawkuri5496 2 роки тому

    what does alphastar use?

  • @albarnie1168
    @albarnie1168 2 роки тому

    I will say that because the network was trained to classify textured/coloured images, feeding the edge detected image may not have been beneficial. grayscale at low res would probably have given best results.

    • @ClarityCoders
      @ClarityCoders  2 роки тому

      I would agree honestly. If I could go back I should have done it both ways at least to showcase the difference.