AI Learns to Speedrun Celeste

Поделиться
HTML-код
  • Опубликовано: 17 дек 2024

Комментарии • 72

  • @Alserex
    @Alserex 2 года назад +26

    I can't believe I'm probably the first person this video got pushed out to, this video is such an amazing concept and I'm glad I found this video

  • @lamurara
    @lamurara Месяц назад +2

    I literally thought of this idea like a week ago, good to see someone did it already

  • @damianlarocque4958
    @damianlarocque4958 2 года назад +15

    Keep up the good work. Your dedication to creating these projects is insane

  • @nilaier1430
    @nilaier1430 Год назад +8

    I wouldn't really call it a "speedrun", because it's a genetic algorithm tasked to reach the next level of game, not to reach it as fast as possible. A good idea would've been to make Reinforcement Learning algorithm (PPO for example) that would've been punished for every second of its miserable existance and rewarded for getting as close to the level transition trigger as possible. Then just train a bunch of models on different levels and then you would definitely get a solid speedrunner, you would just have to switch between models as you progress through the levels. Unless you want to train a giant model on the whole game when you restart from the very beginning after each death of course.

  • @SalamiMommie
    @SalamiMommie Год назад +5

    for someone who's invested so much time into researching artificial intelligence, you could have at least given the manifesto an honest read

  • @manfrom20xx13
    @manfrom20xx13 Год назад +10

    this is genuinely amazing!! hope one day you will blow up to millions of views that you deserve man!

  • @MrPantoflas
    @MrPantoflas 2 года назад +9

    im very happy i subscribed to this channel, very well made video

  • @satsualex
    @satsualex Год назад +1

    this is actually really cool and very well explained, amazing video man

  • @hamtsammich
    @hamtsammich 9 месяцев назад

    next up, "I want to be the guy"

  • @HH-mf8qz
    @HH-mf8qz Год назад +4

    Dude nice work, hope to see more from this and I hope your skills get better and better over time.
    I really love the idea of AI agents for playing games

  • @cozmothemagician7243
    @cozmothemagician7243 Год назад +2

    I love videos like this. Truly a unique art form. Your soundtrack choices were spot on. Or were those choices made by AI?

  • @garrettperschino162
    @garrettperschino162 Год назад +1

    great video this is extremely interesting stuff, surprised it doesn't have more views

  • @rudimcfunnyguy1946
    @rudimcfunnyguy1946 2 года назад +1

    dude wtf how has this only got 600 views this is quality content

  • @manganari8022
    @manganari8022 Год назад +2

    I just had an idea after seeing the beginning of the video, maybe next time instead of letting the ai play for you you could make one that assist you so everything you do i perfectly smooth, you won't die, or anything like that ( kinda like the think in Mk8 delux that forbid you to fall of but with real inputs )

  • @SaintRadon
    @SaintRadon Год назад

    WAOH THIS NEEDS MORE VIEWS!

  • @vitusdays
    @vitusdays 8 месяцев назад +3

    hey dude can i have the code for the Pico8 version of celest that you did in the beggining of the video? thx

    • @effdotsh
      @effdotsh  8 месяцев назад +3

      just flipped the repo to public, feel free to use as you wish, but I won't be providing any support for the code.
      github.com/effdotsh/celeste-bot-old

  • @VanillaSlap
    @VanillaSlap Год назад

    The Strawberry is a Lie

  • @James-wf8nu
    @James-wf8nu 8 месяцев назад

    you have a good taste in music

  • @pixilmon
    @pixilmon Год назад +1

    Underrated channel

  • @firestar-g4u
    @firestar-g4u 19 дней назад

    Very good video!!

  • @septimus4762
    @septimus4762 Год назад

    Code Bullet? Those had their moments but got old pretty fast. When you said “remake the game” and “waypoints” that’s exactly like one of his vids

  • @lobomello
    @lobomello Год назад +1

    came for the ai, stayed for the comunist manifest jokes :)

  • @HankyUSA
    @HankyUSA Год назад +1

    I want to do something similar, except I want to stick to Celeste, not the Pico 8 version, and I want to write the inputs by hand. Run in some direction for some duration, then jump in this direction, then dash in some direction. Something like that. I'm trying to find the best way to script the inputs.

    • @effdotsh
      @effdotsh  Год назад +1

      A lot of games have community-made TAS tools, which could be helpful. For Celeste, this seems to be the go-to choice: github.com/EverestAPI/CelesteTAS-EverestInterop

  • @DarklyProductions
    @DarklyProductions Год назад

    Algorithm are you there? Can you hear me?

  • @joa_xd6466
    @joa_xd6466 2 года назад +2

    yoo new video!

  • @nateberol1809
    @nateberol1809 2 года назад +1

    Obligatory algorithm boost comment here! Jokes aside, this is some incredible work. Keep it up!

  • @Danitux11
    @Danitux11 Год назад +1

    How do you have so little subscribes this is awesome

  • @Danielo515
    @Danielo515 2 года назад +5

    This was super interesting and fun, but I wouldn't call it AI. It's more of a brute force method to find the best key combination to beat celeste

    • @chuck600
      @chuck600 Год назад +3

      True. It's a more advanced bruteforce method that uses some ideas from the AI algorithms, but it's not actual AI. Still very interesting tho

    • @bokheadpictures
      @bokheadpictures Год назад +1

      not even the best, just one that works

  • @robotmonkey9846
    @robotmonkey9846 2 года назад +2

    Keep it up please🤌

  • @wepotet
    @wepotet Год назад

    Great video :) !
    Quick advice to make even better next videos :
    - i feel like the second part of the video where we see the AI test all the paths is too long. Maybe you can cut into it or add some commentary that will make it more interesting, as I know my fellow youtube watchers, we tend to skip repetitive content like this.
    - Also consider using game better known, smash bros was a good one, i'm not sure celeste will help you have more views. I'm giving this advie because I believe your number of views is not rewarding enough all the work you have done for this video. But i enjoyed it anyway :)
    Thanks again for your videos, you have a new subscriber from france now !

    • @nayzal
      @nayzal Год назад +1

      Celeste is a pretty popular game actually

  • @Doomer_Vibes
    @Doomer_Vibes Год назад +2

    To get informations about celeste (x, y, is dead, room, frames...) you have celeste debug rc with the tool celesteTAS. You can lauch http requests from a local host server to get informations. Also I have a question, if no individual in the population reaches a checkpoint, how is the selection process done?

    • @effdotsh
      @effdotsh  Год назад

      That's a good idea!
      If no individual reaches the checkpoint, the moves are re-randomized. If after a certain number of attempts they don't reach the checkpoint, more their max move count is increased.

    • @Doomer_Vibes
      @Doomer_Vibes Год назад

      @@effdotsh Yes. I coded the equivalent of the monkey model (lol) but with the real Celeste in python. The big problem with my version is that I can't run several individuals at the same time

  • @ella614
    @ella614 2 года назад

    yooooooo
    ~Celeste TASer

  • @NonSkrapple
    @NonSkrapple 2 года назад

    Underrated!

  • @marinbergeron4601
    @marinbergeron4601 2 года назад +4

    I was wondering if for the checkpoints of each level you chose them yourself or agent through the hell of using an algorithm to determine them. Happy to see someone make videos of this very niche topic that makes my brain happy :))

    • @effdotsh
      @effdotsh  2 года назад

      All the checkpoints were manually placed

  • @BuildTheSandbox
    @BuildTheSandbox Год назад

    Fun video

  • @dorol6375
    @dorol6375 2 года назад

    Underrated as fuck

  • @samuelgiron6041
    @samuelgiron6041 Год назад +1

    Love this content , one day I’m going to me making AI to play video games too ❤

  • @joaopedro-g7t9m
    @joaopedro-g7t9m Месяц назад

    thats like a tas isn't it?

  • @RichConnerGMN
    @RichConnerGMN Год назад +36

    my biggest gripe with these sorts of videos is... no, it didn't learn to play celeste. it learned to play specifically your inaccurate recreation of celeste. like i kinda get it but.. still

  • @Larch3
    @Larch3 Год назад

    This is an amazing project that takes insane dedication, seriously this is awesome

  • @RAyLV17
    @RAyLV17 6 месяцев назад

    I was thinking whether one could use computer vision to train an ai to play games. This is exactly what I was looking for thank you!
    (before 3:51) But you mentioned that the moving camera is an issue for the real game, so you chose the earlier version of Celeste with a fixed camera.
    Can you share why is the moving camera a problem, exactly?

  • @FcoMp
    @FcoMp Год назад +2

    Pico 8 Celeste has the source code included, why not just modify it?

    • @effdotsh
      @effdotsh  Год назад +3

      Building on top of the base celeste classic code would mean the AI would also need to be created in pico8, which is a much more complex task (imo) than just remaking the game

  • @randychavezjr6050
    @randychavezjr6050 2 года назад +1

    Nice!!

  • @CardboardPersonGuy
    @CardboardPersonGuy Год назад

    Celeste is a w game

  • @benjamin_y97
    @benjamin_y97 Год назад

    When the AI move to new level does it use the same network or start fresh ?

    • @effdotsh
      @effdotsh  Год назад +1

      It starts fresh on each level. This algorithm finds specialized solutions, not a general one

  • @HH-mf8qz
    @HH-mf8qz Год назад

    I have some experience in Machine Learning, if you want to include some network into your Celeste project, give the model a representation of the level grid as a one-hot encoded image where each channel corresponds to a block type and give it a second grid of the same size where only the current position is set to one. This could already give you some interesting results.
    The output of the model should be probabilities for pressing each of the action keys

  • @joaquin3220
    @joaquin3220 Год назад

    karl marx was way more intelligent than you, but nice video, I really love this game

  • @GianmariaZarantonello-sp1zm
    @GianmariaZarantonello-sp1zm Год назад

    Algoritm boooooost

    • @effdotsh
      @effdotsh  Год назад

      Thank you for your service o7

  • @Gesely
    @Gesely Год назад

    Algorithm.

  • @eccentriccode3158
    @eccentriccode3158 Год назад

    Awesome. Why did you use a genetic algorithm and not a neural net?

    • @effdotsh
      @effdotsh  Год назад +2

      There was no easy way of getting an input state to the neural network other than using images and training on a CNN would've taken longer, absolutely a valid approach though

    • @eccentriccode3158
      @eccentriccode3158 Год назад

      But good to know, I didn't know genetic algorithms could work better on stricter hardware requirements

    • @k1ndevil
      @k1ndevil Год назад

      ​@@effdotsh can't you extract necessary info from unity with some additional code?

  • @Alice8000
    @Alice8000 Год назад

    yea nice. i want to say negative comments but i wont. *Heart emoji*

  • @blindender9979
    @blindender9979 2 года назад

    Make some ai play a turn based game xD

  • @clunkye8053
    @clunkye8053 Год назад +2

    Clickbait

  • @oliverremis1509
    @oliverremis1509 2 года назад

    15