Tap to unmute

DESTROYING Donkey Kong with AI (Deep Reinforcement Learning)

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ก.ค. 2025
  • Go to brilliant.org/... to get a 30-day free trial + the first 200 people will get 20% off their annual subscription.
    Second Channel: / @codebulletsdayoff582
    Twitter: / code_bullet
    Patreon: / codebullet
    Discord: / discord
    Art created by @Dachi.art / dachi.art

ความคิดเห็น •

  • @LlyricDragon
    @LlyricDragon 2 ปีที่แล้ว +11666

    There is nothing more terrifying than when code works the first time immediately. How can we know it really works if we don't spend hours fixing the bugs?

    • @_marshP
      @_marshP 2 ปีที่แล้ว +607

      "The code works flawlessly first try" is what happens to programmers when the world turns upside down.

    • @JansthcirlU
      @JansthcirlU 2 ปีที่แล้ว +179

      Spoken like a true unit-test averse programmer!

    • @jimmyhirr5773
      @jimmyhirr5773 2 ปีที่แล้ว +52

      Learn test-driven development. Then you will be surprised if it doesn't work immediately.

    • @oblivion_2852
      @oblivion_2852 2 ปีที่แล้ว +193

      @@jimmyhirr5773 believe it or not. Tests are also written with code. Which can also have bugs!

    • @MisterPyOne
      @MisterPyOne 2 ปีที่แล้ว +78

      It happened once to me, I tested it like 10 times and it seemed to just work, it was for an assignment and honestly I just took that gift from the gods and it only had to work once more for the tutor to grade me and it did :). Honestly I don't know if I was just lucky it work 11 times in a row or it really actually just really worked first try.

  • @theirishninjasanimations
    @theirishninjasanimations 2 ปีที่แล้ว +6733

    That whole "Ground? No." bit was painfully accurate to the game dev experience.

    • @Robyamdam
      @Robyamdam 2 ปีที่แล้ว +57

      this 100%

    • @alucard4344
      @alucard4344 2 ปีที่แล้ว +43

      No fucking way 345+ game devs are watching this...

    • @Quadr44t
      @Quadr44t 2 ปีที่แล้ว +29

      Very relatable to my experience with "gamemaker5&6" in the early 00s.
      And that program should've made that whole process way easier.... 🤣

    • @Dr_mafario
      @Dr_mafario 2 ปีที่แล้ว +51

      Collision in general is stupid hard to do from scratch. Unity? Kinda hard. Unreal? Less hard, I guess. Game maker? Still kinda hard. Even in my own custom made game engine, its way easier but…. still kinda hard :|
      Or maybe Im just really bad as a programmer, who knows

    • @Eis_
      @Eis_ 2 ปีที่แล้ว

      @@syntex3664 Because that's the thing with programming, if you somehow made something work the first time, you should probably visit an exorcist.

  • @comradebusman3
    @comradebusman3 2 ปีที่แล้ว +18644

    As a wise man once said: “if your code works perfectly first try, it didn’t, you just haven’t noticed what’s broken yet”

    • @OneDapperFrog
      @OneDapperFrog 2 ปีที่แล้ว +741

      I have never heard so much wisdom in a single sentence.

    • @CaspersUniverse
      @CaspersUniverse 2 ปีที่แล้ว +145

      Truly inspiring

    • @stardragon8585
      @stardragon8585 2 ปีที่แล้ว +277

      And you probably won't until you start testing the thing you needed it for 3 phases down the line, so it'll take you extra long to find where it is. Also with the collective luck of all people involved, it's a single misplaced negative

    • @CainXVII
      @CainXVII 2 ปีที่แล้ว +44

      As a wise man once said: we don't talk about the last video

    • @tristanridley1601
      @tristanridley1601 2 ปีที่แล้ว +81

      I once coded for 2 weeks without access to testing it, and had it working perfectly in 5 minutes. In my entire career this was my proudest moment.

  • @Livingike
    @Livingike ปีที่แล้ว +1496

    Now make a Donkey Kong AI that learns the best barrel throwing strategies and pit them against each other for eternity

    • @dreemurrdelm7865
      @dreemurrdelm7865 ปีที่แล้ว +127

      But that was the first version of Donkey Kong he made, it threw infinity barrels.

    • @legaming4859
      @legaming4859 ปีที่แล้ว +66

      ​@@dreemurrdelm7865 just give the ai a reload time so it can't spam

    • @ishu4227
      @ishu4227 ปีที่แล้ว +42

      give the barrels ai so they know when to climb and not climb arrows to fuck up with the mario/player ai

    • @ishu4227
      @ishu4227 ปีที่แล้ว +6

      ladders not arrows*

    • @Nikarus2370
      @Nikarus2370 10 หลายเดือนก่อน +11

      Go full GAN. 2 AIs, DK and Jumpman trapped in never ending combat with eachother.

  • @InkyDustMan
    @InkyDustMan 2 ปีที่แล้ว +7831

    I love how the second AI effectively decides to become a challenge runner by removing the part of it's brain responsible for jumping, just because it could-

    • @mid-boss6461
      @mid-boss6461 2 ปีที่แล้ว +295

      Now let's make it do it coinless.

    • @sketchystreet1
      @sketchystreet1 2 ปีที่แล้ว +131

      why did you put a -

    • @InkyDustMan
      @InkyDustMan 2 ปีที่แล้ว +181

      @@sketchystreet1 Force of habit.

    • @sketchystreet1
      @sketchystreet1 2 ปีที่แล้ว +23

      @@InkyDustMan ok

    • @texasred8424
      @texasred8424 2 ปีที่แล้ว +23

      ​@@InkyDustMan youtube commentor moment

  • @rpsnider85
    @rpsnider85 2 ปีที่แล้ว +640

    When you mentioned the jumping, or absolute lack of them doing it in NEAT, I instantly had a vision of you adding points for jumping over barrels and the AI dudes going balls first sailing back and forth over the barrels instead of going to the end. Just racking up massive points for themselves over and over again.

    • @gabribotha2403
      @gabribotha2403 2 ปีที่แล้ว +8

      This

    • @HRIDOYKHAN-he7ss
      @HRIDOYKHAN-he7ss 2 ปีที่แล้ว

      @@gabribotha2403 Subscriber place
      #selimtune

    • @TopLaHats
      @TopLaHats 2 ปีที่แล้ว

      ah, I see that you have done that... Ima kick you in the balls

    • @josephjoestar953
      @josephjoestar953 2 ปีที่แล้ว +34

      Who needs a princess when god gives you testi-tickles

  • @TheKing-fo4xo
    @TheKing-fo4xo 2 ปีที่แล้ว +3057

    Every code bullet video is an event that should be treated with utmost respect.

    • @danielyuan9862
      @danielyuan9862 2 ปีที่แล้ว +38

      Which is why none existed in 2021.

    • @oKingsWild
      @oKingsWild 2 ปีที่แล้ว +21

      I can't be the only one getting blackout drunk for these?

    • @sodakuwun0707
      @sodakuwun0707 2 ปีที่แล้ว +10

      this guy gets it

    • @pogchimp9452
      @pogchimp9452 2 ปีที่แล้ว +3

      best of code bullet 2021

    • @Boat_frtsu
      @Boat_frtsu 2 ปีที่แล้ว +1

      best youtuber in 2023

  • @shinami3758
    @shinami3758 2 ปีที่แล้ว +216

    The jokes and screwing around in the first 4 minutes got you a new sub. The "breath of fresh air" bonus is how you're not afraid to swear and genuinely enjoy what you do even when your code doesn't work.

    • @UpnaLab
      @UpnaLab ปีที่แล้ว +2

      I do not know. I love codebullet, but this video feels over the top, for me hard to watch, almost cringy, and weaker than usual in the technical part.

  • @SneakyAxe992
    @SneakyAxe992 2 ปีที่แล้ว +1046

    I absolutely love how accurate you show the process of coding, just fail after fail until somehow it works and you’re not really completely sure why but hey it works so it’s all good

    • @TheLtVoss
      @TheLtVoss 2 ปีที่แล้ว +10

      Well have seen same yt creator's that show failures more regularly and everyone is doing good but CB is the master of this discipline and his very loyal sub show us that

    • @Tortellia
      @Tortellia 2 ปีที่แล้ว +28

      There’s a Russian anecdote which, in translated form, goes something like this:
      « Dad, why does the sun go from east to west every day? »
      « East to west? »
      « Yes »
      « Every day? »
      « Yes »
      « I don’t know son, but better leave it alone »
      It’s a stupid anecdote, but one of my favourites when it comes to programming

    • @skierpage
      @skierpage 2 ปีที่แล้ว +2

      There's test-driven development, where you write a test for everything that should and should not happen, e.g. jumpman jumps at least once per game, and over time more tests pass. It's a lot of work, but the benefit is it will catch regressions; as we see here when Jumpman sometimes flies into the air after Code Bullet thought he'd fixed gravity issues.

    • @nikolaoslibero
      @nikolaoslibero 2 ปีที่แล้ว +4

      @@skierpage I'd love to be able to apply TDD to game development, but the number of states and the non-deterministic means of reaching those states most games have means that you end up with very, very low coverage of the code base and/or end up pointlessly testing third party code. I've seen fat too many "tutorials" where the speaker just tests engine code

    • @bend.n
      @bend.n 2 ปีที่แล้ว

      and then it suddenly doesnt

  • @aidenwalmer
    @aidenwalmer 2 ปีที่แล้ว +1369

    Despite your hatred of explaining, you did an amazing job defining and explaining each AI algorithm…while not simultaneously putting me asleep in the process. Great video and always very entertaining! 🔥

    • @evanedgar8698
      @evanedgar8698 2 ปีที่แล้ว +10

      I agree, I leanred more from code bullet than high school

  • @cositayjack
    @cositayjack 2 ปีที่แล้ว +2040

    Code bullet is probably the inner voice every programmer has while working on projects.

    • @lubraethecat
      @lubraethecat 2 ปีที่แล้ว +84

      As a software developer by profession,
      Yes.
      This is precisely how it sounds

    • @curtiswfranks
      @curtiswfranks 2 ปีที่แล้ว +68

      The swearing is especially accurate. I curse every single entity imaginable, mostly my computer and myself and anyone who dares to message me at the time.

    • @sjs9698
      @sjs9698 2 ปีที่แล้ว +26

      esp the little part of him that goes 'hey let's use someone else's code for this'

    • @GamingProsAdventure
      @GamingProsAdventure 2 ปีที่แล้ว +16

      @@sjs9698 “I’ll ask chatGPT” has also become a voice for me

    • @tcarrotgaming1639
      @tcarrotgaming1639 2 ปีที่แล้ว +12

      code bullet is the devil on my shoulder

  • @desmolbean404
    @desmolbean404 7 หลายเดือนก่อน +27

    4:31 The dead silence as CB flips off the player character block while it ascends to heaven is simply hilarious.

  • @mairder6773
    @mairder6773 2 ปีที่แล้ว +365

    I was half expecting your "AI learns to run" videos to be the only two videos in one year.
    Good for you to have another one. And us.

  • @stoopidapples1596
    @stoopidapples1596 2 ปีที่แล้ว +953

    I love how you somehow have the most inconsistent upload schedule, it takes you hundreds of attempts just to get code right per episode, and yet somehow you also have 2.7 million subscribers. Congratz!

    • @heavenstone3503
      @heavenstone3503 2 ปีที่แล้ว +4

      It's fare to say he got these subs when he was more regular

    • @queenofpups
      @queenofpups 2 ปีที่แล้ว +73

      ​@@heavenstone3503was he ever really regular though? Even when he was posting more often the upload schedule was still pretty erratic

    • @HRIDOYKHAN-he7ss
      @HRIDOYKHAN-he7ss 2 ปีที่แล้ว +1

      Subscriber place
      #selimtune

    • @EverTheFractal
      @EverTheFractal 2 ปีที่แล้ว +41

      ​@Heavenstone long time subscriber, he's never been consistent. He's always had the charm though!

    • @ki11er24
      @ki11er24 2 ปีที่แล้ว +1

      @@heavenstone3503 cough enigma machine part 2

  • @fizipcfx
    @fizipcfx 2 ปีที่แล้ว +1538

    as an Artificial Intelligence Engineer, I can confirm we tickle the balls of the reinforcement learning agents as a reward function. Its one of the best ones out there.

    • @pw7225
      @pw7225 2 ปีที่แล้ว +24

      No ML engineer would call himself AI engineer.

    • @fizipcfx
      @fizipcfx 2 ปีที่แล้ว +117

      @@pw7225 correct, but the name of my university department is "Artificial Intelligence Engineering". i live with people who call themselves prompt engineers, soo who gives a fuck XD

    • @revimfadli4666
      @revimfadli4666 2 ปีที่แล้ว +7

      ​@@pw7225 so no ML engineer understands set theory? :p

    • @fizipcfx
      @fizipcfx 2 ปีที่แล้ว +43

      @Repent and believe in Jesus Christ i am just thinkin, that there is a religious programmer out there who uses all the resources he can to influence people on youtube comments without making a youtube video. He releases all these bots here expecting people to let go of their beliefs and follow Christianity. If he could give all this effort into philosophy and science, he would become an atheist

    • @cewla3348
      @cewla3348 2 ปีที่แล้ว +3

      @@fizipcfx or an 'alternative scientist'

  • @yoface2537
    @yoface2537 ปีที่แล้ว +14

    Life: gravity pushes you against the surface below you
    Code: gravity shuts off if you're touching the ground

  • @brobs0463
    @brobs0463 2 ปีที่แล้ว +2490

    Code Bullet is kind of like an A.I himself. In his videos he get slightly more competent over time

    • @majorhatchback
      @majorhatchback 2 ปีที่แล้ว +91

      Well, we did design them to mimic humans

    • @masheroz
      @masheroz 2 ปีที่แล้ว +32

      Well, he is training a neural net...

    • @zacharyz6139
      @zacharyz6139 2 ปีที่แล้ว +12

      Its called learning over time

    • @InsanePigeon
      @InsanePigeon 2 ปีที่แล้ว +32

      now he just needs to code in some better jokes

    • @FuzzyDragooooon
      @FuzzyDragooooon 2 ปีที่แล้ว +3

      This is hilarious 😂

  • @meihauf
    @meihauf 2 ปีที่แล้ว +1669

    Code Bullet really is the best inspiration. He doesn't hide or gloss over his mistakes and in so doing shows that coding really is a perpetual state of learning through trial and error.
    And then promptly forgetting everything while we binge our next dopamine fix instead of working.
    Seriously though, I really appreciate that you include the struggle of being human in your videos. It makes them so much more relatable.

    • @steveblack720
      @steveblack720 ปีที่แล้ว +1

      Not to brag or something, but.... I'm not sure that it is that hard unless you learned something. Floor not working is sort of close, but not for THAT long

  • @RomanQrr
    @RomanQrr 2 ปีที่แล้ว +300

    PPO is basically strapping the AI to an N-dimensional sled and punting it down the N-dimensional hill. You need to choose how big a sled to use, how much momentum to conserve, and even how the hill looks like. And in the end when you think you reached the bottom and looking for an N-dimensional cable car to take you up for more you find out that you are in a shallow N-dimensional depression somewhere half way down the N dimensional hill. Where N is the amount of weights you are using.

    • @MaxLennon
      @MaxLennon 2 ปีที่แล้ว +11

      That's just gradient descent mostly, not really specific to PPO

    • @maartenbeute6742
      @maartenbeute6742 2 ปีที่แล้ว +10

      I love 150 dimensional sleds on 150 dimensional hills, but it seems like a pretty good anecdote

    • @maartenbeute6742
      @maartenbeute6742 2 ปีที่แล้ว +3

      @@MaxLennon but the gradient descent is used to find the most optimal values for a neutral netwerk

    • @MaxLennon
      @MaxLennon 2 ปีที่แล้ว +4

      @@maartenbeute6742 yes but PPO is a specific algorithm describing how to leverage a neural network (actually two neural networks), so just describing how to fit the parameters of any model doesn't tell people very much. The method above could also be given as a description for how to do linear regression, for example. Or image classification. Or basically any machine learning task.

    • @MaxLennon
      @MaxLennon 2 ปีที่แล้ว

      @@maartenbeute6742 If you want to see how an explanation of the actual algorithm would look, this link should take you to my other comment where I explained it:
      th-cam.com/video/ovIykchkW5I/w-d-xo.html&lc=UgxFRqioM8iaM4rJvs54AaABAg

  • @TheAdvertisement
    @TheAdvertisement 2 ปีที่แล้ว +471

    Neat detail I noticed that wasn't brought up. At 2:46 you can see the player square falls all the platform a bit early, when it's only halfway off, which causes it to clip into the floor a bit. This is because the "laser" vector that detects if the floor is there is positioned in the middle of the square, and therefore doesn't detect the ground when the square is only halfway off.
    This is silently fixed at 2:58, where the square now only falls when it's fully off the platform. As you can see, the lasers are on either side of the square, making sure both have to be off the platform before it falls.

    • @barni_7762
      @barni_7762 2 ปีที่แล้ว +26

      Calling it a NEAT detail is a little confusing but yeah, I also noticed that

    • @KI682H
      @KI682H ปีที่แล้ว

      probably neat how they realized it @@barni_7762

    • @XYZsaid3
      @XYZsaid3 หลายเดือนก่อน +1

      Honestly as a programmer, I think that this comment will help a lot of headaches better than ibuprofen Lol

  • @xanderwhitt9580
    @xanderwhitt9580 2 ปีที่แล้ว +328

    Less than a minute in and he's already killing clones, and he's also learned and used a silenced gun too, this is definitely gonna be good

    • @hayond656
      @hayond656 2 ปีที่แล้ว +11

      Imagine a Code Bullet Bingo with those stuff lol

    • @xanderwhitt9580
      @xanderwhitt9580 2 ปีที่แล้ว +3

      @@hayond656 dear God that would be hilarious

    • @Ari-8449
      @Ari-8449 2 ปีที่แล้ว +3

      13:54 it was short lived

  • @kiteal1
    @kiteal1 2 ปีที่แล้ว +140

    You mentioned the RNG involved with the barrels, but fun fact about the OG donkey kong. Whether a barrel goes down a ladder or not is based on where the player is and what direction they are facing so you can actually control when the barrels go down ladders, which would have been cool to see how the AI learns to manipulate it
    Also a huge pain in the ass to code so who knows if it would have been worth it

    • @trim7911
      @trim7911 2 ปีที่แล้ว +10

      Also would have been interesting to see how the AI would coupe with a four way joystick. You can't turn and travel on ladders. But that's beyond the scope CB is at ... For now.

    • @alaeriia01
      @alaeriia01 2 ปีที่แล้ว +22

      ​@@trim7911 the AI can use an 8 way joystick if it's Billy Mitchell.

    • @rstewa35
      @rstewa35 2 ปีที่แล้ว +2

      @@alaeriia01 lmao

  • @shinysilverstardust
    @shinysilverstardust 2 ปีที่แล้ว +201

    CodeBullet still having to watch tutorials on the most simple thing start to become more relatable the further I get in my software studies

  • @dynad00d15
    @dynad00d15 2 ปีที่แล้ว +53

    13:38 Code Bullet is so good at coding, the AI felt necessary to learn speedrunning!

  • @Deadplay945
    @Deadplay945 2 ปีที่แล้ว +482

    He first learnt the whole AI thing and then went for the 2d sprites.
    This man is on another level.

    • @jebclang9403
      @jebclang9403 2 ปีที่แล้ว +1

      @@HRIDOYKHAN-he7ss What? Can you do English?

    • @sjs9698
      @sjs9698 2 ปีที่แล้ว +4

      @@jebclang9403 hey so what if they can't? don't be mean - this is one of the few chanels on yt where the comments aren't lethally toxic.

  • @sonicexer1856
    @sonicexer1856 2 ปีที่แล้ว +526

    DONKEY KONG?
    You surprise us with the most varied yet entertaining video games to let an AI learn.
    Thank you

    • @minkmiau
      @minkmiau 2 ปีที่แล้ว +1

      I didn't expect him to make a donkey kong AI tbh.

  • @Isaac_kaufman
    @Isaac_kaufman 2 ปีที่แล้ว +22

    I really love when you go into the more technical side of things, and still blending in the comedy. Great video!

  • @bluepaperclip_
    @bluepaperclip_ 2 ปีที่แล้ว +300

    As much as CodeBullet struggled, it was still impressive once he started driving over those ramps with relative ease near the end. Couldn't ask for better entertainment. The part where he made an AI was cool too.

  • @wykipedia4199
    @wykipedia4199 2 ปีที่แล้ว +2256

    Code bullet explains his coding better than my lecturers does and that’s saying something

    • @josephrhodes1948
      @josephrhodes1948 2 ปีที่แล้ว +52

      he takes your understanding of it seriously.

    • @aidanb7782
      @aidanb7782 2 ปีที่แล้ว +142

      it's the dick jokes, they help

    • @wykipedia4199
      @wykipedia4199 2 ปีที่แล้ว

      @@aidanb7782dick jokes explain more than any PowerPoint slide could

    • @perpetualcollapse
      @perpetualcollapse 2 ปีที่แล้ว +9

      @@aidanb7782
      Like 22:02 lol

    • @Secretlycat31
      @Secretlycat31 2 ปีที่แล้ว +5

      Well he is paid to so makes sense. Oh wait…

  • @hsw_53
    @hsw_53 2 ปีที่แล้ว +292

    The square refusing to fall off after crossing the ledge unless it "looked down" was some real looney tunes stuff haha

    • @kelleroid
      @kelleroid 2 ปีที่แล้ว +19

      I couldn't believe a coding channel with nearly 3M subscribers has to deal with the exact same shit as I did when I was really into Game Maker in my free teenager time

    • @Nyx42707
      @Nyx42707 2 ปีที่แล้ว +4

      @@kelleroid are you new to this channel?

    • @kelleroid
      @kelleroid 2 ปีที่แล้ว +5

      @@Nyx42707 Nope, just finally saw a moment I could very strongly relate to

    • @HRIDOYKHAN-he7ss
      @HRIDOYKHAN-he7ss 2 ปีที่แล้ว

      Subscriber place
      #selimtune

  • @derekfordyce9
    @derekfordyce9 2 ปีที่แล้ว +37

    The Jon Bailey cameo is the crossover I didn't know I needed.

  • @richardgozinya1435
    @richardgozinya1435 2 ปีที่แล้ว +1833

    one of the best things about these is when your AI finds out a trick to your programming and starts exploiting you. funny as hell

    • @missionpupa
      @missionpupa 2 ปีที่แล้ว +26

      Is it exploiting or failure to limit parameters? I mean the Ai just does what you asked it to do, it has no concept of cheating or exploitation.

    • @venuent_
      @venuent_ 2 ปีที่แล้ว +34

      @@missionpupaexploiting.

    • @Grebogoborp
      @Grebogoborp ปีที่แล้ว +73

      @@missionpupaI mean the overwatch 2 AIs will walk through walls sometimes because they have found pixel wide gaps and can spam input movement commands every tick so they can just kinda clip through the walls then shoot you from under the map it’s not really a failure of parameters as much as a failure to block exploits

    • @NonsensicalSpudz
      @NonsensicalSpudz ปีที่แล้ว +3

      @@Grebogoborp wait what

    • @Grebogoborp
      @Grebogoborp ปีที่แล้ว

      @@NonsensicalSpudz flats has a video on it you should look it up it’s hilarious

  • @keyb
    @keyb 2 ปีที่แล้ว +898

    I actually really like how you explained everything!
    Most of the time when a youtuber makes “AI plays X” or “AI learns to Y”
    They don’t explain in more detail how they did it, or they skip over a lot of the crucial information when it comes to it.
    Thanks for going the extra mile and actually going into things, even if only a little bit.

    • @adfinder5791
      @adfinder5791 2 ปีที่แล้ว +12

      we love code bullet

    • @efulmer8675
      @efulmer8675 2 ปีที่แล้ว +22

      Code Bullet actually shoots the relevant knowledge into your brain. Hence the name.

    • @steviousmusic
      @steviousmusic 2 ปีที่แล้ว +9

      "So as to how this thing works, -- your guess is as good as mine, I have no f*cking idea but at least it works"

    • @EvykhaitsSchmurf-tg7ge
      @EvykhaitsSchmurf-tg7ge 2 ปีที่แล้ว +14

      "skip over a lot of crucial information" that precisely describes his explanation. No critique towards him, explaining that shit takes ages and I understand why he doesn't do it (it would also be boring af), but he doesn't explain it well.

    • @draketurtle4169
      @draketurtle4169 ปีที่แล้ว +1

      @@EvykhaitsSchmurf-tg7gehe doesn’t explain it well or in depth to every kind of code… he explains to us neruron activation monkeys in a way we will understand and at a level deep enough to explain some nugget of inform without boring us.

  • @beepbop6697
    @beepbop6697 2 ปีที่แล้ว +216

    I'm quite impressed with the second algorithm (NEAT). That algo figured out to ignore a couple of the inputs, generated a tiny net with only 3 nodes across two hidden layers, and was beating the level without hitting the jump button. Say what you will but I'm more impressed with that than the last algorithm.
    Awesome video!

    • @LutzHerting
      @LutzHerting 2 ปีที่แล้ว +29

      Yeah, NEAT is pretty neat... (*groan*) One problem with it is that it often throws away good solutions because the mutation can often be quite aggressive and throw out long-term positive traits for short-term gains. That said: This is literally how real-world genetic evolution works too. So for this algorithm, it pays #1 to have bigger population sizes, #2 to be careful about your mutation rate, and #3 to give it enough time to run. In all experiments I did with it, it often reaches a plateau where not much happens for many generations, but after a long time, it suddenly starts improving again. I'm pretty sure it has to do with the "species" system it uses: Often, one species is so good at what it does, that even "geniuses" in other species don't have enough impact to lift their otherwise mediocre species above the king of the hill species. This can lead to situations, where species with the potential to become the new best species die out before ever getting the chance to reach their full potential. So, like I said: It works just like natural genetic evolution... A species doesn't automatically survive just because it is fitter. There also have to be the right set of random circumstances to allow them to succeed.
      P.S.: One interesting experiment you can do with NEAT is to have to mutation rate ALSO me a trait that can be mutated. That leads to some low-mutation species that keep SLOWLY improving their positive traits and several high-mutation species that keep trying out random stuff. This stops a typical problem in machine learning: The algorithm settling in a "just-good-enough" plateau instead of keeping to improve in the hopes of finding an "even better" plateau further down the line.

    • @austinsiu2351
      @austinsiu2351 2 ปีที่แล้ว +5

      @@LutzHerting this can be a video on its own. Or even a blog post series

    • @sjs9698
      @sjs9698 2 ปีที่แล้ว +5

      @@LutzHerting 's also a interesting plan to use a shifting fitness function, or an array of 'em ^^

    • @Mosethyoth
      @Mosethyoth 2 ปีที่แล้ว +1

      @beepbop that feels so much like how some gamers I watched approach the original Dark Souls.
      They get taught the mechanics, receive a shield and never do anything besides blocking and hitting back. It works, you can play the whole game with that strategy.
      But it is most of the time a very insufficient strategy.

  • @JoeCnNd
    @JoeCnNd 6 หลายเดือนก่อน +4

    26:20, it always takes the shortest path, but the safest path would be for them to climb the far right ladder from 5th girder to 6th.

  • @Smitology
    @Smitology 2 ปีที่แล้ว +51

    There's a certain irony in Code Bullet disliking an AI's explanation of AI techniques and preferring his own human explanation

  • @baptistebauer99
    @baptistebauer99 2 ปีที่แล้ว +150

    This is honestly one of the best, if not the best Code Bullet video there is. It was an absolute blast to watch

  • @Solesteam
    @Solesteam 2 ปีที่แล้ว +760

    Codebullet getting scared of something working properly was hilarious.

  • @titoub2008
    @titoub2008 6 หลายเดือนก่อน +4

    @2:27 lol it was at this point i was like wait you could have made a collision script to the ground and not need to turn off gravity...

  • @raffel08108
    @raffel08108 2 ปีที่แล้ว +152

    I always love seeing timelapeses of bug fixing in videos where someone shows themselves coding - Being a java developer myself, I can truly appreciate that :P

  • @jaesjmes5498
    @jaesjmes5498 2 ปีที่แล้ว +628

    MUM, CODE BULLET JUST DROPPED ANOTHER VIDEOOOO!!! woo

    • @MrMelonsz
      @MrMelonsz 2 ปีที่แล้ว

      WHOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

    • @tomohawk2177
      @tomohawk2177 2 ปีที่แล้ว +15

      Correct spelling of mum 👍

    • @Potatoking1
      @Potatoking1 2 ปีที่แล้ว +2

      @@hmm_-. anti lgbtq? Just asking bc your name

    • @dooplets._.5776
      @dooplets._.5776 2 ปีที่แล้ว +1

      I thought you said "noo" lmao

    • @hmm_-.
      @hmm_-. 2 ปีที่แล้ว +2

      @@Potatoking1 always and always

  • @RixityRick
    @RixityRick 2 ปีที่แล้ว +58

    Instead of fixing the ladder glitch in PPO algo Code Bullet punishing the AI for falling off is such a good parent move

  • @bitteerloesmich
    @bitteerloesmich 5 หลายเดือนก่อน +6

    1:08 i hated dealing with these when I wrote my first game

  • @wolfwing5602
    @wolfwing5602 2 ปีที่แล้ว +116

    The chaotic energy in these videos just keeps growing and I'm absolutely on board.

  • @TheKz262
    @TheKz262 2 ปีที่แล้ว +35

    22:05 That caught me off guard and now my face hurts from laughing

  • @shanggosteen9804
    @shanggosteen9804 2 ปีที่แล้ว +151

    Honestly, the whole part of debugging the gameplay and code was the most accurate representation of game development.

  • @Da1Krysez
    @Da1Krysez ปีที่แล้ว +10

    You have no idea how big my smile is! To some how just stumble onto what will now be my favorite channel?! An amazing feel. An almost AI generated feel, cause it's unreal! ....Carry on!

  • @kolkonut
    @kolkonut 2 ปีที่แล้ว +20

    At 9:39, CB states "2 extra nipples" while adding 2 nipples to a nipple-less entity, presumably a human. However, we are aware that all humans have 2 nipples by default. Therefore, we can conclude that CB canonically has 0 nipples.

  • @adamantii
    @adamantii 2 ปีที่แล้ว +70

    I love watching a successful programming channel that doesn't understand letters with hats on them either just like me! So quirky and relatable

  • @lix2146
    @lix2146 2 ปีที่แล้ว +77

    Code Bullet always delivers!!!
    Also for me, I loved the explanations and the glimpse behind the scenes.
    I know if the video gets too technical viewer retention kind of takes a hit, but this time, I thought there was a healthy amount of "nerd-talk". Ty!

  • @bast4rdlyreaper
    @bast4rdlyreaper 7 หลายเดือนก่อน +1

    11:29 i like the ones that are just like, "ima go home now, cya" and defy gravity as they walk off the left of the screen.

  • @DarcyRyder2010
    @DarcyRyder2010 2 ปีที่แล้ว +55

    I like the balance between random entertainment and coding/AI a lot more in this video than the last. Always love the uploads!

  • @WH40ktyranids
    @WH40ktyranids 2 ปีที่แล้ว +1453

    The fact that he has the Honest Trailers epic voice guy read the AI explanation made it so much better.

    • @zorglub667
      @zorglub667 2 ปีที่แล้ว +61

      Was that a cameo or some text to speech generator we should all be aware of? 😄

    • @scottgatchell5049
      @scottgatchell5049 2 ปีที่แล้ว +47

      ​@@zorglub667 just what I was thinking.... HonestGPT

    • @DanieleGiorgino
      @DanieleGiorgino 2 ปีที่แล้ว +14

      Took me a second to notice it was AI generated.

    • @zorglub667
      @zorglub667 2 ปีที่แล้ว +7

      @@DanieleGiorgino but how? If there's an epic voice guy AI generator, I must know 😄

    • @DanieleGiorgino
      @DanieleGiorgino 2 ปีที่แล้ว +13

      @@zorglub667 there are ais where you feed it a few minutes of voice and it can recreate it pretty well

  • @zeldaplayergl11
    @zeldaplayergl11 2 ปีที่แล้ว +83

    Honestly... I love your editing style and your content. I continue to admire your effort and sacrifice!

  • @Syvtek
    @Syvtek 2 ปีที่แล้ว +58

    Your video editing gets better and better with time. I believe this one is the best so far for various reasons. Just want to say I recognize and appreciate your efforts. Well done.

    • @revimfadli4666
      @revimfadli4666 2 ปีที่แล้ว +1

      The ✨animations✨

    • @Syvtek
      @Syvtek 2 ปีที่แล้ว +1

      @@revimfadli4666 The animations were great, but it's other little things that have improved as well. The Dialogue, the tempo,, The video overall feels more cohesive while retaining all of the wonderful chaotic energy of previous vids.

  • @AbhishekSinghSambyal
    @AbhishekSinghSambyal ปีที่แล้ว +1

    Music in between methods like NEAT, PPO is epic. Love your videos.

  • @ribbonduckling1314
    @ribbonduckling1314 2 ปีที่แล้ว +15

    21:30 "As soon as some letter start wearing little hats..."
    The funniest part about that is that it is called a hat. The A is A hat. At least in stats and I assume tin this context as well.

  • @mutiny1953
    @mutiny1953 2 ปีที่แล้ว +82

    I love the chaos of the process. It really gives you a sense of how many times it truly takes programmers to get stuff done 😂

  • @AROAH
    @AROAH 2 ปีที่แล้ว +2123

    I love the extremely 2020’s approach of using raycasting for floor detection. The original Donkey Kong programmer would have lost their mind. 😂

    • @WingMaster562
      @WingMaster562 2 ปีที่แล้ว +139

      I too lost my mind for a bit

    • @MythicTF2
      @MythicTF2 2 ปีที่แล้ว +204

      @@WingMaster562 same tbh, I was just sitting here thinking "Wouldn't just a simple AABB collision algorithm be better?" but hey, he makes games on youtube for a living so he probably knows whats best

    • @treeck3724
      @treeck3724 2 ปีที่แล้ว +448

      ​@@MythicTF2 trust him, he doesn't

    • @teachersammy7423
      @teachersammy7423 2 ปีที่แล้ว +78

      @@treeck3724 such an unwieldy way to code, it's fun to watch though

    • @Indian0Lore
      @Indian0Lore 2 ปีที่แล้ว +28

      What’s wrong with Ray casting?

  • @IamTheDrakarlord
    @IamTheDrakarlord 2 ปีที่แล้ว +7

    you're amazing dude, honestly your content is so relaxing to watch cause the ammount of work you have to put on, so we can just watch and relaxed like it was nothing,

  • @CheeeseGrilled
    @CheeeseGrilled 2 ปีที่แล้ว +96

    As a person who has no idea how to code, I can say that your videos are very entertaining

  • @alanbarnett328
    @alanbarnett328 2 ปีที่แล้ว +132

    I loved that you went more in depth this time! I can imagine a lot of us here watch and enjoy your videos because we're programmers ourselves, so getting more details is always interesting (in my opinion). Loved the video!

  • @nottherealendie
    @nottherealendie 2 ปีที่แล้ว +51

    I feel like I'm being spoiled with so much Code Bullet content in such a small span of time.

  • @chonkbonkthebonkingchonker
    @chonkbonkthebonkingchonker 9 หลายเดือนก่อน +4

    2:59 I was playing Mario kart while watching this AND THE COUNTDOWN ALIGNED PERFECTLY WITH THE RACE THAT WAS STARTING

  • @Maker0824
    @Maker0824 2 ปีที่แล้ว +38

    I now see why it takes you so long to upload. Creating a bug every single time you add a new feature is a genuine gift. Never change

  • @ImminDragon
    @ImminDragon 2 ปีที่แล้ว +63

    Next time you want ChatGPT to explain something, ask it to explain it in the style of Code Bullet. I really want to see you react to it trying to imitate you. I checked, and it absolutely knows about you.

    • @valovanonym
      @valovanonym 2 ปีที่แล้ว +3

      That's genius, I need to try it now

    • @masterofdoots5965
      @masterofdoots5965 ปีที่แล้ว

      ChatGPT doesn't really know what it's talking about with games and stuff in general. It told me that Ghost type is super effective against Fairy type in Pokemon, which is just entirely wrong

  • @Nightstick24
    @Nightstick24 2 ปีที่แล้ว +387

    24:15 There's a sentiment I can get behind! Instead of fixing the bugs, teach the AI to avoid them at all costs! Lol, this was an interesting video, thanks for comparing the three, I liked how you mentioned the strengths and weaknesses of them and how it's more like a "pick the best tool for the job" than it is "this one is the best".

    • @banishedpest115
      @banishedpest115 2 ปีที่แล้ว +24

      Code bullet: *becomes game dev*
      Playerbase: *finds bug in game*
      Code bullet: “Where’s my ban hammer?”

    • @EEEEEEEE
      @EEEEEEEE 2 ปีที่แล้ว +1

      E

    • @madgaming69420
      @madgaming69420 2 ปีที่แล้ว +1

      Instead of paying money to fix the hole in the floor teach the baby not to fall in it

  • @aberema7949
    @aberema7949 2 ปีที่แล้ว +7

    The amount of effort that you have kept in a single video....
    Dude honestly if you would have kept like more 10 sponsors i would have happily sat and watched all of them till the end
    I don't think i can code a even 10% of what you did in a few months
    Really amazing video man
    Great work...

  • @Gigas0101
    @Gigas0101 2 ปีที่แล้ว +132

    I like to imagine the time between episodes is actually spent making more poses for codebullet's vtuber sona, and he hammers this code out like a legend over the course of an afternoon.

  • @LutzHerting
    @LutzHerting 2 ปีที่แล้ว +245

    NEAT is pretty neat... (*groan*) One problem with it is that it often throws away good solutions because the mutation can often be quite aggressive and throw out long-term positive traits for short-term gains. That said: This is literally how real-world genetic evolution works too. So for this algorithm, it pays #1 to have bigger population sizes, #2 to be careful about your mutation rate, and #3 to give it enough time to run. In all experiments I did with it, it often reaches a plateau where not much happens for many generations, but after a long time, it suddenly starts improving again. I'm pretty sure it has to do with the "species" system it uses: Often, one species is so good at what it does, that even "geniuses" in other species don't have enough impact to lift their otherwise mediocre species above the king of the hill species. This can lead to situations, where species with the potential to become the new best species die out before ever getting the chance to reach their full potential. So, like I said: It works just like natural genetic evolution... A species doesn't automatically survive just because it is fitter. There also have to be the right set of random circumstances to allow them to succeed.
    P.S.: One interesting experiment you can do with NEAT is to have to mutation rate ALSO me a trait that can be mutated. That leads to some low-mutation species that keep SLOWLY improving their positive traits and several high-mutation species that keep trying out random stuff. This stops a typical problem in machine learning: The algorithm settling in a "just-good-enough" plateau instead of keeping to improve in the hopes of finding an "even better" plateau further down the line.

    • @ThePoodle
      @ThePoodle 2 ปีที่แล้ว +6

      hamburger

    • @justaguycalledjosh
      @justaguycalledjosh 2 ปีที่แล้ว +22

      It's nice to know that even simulated evolution suffers carcination.

    • @zyxwv
      @zyxwv 2 ปีที่แล้ว +5

      hamburger

    • @zyxwv
      @zyxwv 2 ปีที่แล้ว

      @@CalvinArt nft pfp lookin mf

    • @alessioplt8786
      @alessioplt8786 2 ปีที่แล้ว +3

      you can implement speciation to fix the "aggressive" problem

  • @securitycheesehostage7542
    @securitycheesehostage7542 2 ปีที่แล้ว +11

    18:22 where's our car??????????? my gen z brain cant function without gtav gameplay covering half of the screen D:

  • @Sniperboy5551
    @Sniperboy5551 2 ปีที่แล้ว +18

    This video totally reminds me of the days I’ve spent coding shitty little games back in my teens. I subbed for the nostalgia factor alone, I can relate to having a million bugs with no clue what I’m doing wrong. The trial and error is just a part of the fun!

  • @SpremeCalami
    @SpremeCalami 2 ปีที่แล้ว +22

    12:45 thank god for the car video, I lost interest 0.0000004 seconds into the timelapse and I really needed it to help with focus

  • @thegamingkaiser2874
    @thegamingkaiser2874 2 ปีที่แล้ว +8

    "Man, this insomnia sucks. I should atleast try to get to sleep though."
    *Code Bullet uploads
    "What's 30 more minutes?"

  • @pimplyface64
    @pimplyface64 2 ปีที่แล้ว +51

    Completely forgot you were planning to make an ai. It was so intriguing to watch you just rebuild the game. 2 awesome subjects in one video

  • @AvenMight
    @AvenMight หลายเดือนก่อน +1

    27:31 You never tried respect for your co-workers. That was the secret sauce.

  • @beginneratstuff
    @beginneratstuff 2 ปีที่แล้ว +53

    I really liked that there were more explanations in this video; I find this stuff super interesting. Another great video as usual!

  • @AsmodeusMictian
    @AsmodeusMictian 2 ปีที่แล้ว +110

    Awesome video! Your combination of code and tons of humor cracks me up.
    As for your AI?
    I will only say the following:
    Still less cheating involved than Billy Mitchell's runs.
    (And still a better love story than Twilight.)

    • @TransCario
      @TransCario 2 ปีที่แล้ว +12

      Careful, you might get a lawsuit

    • @AsmodeusMictian
      @AsmodeusMictian 2 ปีที่แล้ว +11

      @@TransCario Would love to help him towards his next loss ;)

  • @NotASpyReally
    @NotASpyReally 2 ปีที่แล้ว +17

    1:50 "I'm scared"
    Man I relate so much, that's so true.
    The worst in programming is not "It doesn't work and I don't know why", it's "It WORKS and I don't know why!"

  • @Falkorbs
    @Falkorbs หลายเดือนก่อน +2

    I like how he pays attention to our attention span and makes time lapses and cuts in his video

  • @Liggliluff
    @Liggliluff 2 ปีที่แล้ว +22

    (23:00) You should preferably also set the distance to the nearest ladder upwards and nearest ladder downwards. Since you can add a lot of inputs, the nearest ladder upward can also have the inputs for the next barrel to that ladder that might fall down it.

  • @chromium_ink
    @chromium_ink 2 ปีที่แล้ว +74

    I too feel that excitement when testing basic movements. People got no idea how tedious it is to implement those perfectly…

  • @drakesdrum1
    @drakesdrum1 2 ปีที่แล้ว +9

    20:00 Not only has the algorithm deemed Jumping Unnecessary, it's also stopped paying attention to where ladders are (opting instead to just keep moving along the platform until it stumbles onto one), and to how the barrels are moving, (opting to just move as far away from the closest barrel that it can). This second part is probably why they kept hanging out behind Donkey Kong - they move past him because he has no collision, and then he spawns a barrel, at which point the AI goes "I'm not going anywhere near that, stick to the far wall".
    You could probably have convinced them to start jumping if you'd kept the point score for jumping over barrels and added that as a secondary condition of some kind, but that would probably have resulted in some of them just point-farming barrel jumps instead of completing the level, and would have taken more effort to add in and bugfix; plus, this way it works as an excellent example of how the algorithm can produce unexpected behaviour, so it's for the best.

  • @croissant9127
    @croissant9127 หลายเดือนก่อน +3

    I think the ai liked to hide behind donkey kong because it counted as them "missing barrels" and gave extra points

  • @Blit_Wizbok
    @Blit_Wizbok 2 ปีที่แล้ว +29

    it's hard to describe the fear of something working the first time when you know it SHOULDN'T HAVE WORKED THE FIRST TIME

  • @pneumantic6297
    @pneumantic6297 2 ปีที่แล้ว +99

    After talking to people that work with AI, one of the things they mostly agree on is that not even they have any idea what is going on in the back end.

    • @Hypernova7777
      @Hypernova7777 2 ปีที่แล้ว +2

      What IS going on in the back end?
      That question is harder to answer than physics probably

    • @IAmUnderscore
      @IAmUnderscore 2 ปีที่แล้ว +3

      @@Hypernova7777Look up how neural networks function, it’s not actually very complicated on paper. The issue is that with enough nodes, it becomes impossible for humans to possibly follow exactly what’s happening in the “brain” of the AI.

    • @Hypernova7777
      @Hypernova7777 2 ปีที่แล้ว +2

      @@IAmUnderscore That's what I meant...
      I know the base stuff about nodes.

    • @IAmUnderscore
      @IAmUnderscore 2 ปีที่แล้ว +1

      @@Hypernova7777 Ooookkayyy….

    • @Hypernova7777
      @Hypernova7777 2 ปีที่แล้ว +1

      @@IAmUnderscore I took a class on this

  • @Chevifier
    @Chevifier 2 ปีที่แล้ว +189

    13:33 The AI finding a glitch and taking advantage of it is freaking awesome 🤣

    • @Alucard-gt1zf
      @Alucard-gt1zf 2 ปีที่แล้ว +10

      Even spiffing brit isn't safe from ai

    • @nubbyboi6523
      @nubbyboi6523 2 ปีที่แล้ว +18

      @@Alucard-gt1zf The Genetic Algorithm is a perfectly balanced game with no exploits

  • @Izzy_Outdoors
    @Izzy_Outdoors หลายเดือนก่อน +1

    Who needs an educational video when u got this

  • @mellalith4493
    @mellalith4493 2 ปีที่แล้ว +585

    This man has the most elite upload schedule 😂

    • @thomask2133
      @thomask2133 2 ปีที่แล้ว +38

      it took me the same time it took him to upload 15 of his videos (provided he doesn't upload for two months... which is guaranteed) to get a cs deegree

    • @76Arfa
      @76Arfa 2 ปีที่แล้ว +2

      @@thomask2133 provided you actually get the degree 😏

  • @Name_Pendingg
    @Name_Pendingg 2 ปีที่แล้ว +9

    12:24 *NOOOOOOO, KEEP THIS IN THE TICK-TOCK QUARANTINE ZONE*

  • @swift2789
    @swift2789 2 ปีที่แล้ว +83

    Gotta love to watch another 30 minutes of talking TV with a bullet on it! Jokes aside, great content!

  • @Okurkaarrgghh
    @Okurkaarrgghh หลายเดือนก่อน +1

    7:27 In the original version the left ladder on the 5th girder is broken; on your version it isn't so Jumpman/Mario doesn't take the normal, longer route.

  • @cakework9584
    @cakework9584 2 ปีที่แล้ว +4

    Computer gives incredibly accurate description of genetic algorithm*… “ok let’s actually explain this”

  • @CelestialAura7
    @CelestialAura7 2 ปีที่แล้ว +54

    This could not have been a more perfect time to upload you just cured my boredom bless you code bullet

    • @_Seinosuke_
      @_Seinosuke_ 2 ปีที่แล้ว +3

      I thought he's going to be gone for 4-6 month or a year.

    • @BonnieTheBunny20
      @BonnieTheBunny20 2 ปีที่แล้ว +2

      same!

    • @jaesjmes5498
      @jaesjmes5498 2 ปีที่แล้ว +2

      Watch Magnus modtibo…literally no reason except I was watching him when this dropped and he’s a pretty cool TH-camr. He’s a professional rock climber and he has a lot of videos with other people to

  • @user-cx5jj2yv3p
    @user-cx5jj2yv3p 2 ปีที่แล้ว +26

    3 AIs competing was really interesting. It laid out a lot of pros and cons of each while showing actual results. Nice 👍

  • @JortVlaming
    @JortVlaming ปีที่แล้ว +3

    0:36 so it needs the code bullet treatment

  • @daanmeijer6113
    @daanmeijer6113 2 ปีที่แล้ว +15

    I loved the way you explained on how to apply the different AI in a easy to grasp manner. Would love a video were you would go more in dept on your code! Thanks as always for the amazing video :)

  • @johnstevenson3628
    @johnstevenson3628 2 ปีที่แล้ว +16

    I’ve always loved your videos Code Bullet, but you’ve truly outdone yourself with this one. The pacing, style, jokes, and editing were all on point. It was a highly entertaining and engaging video to watch and I can say for sure that the Gen Z joke at 12:21 is one of the funniest bits you’ve ever done. Keep up the great work!

  • @AndyLeeVlogs
    @AndyLeeVlogs 2 ปีที่แล้ว +28

    You are a legend of a coder, you inspired me to make an AI bot of my own and I appreciate what you do for our society. Keep up the work Code Bullet, I like you.

  • @Adoumoui
    @Adoumoui 5 หลายเดือนก่อน +1

    I'm glad to see someone else have trouble with a cube and ground