DESTROYING Donkey Kong with AI (Deep Reinforcement Learning)

Sdílet
Vložit
  • čas přidán 5. 05. 2024
  • Go to brilliant.org/CodeBullet/ 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

Komentáře • 5K

  • @theirishninjasanimations
    @theirishninjasanimations Před rokem +5319

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

    • @Robyamdam
      @Robyamdam Před rokem +38

      this 100%

    • @alucard4344
      @alucard4344 Před rokem +30

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

    • @Quadr44t
      @Quadr44t Před rokem +20

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

    • @dr_mafarioyt4313
      @dr_mafarioyt4313 Před rokem +41

      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_ Před rokem

      @@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 Před rokem +15061

    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 Před rokem +595

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

    • @CaspersUniverse
      @CaspersUniverse Před rokem +116

      Truly inspiring

    • @stardragon8585
      @stardragon8585 Před rokem +214

      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 Před rokem +35

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

    • @tristanridley1601
      @tristanridley1601 Před rokem +60

      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 Před 6 měsíci +420

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

    • @dreemurrdelm7865
      @dreemurrdelm7865 Před 3 měsíci +35

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

    • @legaming4859
      @legaming4859 Před 24 dny +10

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

  • @meihauf
    @meihauf Před rokem +1398

    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.

  • @LlyricDragon
    @LlyricDragon Před rokem +9892

    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 Před rokem +533

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

    • @JansthcirlU
      @JansthcirlU Před rokem +153

      Spoken like a true unit-test averse programmer!

    • @jimmyhirr5773
      @jimmyhirr5773 Před rokem +44

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

    • @oblivion_2852
      @oblivion_2852 Před rokem +175

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

    • @MisterPyOne
      @MisterPyOne Před rokem +68

      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.

  • @Dmobley9901
    @Dmobley9901 Před rokem +7076

    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-

  • @TheAdvertisement
    @TheAdvertisement Před rokem +322

    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 Před 11 měsíci +19

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

    • @party1015
      @party1015 Před 4 měsíci

      probably neat how they realized it @@barni_7762

  • @shinami3758
    @shinami3758 Před rokem +83

    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 Před 7 měsíci +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.

  • @TheKing-fo4xo
    @TheKing-fo4xo Před rokem +2820

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

  • @fizipcfx
    @fizipcfx Před rokem +975

    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 Před rokem +12

      No ML engineer would call himself AI engineer.

    • @fizipcfx
      @fizipcfx Před rokem +67

      @@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 Před rokem +4

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

    • @fizipcfx
      @fizipcfx Před rokem +22

      @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 Před rokem +2

      @@fizipcfx or an 'alternative scientist'

  • @primenumberbuster404
    @primenumberbuster404 Před rokem +198

    I like how nobody really forgets about the Enigma machine even after 5 years

    • @nubbyboi6523
      @nubbyboi6523 Před rokem +21

      Evan is such a nice guy, always keeps his promises, especially Enigma Machine Part 2

    • @GooberInternet
      @GooberInternet Před rokem +11

      ​@@nubbyboi6523 Yeah, he'll probably make it in the next...millennia.

    • @nubbyboi6523
      @nubbyboi6523 Před rokem +9

      @@GooberInternet Better than his normal upload schedule 💀

    • @puffboifedora6831
      @puffboifedora6831 Před 11 měsíci +2

      @@nubbyboi6523Wait until it’s 2068

    • @TemmiePlays
      @TemmiePlays Před 10 měsíci +2

      he already made it, but you need to decrypt his message to get the url

  • @dynad00d15
    @dynad00d15 Před rokem +25

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

  • @brobs0463
    @brobs0463 Před rokem +2106

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

  • @rpsnider85
    @rpsnider85 Před rokem +473

    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.

  • @Isaac_kaufman
    @Isaac_kaufman Před 10 měsíci +11

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

  • @derekfordyce9
    @derekfordyce9 Před 11 měsíci +26

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

  • @cositayjack
    @cositayjack Před rokem +1843

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

    • @lubraethecat
      @lubraethecat Před rokem +77

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

    • @curtiswfranks
      @curtiswfranks Před rokem +57

      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 Před rokem +20

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

    • @GamingProsAdventure
      @GamingProsAdventure Před rokem +13

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

    • @tcarrotgaming1639
      @tcarrotgaming1639 Před rokem +10

      code bullet is the devil on my shoulder

  • @SneakyAxe992
    @SneakyAxe992 Před rokem +931

    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 Před rokem +7

      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 Před rokem +20

      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 Před rokem +1

      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 Před rokem +3

      @@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 Před rokem

      and then it suddenly doesnt

  • @IamTheDrakarlord
    @IamTheDrakarlord Před 10 měsíci +5

    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,

  • @Da1Krysez
    @Da1Krysez Před 7 měsíci +7

    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!

  • @aidenwalmer
    @aidenwalmer Před rokem +1319

    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 Před rokem +10

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

  • @wykipedia4199
    @wykipedia4199 Před rokem +2210

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

  • @aberema7949
    @aberema7949 Před rokem +5

    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...

  • @boomgarden8826
    @boomgarden8826 Před rokem

    Love the technical descriptions! Please do more :)

  • @Deadplay945
    @Deadplay945 Před rokem +447

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

    • @jebclang9403
      @jebclang9403 Před rokem +1

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

    • @sjs9698
      @sjs9698 Před rokem +1

      @@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.

  • @richardgozinya1435
    @richardgozinya1435 Před rokem +1807

    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 Před 10 měsíci +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.

    • @_select
      @_select Před 9 měsíci +32

      @@missionpupaexploiting.

    • @Grebogoborp
      @Grebogoborp Před 8 měsíci +69

      @@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 Před 8 měsíci +3

      @@Grebogoborp wait what

    • @Grebogoborp
      @Grebogoborp Před 8 měsíci

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

  • @karakson
    @karakson Před 11 měsíci

    I like even more this video than your previous ones thank to your explanations! Thank you for the high quality content!

  • @pssnyder
    @pssnyder Před 8 měsíci

    Just found your channel. I love the animated commentary, this is amazing.

  • @kleptotrichy
    @kleptotrichy Před rokem +267

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

    • @kelleroid
      @kelleroid Před rokem +18

      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

    • @sebastianredden7577
      @sebastianredden7577 Před rokem +4

      @@kelleroid are you new to this channel?

    • @kelleroid
      @kelleroid Před rokem +4

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

    • @HRIDOYKHAN-he7ss
      @HRIDOYKHAN-he7ss Před rokem

      Subscriber place
      #selimtune

  • @ricardogonzalezcastillo6932

    Loved this video and how you show each improved AI that you did. A different that I would tried for the reward function is to also incentivize finishing the game faster, I believe that this way it could have stopped the climbing down behavior and probably change a bit the behavior

  • @freescape08
    @freescape08 Před rokem

    I appreciate your recognizing the last video. I thought for a moment that I somehow missed it, but then you reminded me that I just left partway through. Yeah, that was a mistake. Glad you're back, and glad to hear about another channel!

  • @xanderwhitt9580
    @xanderwhitt9580 Před rokem +295

    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 Před rokem +10

      Imagine a Code Bullet Bingo with those stuff lol

    • @xanderwhitt9580
      @xanderwhitt9580 Před rokem +2

      @@hayond656 dear God that would be hilarious

    • @Ari-8449
      @Ari-8449 Před rokem +2

      13:54 it was short lived

  • @stoopidapples1596
    @stoopidapples1596 Před rokem +920

    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 Před rokem +4

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

    • @queenofpups
      @queenofpups Před rokem +71

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

    • @HRIDOYKHAN-he7ss
      @HRIDOYKHAN-he7ss Před rokem +1

      Subscriber place
      #selimtune

    • @EverTheFractal
      @EverTheFractal Před rokem +38

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

    • @ki11er24
      @ki11er24 Před rokem +1

      @@heavenstone3503 cough enigma machine part 2

  • @Sniperboy5551
    @Sniperboy5551 Před 11 měsíci +14

    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!

  • @drputman8347
    @drputman8347 Před rokem

    Absolutely love everything about this channel. Always my first watch on my binges

  • @RomanQrr
    @RomanQrr Před rokem +234

    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 Před rokem +9

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

    • @maartenbeute6742
      @maartenbeute6742 Před rokem +9

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

    • @maartenbeute6742
      @maartenbeute6742 Před rokem +3

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

    • @MaxLennon
      @MaxLennon Před rokem +3

      @@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 Před rokem

      @@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:
      czcams.com/video/ovIykchkW5I/video.html&lc=UgxFRqioM8iaM4rJvs54AaABAg

  • @kiteal1
    @kiteal1 Před rokem +99

    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 Před rokem +8

      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 Před rokem +15

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

    • @rstewa35
      @rstewa35 Před rokem +1

      @@alaeriia01 lmao

  • @Bambi_Star
    @Bambi_Star Před 6 měsíci +1

    I just subscribed, I love your commentary. I needed this

  • @crysthiangonzalezfuentes7181

    One of your inputs should have been the rate of barrel spawn since it is something predictable by players after all. This way they would never die in the barrel spawn point. Great video by the way :)

  • @sonicexer1856
    @sonicexer1856 Před rokem +516

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

    • @minkmiau
      @minkmiau Před rokem +1

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

  • @mairder6773
    @mairder6773 Před rokem +347

    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.

  • @absolutebastardhours4404
    @absolutebastardhours4404 Před 11 měsíci +25

    I especially like how the barrels rotate the opposite way that they are going. Great stuff.

  • @danielmessick288
    @danielmessick288 Před rokem +2

    I wished he'd post more but I know just how long it takes to code cuz I was in a coding class and all that but I 100% respect all the work he puts into every video keep up all the good work man :)

  • @AROAH
    @AROAH Před rokem +2119

    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 Před rokem +139

      I too lost my mind for a bit

    • @MythicTF2
      @MythicTF2 Před rokem +205

      @@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 Před rokem +449

      ​@@MythicTF2 trust him, he doesn't

    • @teachersammy7423
      @teachersammy7423 Před rokem +80

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

    • @Indian0Lore
      @Indian0Lore Před rokem +29

      What’s wrong with Ray casting?

  • @Solesteam
    @Solesteam Před rokem +749

    Codebullet getting scared of something working properly was hilarious.

  • @band1421
    @band1421 Před 10 měsíci

    The amount of work you put into these videos is insane. Keep it up bro, i hope we will see more from you in the future

  • @AbhishekSinghSambyal
    @AbhishekSinghSambyal Před měsícem +1

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

  • @bluepaperclip_
    @bluepaperclip_ Před rokem +286

    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.

  • @shinysilverstardust
    @shinysilverstardust Před rokem +189

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

  • @sergiohernandez72
    @sergiohernandez72 Před rokem

    Hello code bullet! I just remembered your channel exists! I used to watch your content a lot, glad to see your still making amazing stuff!

  • @bloofrozenmonkyes5698
    @bloofrozenmonkyes5698 Před 11 měsíci +21

    As someone who who had to make a platformer from scratch in Java I understand how hard the first part was

  • @jaesjmes5498
    @jaesjmes5498 Před rokem +609

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

    • @MrMelonsz
      @MrMelonsz Před rokem

      WHOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

    • @tomohawk2177
      @tomohawk2177 Před rokem +15

      Correct spelling of mum 👍

    • @Potatoking1
      @Potatoking1 Před rokem +2

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

    • @dooplets._.5776
      @dooplets._.5776 Před rokem +1

      I thought you said "noo" lmao

    • @hmm_-.
      @hmm_-. Před rokem +2

      @@Potatoking1 always and always

  • @beepbop6697
    @beepbop6697 Před rokem +204

    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 Před rokem +28

      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 Před rokem +5

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

    • @sjs9698
      @sjs9698 Před rokem +5

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

    • @Mosethyoth
      @Mosethyoth Před rokem +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.

  • @MassacreDLO
    @MassacreDLO Před 10 měsíci

    Bro ur video are so good 21:05 ur humor voice editing alll perfect

  • @MnatsakanMatSharafyan
    @MnatsakanMatSharafyan Před 11 měsíci

    I like your content a lot and watched it with Saima Chrome extension and save c. 12 min. Great Combination. Thanks a lot!

  • @ImminDragon
    @ImminDragon Před rokem +46

    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 Před rokem +3

      That's genius, I need to try it now

  • @keyb
    @keyb Před rokem +894

    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 Před rokem +12

      we love code bullet

    • @efulmer8675
      @efulmer8675 Před rokem +22

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

    • @steviousmusic
      @steviousmusic Před rokem +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 Před rokem +13

      "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 Před 7 měsíci

      @@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.

  • @azizsampson138
    @azizsampson138 Před 9 měsíci

    You cracked the code on being an entertaining programmer! Honestly funny asf

  • @apu_apustaja
    @apu_apustaja Před měsícem +2

    @21:29 Yes, the small hats are definitely a sign of trouble. Actually a lot of people seem to be noticing this these days.

  • @TheKz262
    @TheKz262 Před rokem +26

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

  • @Smitology
    @Smitology Před rokem +45

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

  • @Endless-River
    @Endless-River Před 8 měsíci

    That save in that GTA downhill ramp clip was amazing.

  • @WH40ktyranids
    @WH40ktyranids Před rokem +1450

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

    • @zorglub667
      @zorglub667 Před rokem +60

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

    • @scottgatchell5049
      @scottgatchell5049 Před rokem +46

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

    • @DanieleGiorgino
      @DanieleGiorgino Před rokem +14

      Took me a second to notice it was AI generated.

    • @zorglub667
      @zorglub667 Před rokem +7

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

    • @DanieleGiorgino
      @DanieleGiorgino Před rokem +13

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

  • @tfairfield42
    @tfairfield42 Před 11 měsíci +8

    This guy narrates like a tenured professor and I am all for it

  • @baptistebauer99
    @baptistebauer99 Před rokem +145

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

  • @AB-we9dh
    @AB-we9dh Před rokem +53

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

  • @rafges3182
    @rafges3182 Před 4 měsíci

    I legit love your sense of humor I’m dying every time I watch you since I was younger

  • @tennysonh1532
    @tennysonh1532 Před 6 měsíci

    The slapstick comedy element of code bullet videos are the best. Watching the red box just keep falling through the ground or ascend to heaven when going up a ladder was so funny.

  • @wolfwing5602
    @wolfwing5602 Před rokem +114

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

  • @Nightstick24
    @Nightstick24 Před rokem +386

    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 Před rokem +23

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

    • @EEEEEEEE
      @EEEEEEEE Před rokem +1

      E

    • @madgaming6667
      @madgaming6667 Před 11 měsíci

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

  • @aaronarmstrong406
    @aaronarmstrong406 Před rokem

    Bruh. I love it. Your struggle is all of our struggle. You lay it bare and give us human. I love you.

  • @aaronmejia6952
    @aaronmejia6952 Před rokem +3

    the rage i felt at 18:32 was unfathomable when i heard that music, i have to hear it in ads and i want to scream but it is the sacrifice i must make to watch the video

  • @raffel08108
    @raffel08108 Před rokem +149

    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

  • @shanggosteen9804
    @shanggosteen9804 Před rokem +148

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

  • @grantclark4139
    @grantclark4139 Před rokem

    I loved hearing the technical details, muoooree!

  • @JigglesMcRibs
    @JigglesMcRibs Před 8 měsíci

    I can't count how many times I've re-struggled for too long just trying to get a floor to work after jumping. I've done it in unity, in unreal, with javascript, python, and C++, using XGS, you name it. You'd think I'd have figured it out by now, nope.

  • @LutzHerting
    @LutzHerting Před rokem +238

    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 Před rokem +6

      hamburger

    • @justaguycalledjosh
      @justaguycalledjosh Před rokem +20

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

    • @zyxwv
      @zyxwv Před rokem +5

      hamburger

    • @zyxwv
      @zyxwv Před rokem

      @@CalvinArt nft pfp lookin mf

    • @alessioplt8786
      @alessioplt8786 Před rokem +3

      you can implement speciation to fix the "aggressive" problem

  • @adamantii
    @adamantii Před rokem +67

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

  • @losthalo428
    @losthalo428 Před 5 měsíci

    As someone who’s starting to learn ai and ml I must say, you’re the coolest person I’ve seen on youtube. Fun and informative content, S-tier shit

  • @allenwilliquette1841
    @allenwilliquette1841 Před 10 měsíci

    This was the most entertaining coding video I've ever watched. Definitely subscribing!

  • @mellalith4493
    @mellalith4493 Před rokem +586

    This man has the most elite upload schedule 😂

    • @thomask2133
      @thomask2133 Před rokem +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 Před rokem +2

      @@thomask2133 provided you actually get the degree 😏

  • @mutiny1953
    @mutiny1953 Před rokem +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 😂

  • @3knucklesdeepgaming102

    man cool to see someone using unity haven't messed with c# in a while been learning c++

  • @Jack_Wolfe
    @Jack_Wolfe Před rokem

    I was told once that 16bit gaming development, is just controlling a spaceship in a 2D plane to act like other things. and all gravity is, is movement in that direction. In the 2D world buttons increase and decrease the XY when the coordinates or "hit box" of the character sprite overlaps a designated tile set (math, area of a tile designated coordinates with values) then the X or Y movement max min values are limited. (example: Y = 0 to +inf)

  • @Chevifier
    @Chevifier Před rokem +189

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

    • @Alucard-gt1zf
      @Alucard-gt1zf Před rokem +9

      Even spiffing brit isn't safe from ai

    • @nubbyboi6523
      @nubbyboi6523 Před rokem +17

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

  • @samihamchev9528
    @samihamchev9528 Před rokem +93

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

  • @Redneck353
    @Redneck353 Před 8 měsíci

    That was cool! thanks of the vid!

  • @laurin4237
    @laurin4237 Před rokem

    Love your videos, had quite a few good laughs. Especially when you put the gta v gameplay in the top right 😂

  • @kolkonut
    @kolkonut Před rokem +15

    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.

  • @SpremeCalami
    @SpremeCalami Před rokem +20

    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

  • @apokalypsecow9756
    @apokalypsecow9756 Před 8 měsíci

    I used to work for a company that dealt in self-training neural networks, and my boss (the founder of said company) fuckin' HATED genetic algorithms. Seeing this NEAT fusion of ANNs and genetic algorithms is super cool to me. My old boss would have had a stroke at not only this, but at the dynamic topology aspect of it... which makes me love it all the more.

  • @johnnewman672
    @johnnewman672 Před rokem

    Also another trick for eliminating the issue of them chilling in the corner is to create an invisible vertical wall (like the platforms) right at the closest to where the barrel would be right after being thrown

  • @Syvtek
    @Syvtek Před rokem +57

    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 Před rokem +1

      The ✨animations✨

    • @Syvtek
      @Syvtek Před rokem +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.

  • @Blit_Wizbok
    @Blit_Wizbok Před rokem +28

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

  • @yoface2537
    @yoface2537 Před 5 měsíci +1

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

  • @seniorsmoothybuns1
    @seniorsmoothybuns1 Před 10 měsíci

    I Like that your playing on the joke that gen Z needs multiple forms of stimulation to stay watching a video, I mean I'm Gen Z but even I don't need multiple forms of stimulation to stay hooked, your vids are awesome in there own way, like being a coder, being fresh out of collage, and just the good enough jokes.

  • @ribbonduckling1314
    @ribbonduckling1314 Před rokem +10

    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.

  • @thegamingkaiser2874
    @thegamingkaiser2874 Před rokem +8

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

  • @vasco407
    @vasco407 Před 4 měsíci

    its pretty fun to see so many lil dudes race at the same time. like an online donkey kong. would be fun for a bet game too

  • @jackrenai6253
    @jackrenai6253 Před 8 měsíci

    at some point during the ppo part I totally had to stop the video to check to see if it was still cd mario, cause it genuinely looked like normal mario.