Using Image Recognition to Find Mario Boos

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

КОМЕНТАРІ • 116

  • @pfqniet
    @pfqniet Місяць тому +108

    Neat! Couple of things I'd do differently: instead of going to the trouble of calculating speed and angle, just track dx and dy since they only go in straight lines. When they bounce, negate the corresponding delta. Much faster than trig! It might also be neat to have the size of the zigzag be configurable, and find out how small of a revealed area you can pull off :)

  • @kazii_the_avali
    @kazii_the_avali Місяць тому +44

    one of the problems i am suprised that didnt come up was the fact that the boos also bounce off of the light when the light is off.

    • @Extramrdo
      @Extramrdo Місяць тому +1

      What, the boos keep moving?

    • @luigifan4585
      @luigifan4585 Місяць тому +11

      ​@Extramrdo Yes, at higher levels they keep moving when it goes completely black
      It's how you get those situations of finding 2 out of the 3 boos in a trio and are now scrambling with your stylus to find the last one as you lost track of its precise location

  • @payow_
    @payow_ Місяць тому +283

    he remembered his password🔥

    • @CodeNoodles
      @CodeNoodles  Місяць тому +71

      I did 😆

    • @greatguyinskulk
      @greatguyinskulk Місяць тому +6

      @@CodeNoodlesFinally, would it be possible to vids like this on more recent games like Jamboree

    • @Bupboy
      @Bupboy Місяць тому +8

      It has been ONE MONTH
      God yall are so impatient, joke or not

    • @payow_
      @payow_ Місяць тому +4

      @@Bupboy its a joke

    • @Bupboy
      @Bupboy Місяць тому +5

      @@payow_ yeah I covered that base

  • @kennycarter5682
    @kennycarter5682 Місяць тому +31

    i love seeing minigames maxed out, its so entertaining. im sure someday there will be a 2nd part to this closer to halloween day. where the AI maxes out the mini game

    • @CodeNoodles
      @CodeNoodles  Місяць тому +11

      I should really do a video where I fix some of the issues with the old minigame scripts, and try and get as high of a score as possible, because they're not perfect.

    • @kennycarter5682
      @kennycarter5682 Місяць тому +1

      @@CodeNoodles agreed. 3 seconds ant enough for 999 but it he fun to see a highest possible score on Halloween

  • @mucuslime
    @mucuslime Місяць тому +27

    thanks for putting music credit in the description!! i love qumu and i wanna see them get the credit they deserve :3

  • @bilalmahmoud1225
    @bilalmahmoud1225 Місяць тому +86

    Wouldn't it also have been possible to instead take the first e.g. 2 frames, interpolate the speed and angle, then just extrapolate the end position? I feel like that'd be quite the cool solution as well.
    I also don't think full image recognition is needed here, because the background is always static, it should be possible to simply XOR-ing the background with the current image. OpenCV has a function for this "absdiff" that might be worth checking out.

    • @RadioactiveBluePlatypus
      @RadioactiveBluePlatypus Місяць тому +5

      Wow those are cool ideas!

    • @yesntdid
      @yesntdid Місяць тому +3

      big wrinkles in yo brain

    • @Extramrdo
      @Extramrdo Місяць тому +3

      Unless they *start* overlapped. You'd still want the corroboration check until you're at least certain they're isolated, maybe a value of +5. Even then, it's *possible* they start overlapped and stay overlapped for a long while.
      Also the time the lights are on and the time after the lights go off vary, so you'd at least have to check for the "Go!"

  • @Amonimus
    @Amonimus Місяць тому +38

    Screen swipes are quite wide, I was expecting a small square/triangular swipe around each boo. With how fast it swipes the cursor, may as well to reveal the darkness completely for a guaranteed win, no path prediction needed.

  • @nixisawesome
    @nixisawesome Місяць тому +8

    I was so excited to see this becoming a video! Omg I hope more SM64DS/NSMBDS minigames become image recognised. Awesome video

  • @gensteps923
    @gensteps923 Місяць тому +30

    This is fascinating, amazing how you were able to code this. Really cool video.

    • @CodeNoodles
      @CodeNoodles  Місяць тому +7

      Thank you, I really appreciate it!

  • @theAstarrr
    @theAstarrr Місяць тому +41

    Ay very cool.
    Maybe when they interact, you could add code that draws a slightly bigger box (based on how many) to temporarily cover multiple, in case the light turns off at that time

    • @CodeNoodles
      @CodeNoodles  Місяць тому +20

      That's a really good idea!

  • @varietychan
    @varietychan Місяць тому +92

    you forgot the other "B" in the title in Boos

  • @Garfield_Minecraft
    @Garfield_Minecraft Місяць тому +7

    this is oddly satisfying to watch

  • @FluffinWasntHere
    @FluffinWasntHere Місяць тому +18

    Isn't AI replacing Luigi basically the plot of Luigi's Mansion (Goouigi)

    • @CodeNoodles
      @CodeNoodles  Місяць тому +8

      Lol, I didn't think of that 💀

    • @cosmosspacecentertelevision
      @cosmosspacecentertelevision Місяць тому

      wtf are you saying, the plot of Luigi's Mansion is Luigi is in a manor with ghosts

    • @FluffinWasntHere
      @FluffinWasntHere Місяць тому

      @cosmosspacecentertelevision mb i was talking about later Luigi's Mansion games with the gooigi thing that's basically a semi sentient helping you out in Luigi's Mansion 3

  • @snoozyboio
    @snoozyboio Місяць тому

    I wonder if there's a most optimal amount of boos on the screen, such so that it takes the longest to find them all but small enough of a number you don't accidentally find the others by swiping across your screen

  • @HorseyTime
    @HorseyTime Місяць тому +6

    I love your videos but any shot you can make them smaller scope so they can come out more often? Fr love your shit just want you to make more

    • @CodeNoodles
      @CodeNoodles  Місяць тому +1

      Sure! I really appreciate the support!

  • @TheRealLoopDev
    @TheRealLoopDev Місяць тому +14

    nice alternative to clearing all the screen

  • @Gaguiceiro
    @Gaguiceiro Місяць тому +5

    NEW VIDEOO LETS GOOO

  • @tanhrs8711
    @tanhrs8711 Місяць тому +2

    Why do you determine separately the speed and the angle of the boo ? Why do you not simply determine its velocity vector ?

  • @kplays_6000
    @kplays_6000 Місяць тому

    You could drop the trigonometry completely to simplify this - and simply track the x and y deltas and flip as the ghost is predicted to bounce

  • @priyavkaneria
    @priyavkaneria Місяць тому +2

    is there not enough time in each level to erase the whole screen super fast every level? love your videos btw

    • @MoundN
      @MoundN Місяць тому +1

      It struglles to draw 5 boxes within 5 seconds let alone the whole screen.

  • @Furkanh66
    @Furkanh66 Місяць тому

    Idk how to code, but i can see how people can take inspiration from things like this

  • @adealtas
    @adealtas Місяць тому

    I love this, that's so cool !

  • @freezgolem3911
    @freezgolem3911 Місяць тому

    I love these videos, made my day better seeing it, genuinely

  • @Manabender
    @Manabender Місяць тому

    With how fast that zigzag is, wouldn't you be able to trivialize the whole thing by just zigzagging over the entire screen?

  • @ado-
    @ado- Місяць тому

    Maybe you could try prioritizing the Boo model with the least corroberation, since that was the Boo with the most overlap: i.e: there were other Boos around there that could be captured earlier. Then, you go for the ones with the most corroberation, since the extra ones you would have hopefully captured early would have low corroberation.

  • @kattack8200
    @kattack8200 Місяць тому +1

    Would it be feasible to just get program to draw over and reveal the entire screen in less than a second to always get all of them? lol

  • @multiarray2320
    @multiarray2320 Місяць тому +2

    why do you use image recognition though? thats not necessary because of the static background.

    • @CodeNoodles
      @CodeNoodles  Місяць тому +3

      It's very accurate and doesn't require very much processing because of the low resolution. But yes, I could have used a different method.

  • @already-taken
    @already-taken Місяць тому

    This is an interesting direction to take this. I'd be interested to see how a neutral network would be able to do. I know it would be unfeasible since it would take a huge amount of compute power to get it running continuously on real-time visuals while also recording it for (as in your case), but this is one of those use cases AI is good for; making it so that the system can learn complex patterns without having to approximate the paths mathematically.

  • @ddiva1973
    @ddiva1973 Місяць тому +1

    Hundreds or thousands of lines to approximate a circle with straight lines???

  • @euaek
    @euaek Місяць тому

    YOU'RE BACK

  • @IbakonFerba
    @IbakonFerba Місяць тому +1

    While I understand the urge to do this „properly“, I wonder if it wouldn‘t be a lot easier to just let the program clear the entire screen? Or does the emulator not allow for fast enough mouse movement?

    • @CodeNoodles
      @CodeNoodles  Місяць тому +3

      I ran into problems getting the "DS" to register the mouse movements quickly enough. But there is a TAS that does this already, and it would take the fun out of the project. Good question though!

    • @IbakonFerba
      @IbakonFerba Місяць тому

      Oh it would be a lot less fun for sure :D

  • @CapTheConsiderate
    @CapTheConsiderate Місяць тому +2

    If UA-cam isn’t your full time job, what is?

  • @balrogdemorgoth4741
    @balrogdemorgoth4741 Місяць тому +1

    Nice job

  • @chrizzzly_hh
    @chrizzzly_hh Місяць тому

    Next level: minimize the squiggly draw pattern for boos close enough to each other :)

  • @dropdmike75
    @dropdmike75 Місяць тому

    This is awesome! I'm always so impressed with people's coding skills, especially since I can only code in Scratch, and even then, I'm just decent.
    What if you tried to write a program that tried to be the next Koji Kondo
    (I don't expect this idea to be taken seriously, but I'd be seriously impressed if you managed to do it xd)

  • @veifingtps4697
    @veifingtps4697 Місяць тому

    What or how do you get the timing correct on the games like these when the games dont start everytime the same way or same timer?

  • @oussama7132
    @oussama7132 Місяць тому

    awesome vid, please lower the music volume next time, it's too loud

  • @ownhaus
    @ownhaus Місяць тому

    Maybe a Kalman filtert could further improve your results

  • @GoldenSandslash15
    @GoldenSandslash15 Місяць тому

    So why did the program fail on that last level? Did it fail to figure out the location of that last Boo?

    • @theAstarrr
      @theAstarrr Місяць тому

      @@GoldenSandslash15 two boos were close and that confused it, is what probably happened

  • @Mr.Pixie.
    @Mr.Pixie. Місяць тому

    Is the mouse moving fast enough to brute force the game by lighting up the entire screen?

  • @Podgorski37
    @Podgorski37 Місяць тому

    Loading save states why?

  • @fernandobrito2365
    @fernandobrito2365 Місяць тому

    whats the program used for the visual equation?

  • @KoffeeB
    @KoffeeB Місяць тому

    Why not just draw a horizontal and vertical line on the screen and when the boo passes by just make it tap it when it does lol
    Curious if that would work

  • @CR1MSONACE
    @CR1MSONACE Місяць тому

    Well, 20 is better than I could do.

  • @AlexTsaava
    @AlexTsaava Місяць тому +1

    theres just know way i could make this script, btw remember how i told you about my programming language, it was interpreted and know i made a compiler that compiler it to python

    • @CodeNoodles
      @CodeNoodles  Місяць тому +1

      That's awesome! It sounds like you made a Python transpiler, which is something I'd like to try at some point.

    • @AlexTsaava
      @AlexTsaava Місяць тому

      @@CodeNoodles Thanks! it was really cool to make it, im pretty sure thats a compiler not a tranpiler but i say that because most people think that compilers convert code to binary immediatly but it first compiling to assembly then assembling into binary then linking it all.

  • @AlexTsaava
    @AlexTsaava Місяць тому

    3:07 ahhh not math again

  • @denischen8196
    @denischen8196 Місяць тому

    The simple solution is to just completely uncover the screen within the time limit.

  • @BloodFox49
    @BloodFox49 Місяць тому +1

    If it ever works well enough, we need a livestream of this program running 24:7 just to watch it progress like watching DVD icon getting closer and closer to hitting the corner of the screen.
    Every time it hits a new record I would get another burst of serotonins.

  • @DrablyOlive
    @DrablyOlive Місяць тому +1

    Couldn't you just swip the entire screen and reveal all the Boos at ones?

  • @FrenzyFanboy
    @FrenzyFanboy Місяць тому

    Thanksgiving Video when?

  • @holeofdarn
    @holeofdarn Місяць тому

    using image recognition to find mario boobs 😼

  • @Known_as_The_Ghost
    @Known_as_The_Ghost Місяць тому

    You're running out of Minigames to do!
    ... Fortunately other games like Mario Party DS exists :D

  • @Tailsbot98761
    @Tailsbot98761 Місяць тому

    Me with a robot: Reveal the entire screen

  • @franfy2914
    @franfy2914 Місяць тому

    Can you just drag the cursor across the entire screen with your script to have a 100% guaranteed win rate ?
    I understand that it's much less interesting but I think it's still fun to show that you can break the game easily (if you can)

  • @Useott
    @Useott Місяць тому

    awesome

  • @ImminDragon
    @ImminDragon Місяць тому

    Ah, I see. You know where it is because you know where it isn't. By subtracting where it is from where it isn't, or where it isn't from where it is (whichever is greater), you obtain a difference, or deviation.
    ...That copypasta should never feel relevant to anything...

  • @tdm3bros
    @tdm3bros Місяць тому +1

    never got over 6 rounds
    👇

  • @GordonFreekman
    @GordonFreekman Місяць тому

    Code Bootles

  • @Wildspeck
    @Wildspeck Місяць тому

    Dumb question, but why not just cover the entire screen?

    • @woahmamaawoogahonkahonka
      @woahmamaawoogahonkahonka Місяць тому

      Moving the cursor too fast will cause it not to register correctly. It’s more efficient this way, meaning you can last longer.

  • @Beni_dude30
    @Beni_dude30 Місяць тому

    Ai finally stole my job

  • @epicstar86
    @epicstar86 Місяць тому

    nice

  • @8BitZac
    @8BitZac Місяць тому

    please continue 2d minecraft! make a multiplayer system!

  • @the_boo_king
    @the_boo_king Місяць тому +1

    why would you do this to us :(

  • @TheVulkure
    @TheVulkure Місяць тому +1

    AYEEE

  • @Jayprosunk
    @Jayprosunk Місяць тому

    His 🔥 password remembered he

  • @maximeduchalet4662
    @maximeduchalet4662 Місяць тому

    can't you just ditch the image recognition and just clear the whole screen real fast with your bot?

  • @ThatGuyVelvety
    @ThatGuyVelvety Місяць тому

    Why not just use a comically large stylus

  • @nathanlamberth7631
    @nathanlamberth7631 Місяць тому

    I kinda feel like you could clear the entire screen within the timer. It doesn't make an interesting coding video, but hey

  • @The-Stewster
    @The-Stewster Місяць тому

    teach an ai angry birds epic

  • @sirpootsman1048
    @sirpootsman1048 Місяць тому

    the squares are too big 😢

  • @BigBossHere-b1y
    @BigBossHere-b1y Місяць тому

    Considering your using a script, couldn't you just make it zigzag over the whole screen? lol.

  • @sirligma3369
    @sirligma3369 Місяць тому +3

    video starts at 6:40

    • @SwitchyWitch_
      @SwitchyWitch_ Місяць тому +1

      skipping all the interesting parts?? how lame!

    • @sirligma3369
      @sirligma3369 Місяць тому

      @@SwitchyWitch_ its always pretty much "i added image recognition and prediction and oh no problems came so i took a long time to fix them so now it works"

  • @emiliosanchez4610
    @emiliosanchez4610 Місяць тому

    More like hide and boossy’k

  • @sombr4ayaya556
    @sombr4ayaya556 Місяць тому

    yippiee

  • @Nelex5000
    @Nelex5000 Місяць тому

    ai voice??

  • @Broom-fz2gm
    @Broom-fz2gm Місяць тому +1

    first