Пікірлер

  • @SebastianLague
    @SebastianLague3 жыл бұрын

    Hey everyone, hope you enjoy the video! Quick note - I noticed some slightly distracting compression issues after uploading, where squares of the chess board would sometimes blur together and flicker a bit. The only solution I could find was upscaling to 4k, so if you have the bandwidth I'd recommend watching in 1440 or 2160p. By the way if you'd like to play against the AI, you can find downloads here: sebastian.itch.io/chess-ai And source code for the project is over here: github.com/SebLague/Chess-AI

  • @swordsmanbaby9520

    @swordsmanbaby9520

    3 жыл бұрын

    Thank you

  • @savawhatever3092

    @savawhatever3092

    3 жыл бұрын

    damn you upscaled a video to 4k just so we could see the chess board better

  • @SmoothOperator739

    @SmoothOperator739

    3 жыл бұрын

    Nice more C O N T E N T.

  • @ananttiwari1337

    @ananttiwari1337

    3 жыл бұрын

    Awesome!

  • @reecegarthwaite4905

    @reecegarthwaite4905

    3 жыл бұрын

    Are you going to make more videos on the procedural moons and planets? It was my favourite series

  • @jacobbradshaw995
    @jacobbradshaw9953 жыл бұрын

    The sad thing about playing against your own creation is that you feel depressed whether you win or lose.

  • @thedude4039

    @thedude4039

    3 жыл бұрын

    No, I would be very happy to lose.

  • @Phosdoq

    @Phosdoq

    3 жыл бұрын

    @@thedude4039 XDD

  • @EatYourVegs

    @EatYourVegs

    3 жыл бұрын

    Imagine how Gary Kasparov feels.

  • @brockmann4815

    @brockmann4815

    3 жыл бұрын

    @Eric Lee then the ai needs to get better xD

  • @hapainess3636

    @hapainess3636

    3 жыл бұрын

    @@brockmann4815 or u are stronk as magnus carlsen

  • @sevret313
    @sevret3133 жыл бұрын

    Being able to castle with an opponents piece after it takes a rook is definitely something that should be become an official variant.

  • @MrJacqques

    @MrJacqques

    3 жыл бұрын

    Yea, when he showed that I couldn't help but think: Neat, I want that.

  • @neryanatanov385

    @neryanatanov385

    3 жыл бұрын

    That was the funniest thing I've seen in my life

  • @djjimmaster8261

    @djjimmaster8261

    3 жыл бұрын

    I thoight so too haha

  • @Salman-os7pr

    @Salman-os7pr

    3 жыл бұрын

    Definetely!

  • @carlocruz5345

    @carlocruz5345

    3 жыл бұрын

    We can only hope that they will implement that on the next patch.

  • @shriram5494
    @shriram5494 Жыл бұрын

    7:00 "Plays moves completely at random", Whips out Sicilian Defence

  • @burakalp34

    @burakalp34

    Жыл бұрын

    Computer knows something

  • @louisrobitaille5810

    @louisrobitaille5810

    Жыл бұрын

    Tbf, a LOT of "set of moves" in chess that have names, so you're bound to land on something, no matter what you do 🤷‍♂️.

  • @shriram5494

    @shriram5494

    Жыл бұрын

    @@louisrobitaille5810 but the Sicilian is particularly potent. It might possibly be the best response from black to e4.

  • @atg5021

    @atg5021

    Жыл бұрын

    @@louisrobitaille5810 yea, basically the two main responses to 1. e4 are e5 and the Sicilian. Although the Caro Kann and French exist, at supercomputer level, they are somewhat disputed. Thus, c5 or e5 are likely to be the best responses.

  • @masteryooda9087

    @masteryooda9087

    Жыл бұрын

    Some weird closed Sicilian variation

  • @zarblitz
    @zarblitz2 жыл бұрын

    I love that castling bug. It's such a great example of computers doing exactly what you tell them to, for better or for worse.

  • @bettercalldelta

    @bettercalldelta

    2 жыл бұрын

    Computers often do what you tell them to do, but not what you want them to do.

  • @512TheWolf512

    @512TheWolf512

    2 жыл бұрын

    No, more like it's highlighting your own inadequacy in logical thinking

  • @bettercalldelta

    @bettercalldelta

    2 жыл бұрын

    @@512TheWolf512 did you ever try programming, snowflake

  • @zarblitz

    @zarblitz

    2 жыл бұрын

    @@512TheWolf512 Here's your trophy for never making a mistake.

  • @bitflipped5337

    @bitflipped5337

    2 жыл бұрын

    @@zarblitz eyy why the aggression?

  • @zeNUKEify
    @zeNUKEify3 жыл бұрын

    “This program plays random moves” Program: *Sicilian defense 2.Nc6*

  • @laytonjr6601

    @laytonjr6601

    3 жыл бұрын

    And it hang mate so proof that the Sicilian defense is bad

  • @urmomisgaylmaoo3114

    @urmomisgaylmaoo3114

    3 жыл бұрын

    @@laytonjr6601 somebody did too

  • @gustavopineda9681

    @gustavopineda9681

    3 жыл бұрын

    @@laytonjr6601 sicilian is the best kid

  • @yigit-nh2vn

    @yigit-nh2vn

    3 жыл бұрын

    @@gustavopineda9681 it's joke,stop calling randoms kid idiot

  • @gustavopineda9681

    @gustavopineda9681

    3 жыл бұрын

    @@yigit-nh2vn wow so toxic 3 years old

  • @leumasme
    @leumasme3 жыл бұрын

    Maybe the real treasure was the bugs we made along the way.

  • @PantheraLeo04

    @PantheraLeo04

    3 жыл бұрын

    If that's true then my code is Montecristo

  • @ghostriley22

    @ghostriley22

    3 жыл бұрын

    I feel the bugs teach us more than most of the other aspects of programming

  • @sethsrc792

    @sethsrc792

    3 жыл бұрын

    @@ghostriley22 programming is all about solving problems, so bugs are really important

  • @divat10

    @divat10

    3 жыл бұрын

    @@sethsrc792 yes but everybody hates them

  • @thatoneguy9582

    @thatoneguy9582

    3 жыл бұрын

    -Bugsnax, probably

  • @Pablo360able
    @Pablo360able2 жыл бұрын

    "Let's pit the computer against itself." *computer draws* Ah, I see it's already reached grandmaster level.

  • @delusionalfusional8409

    @delusionalfusional8409

    2 жыл бұрын

    World champion level*

  • @TheUncutAngel

    @TheUncutAngel

    2 жыл бұрын

    🤣🤣🤣

  • @CosplayZine

    @CosplayZine

    2 жыл бұрын

    Good form Pablo

  • @LucasGleason

    @LucasGleason

    2 жыл бұрын

    lol

  • @slevinchannel7589

    @slevinchannel7589

    2 жыл бұрын

    @@CosplayZine No one ever coded a HunterxHunter-Game or even Mod. Tht makes me sad.

  • @stevemurch3245
    @stevemurch3245 Жыл бұрын

    Amazing job (1) programming, (2) explaining the programming, and (3) still finding the time to make the horse whistle in your video

  • @PiastTorun
    @PiastTorun3 жыл бұрын

    An AI that plays random moves starts with a classical Sicilian, I think this AI has a future.

  • @laytonjr6601

    @laytonjr6601

    3 жыл бұрын

    The first thing to learn is to not hang mate in 1

  • @FauziGMNG21

    @FauziGMNG21

    2 жыл бұрын

    Nope, still chess yet.

  • @anguskurts8244

    @anguskurts8244

    2 жыл бұрын

    I thought that was the old Sicilian

  • @Shiver197

    @Shiver197

    2 жыл бұрын

    **immediately follows it with h5**

  • @skatatataatje
    @skatatataatje3 жыл бұрын

    This face reveal surprised me. Who knew a cat could code?

  • @juliendev2191

    @juliendev2191

    3 жыл бұрын

    Im not a cat

  • @matheuscirillo36

    @matheuscirillo36

    3 жыл бұрын

    @@juliendev2191 Im here live

  • @conordunne3831

    @conordunne3831

    3 жыл бұрын

    He's also a lawyer on the side.

  • @badgoogle9938

    @badgoogle9938

    3 жыл бұрын

    Even worst, the cat gave up. I thought it was still a winning postition

  • @Diaryofaninja

    @Diaryofaninja

    3 жыл бұрын

    It’s not a cat...you could see his face...

  • @GopherAtl
    @GopherAtl Жыл бұрын

    I now firmly believe that if a piece captures your rook at a time when you otherwise could have castled, you should be able to respond by castling with the capturing piece. Assuming it's a bishop or knight, of course, anything else that would be checkmate. I have no idea what impact this rule change would have on the game but I want to find out!

  • @matiasgarciacasas558

    @matiasgarciacasas558

    Жыл бұрын

    It would only affect the game in very specific cases. If your oponent captures your rook, they probably broke through your defense, and it wouldn't be a good idea to castle on that side of the board.

  • @fishraposo7192

    @fishraposo7192

    Жыл бұрын

    @@matiasgarciacasas558 do it for science

  • @enoua5222

    @enoua5222

    Жыл бұрын

    I accidentally had a bug like this on a chess game I made-- it checked that you had not moved the rook, but didn't check if that rook was still on the board. I found out about it when the AI used it to get out of a lost position

  • @enoua5222

    @enoua5222

    Жыл бұрын

    Okay, I just got to that part of the video, lol, guess I had the exact same bug

  • @BlueZirnitra

    @BlueZirnitra

    Жыл бұрын

    @@matiasgarciacasas558 This. If your opponent is taking your rook on its home square, you're probably losing big time.

  • @MicroDemi
    @MicroDemi2 жыл бұрын

    I love the content presentation you came up with. I'm abysmal at coding, but I still found this super fascinating.

  • @solarsystem5286
    @solarsystem52863 жыл бұрын

    When he makes a bot that plays randomly, but then it plays the Sicilian Defense 😐

  • @amaice

    @amaice

    3 жыл бұрын

    HA C5 IS FOR FOOLS

  • @oranellis

    @oranellis

    3 жыл бұрын

    I thought he was trolling when it went c5 Nc6

  • @rafexrafexowski4754

    @rafexrafexowski4754

    3 жыл бұрын

    Wait, he coded you a few monthes ago...

  • @ceddyd

    @ceddyd

    3 жыл бұрын

    @@rafexrafexowski4754 ha nice.

  • @IbraHere

    @IbraHere

    3 жыл бұрын

    Yeah i was a bit suspicious at first

  • @windingsarcasm9046
    @windingsarcasm90463 жыл бұрын

    Lets start with a computer who plays completely randomly Computer: *busts out with the Sicilian defence*

  • @efulmer8675
    @efulmer86752 жыл бұрын

    19:00 The fact that the AI was smart enough to solve the King and Queen vs King and Pawn on a winning square for the King and Queen made me very happy. But a better test would be to give it the Bishop pawn and allow the AI to decide to stalemate or resign and see if it does either in that position.

  • @user-dh8oi2mk4f

    @user-dh8oi2mk4f

    5 ай бұрын

    It’s never going to resign. It can always just take the pawn and get a fraw

  • @efulmer8675

    @efulmer8675

    5 ай бұрын

    @@user-dh8oi2mk4f A properly written one wont, but thats why you run tests in the first place: if it does resign in a position where it can force a draw then theres a bug in the code.

  • @user-dh8oi2mk4f

    @user-dh8oi2mk4f

    5 ай бұрын

    @@efulmer8675 engines don’t resign

  • @user-dh8oi2mk4f

    @user-dh8oi2mk4f

    5 ай бұрын

    Not unless you specifically program a resign system in

  • @efulmer8675

    @efulmer8675

    5 ай бұрын

    @@user-dh8oi2mk4f I know that. Engines don't write themselves yet.

  • @theefmi4810
    @theefmi48102 жыл бұрын

    This video was the reason why I picked up chess 8 months ago. Thank you for making this video and giving me an awesome new hobby which I am still entirely obsessed over. :)

  • @Azurade
    @Azurade3 жыл бұрын

    “This bot plays moves at random” *plays first 2 moves of the mainline Sicilian defence, the most popular defence among gms*

  • @laytonjr6601

    @laytonjr6601

    3 жыл бұрын

    Then, it hangs mate in 1 so by average, it's a good bot

  • @sonetagu1337

    @sonetagu1337

    2 жыл бұрын

    What that means is, Sicilian = random bullshit go!

  • @jackthehacker05
    @jackthehacker053 жыл бұрын

    Hey, it's coding man with the nice accent.

  • @Eichro

    @Eichro

    3 жыл бұрын

    guy sounds like male Tibees

  • @thatperson9478

    @thatperson9478

    3 жыл бұрын

    Yeahhh!

  • @mircoheitmann

    @mircoheitmann

    3 жыл бұрын

    and the nice cat too

  • @daorklis5305

    @daorklis5305

    3 жыл бұрын

    Not with thicc Indian accent huh?

  • @nio4260

    @nio4260

    3 жыл бұрын

    @@daorklis5305 how is that an Indian accent

  • @Love.Masculinity
    @Love.Masculinity Жыл бұрын

    hey, 29:06 I HAVE made it till the end, and let me tell you that The video, the jokes you throw in, the creativity you've put into this is all amazing... It really takes so much of time to firstly code such a game where they are endless possibilities + make it all alone + making the youtube video for it and grinding to all the information for the game, studying it... greaat work!!!! Hope your hardwork pays off!!❤

  • @swiftfated
    @swiftfated Жыл бұрын

    I love how the iterative search being faster is so counterintuitive, but ends up making sense when you hear the explanation

  • @enochou
    @enochou3 жыл бұрын

    21:37 "If we want the speed, we have to live in fear". That quote is at least depth 6.

  • @Freakschwimmer

    @Freakschwimmer

    3 жыл бұрын

    Yea, but I dont quite agree with the quote. What if we use the integer (which is basically a hash of the position) to find possible transposition candidates, and then check the candidates by using the FEN-String? We basically get the speed of the hash and the uniqueness of the FEN.

  • @UnboxTheCat

    @UnboxTheCat

    3 жыл бұрын

    ​@@Freakschwimmer I don't think checking the collision by comparing with FEN string is worthy at all, here are some of my arguments: #1 it is almost impossible to reverse the hash back to the original chess position, that's why it is called hashing. #2 even if reversing the hash is possible, converting it back to FEN string is just ridiculously expensive. You have to go through 8*8 = 64 elements and generate a new FEN string based on that. #3 Comparing these two FEN tags are also expensive, imagine running cmp instructions by up to 32 times just to check these two strings.

  • @randomizednamme

    @randomizednamme

    2 жыл бұрын

    @@UnboxTheCat you don’t need to reverse it, you just store the FEN alongside your real data, like a dictionary you would have buckets instead of a single element in case of a collision

  • @UnboxTheCat

    @UnboxTheCat

    2 жыл бұрын

    then in that case why dont u just store the FEN instead? Because in CCRL or other chess emgine competition only allows you to have a tt table size of 256/512 MB, and you will NOT have enough room if u store along the FEN. Plus in order to store the FEN, u have to generate the FEN for each position as well, which is really slow. As a result, I have never seen any engine's imeplementation like that(or even if they do, their depth won't go past 8 without aggressive pruning I promise you). Modern top engine usually just store the Zobrost hash value % transposition table size as key, and the position eval, hash move, and alpha beta flag, as you may see in stockfish's source code. Chess engine requires good performance in terms of speed, not good looking fancy code that uses std hashmap. Correct me If I am wrong

  • @sebaaa15

    @sebaaa15

    2 жыл бұрын

    damn. the minute you 'tagged' is the time that pope John Paul 2 died (sorry for bad english)

  • @PsychoPath89
    @PsychoPath893 жыл бұрын

    11:00 , i LOVE those moments in coding when you think you prevented every imaginable edge case and not by creativity but sheer rule following, the program manages to find another edge case that you are baffled by its existence...

  • @mads_in_zero

    @mads_in_zero

    3 жыл бұрын

    Bot: I did exactly what you told me to, papa! Programmer: [trying not to sound annoyed] I know you did, sport.

  • @raheemkhan2007

    @raheemkhan2007

    3 жыл бұрын

    so true

  • @randompotato8105

    @randompotato8105

    2 жыл бұрын

    then u smash ur head into a wall "dangit he got me again"

  • @Seven-ez5ux

    @Seven-ez5ux

    2 жыл бұрын

    love? more like hate

  • @JonahNelson7

    @JonahNelson7

    2 жыл бұрын

    @@Seven-ez5ux this is what separates true programmers from posers

  • @Hankathan
    @Hankathan2 жыл бұрын

    I absolutely love the iterative deepening idea! I was equally confused and angry at first, but when you brought up alpha beta pruning again, a little light bulb went off in my brain. These counterintuitive solutions and aha moments are some of my favorite things!

  • @marcoVGpolo
    @marcoVGpolo2 жыл бұрын

    I really appreciate the official FIDE stream intermission/commentary music being played at 16:00 . Nice touch.

  • @juanibiapina
    @juanibiapina3 жыл бұрын

    Completely random adversary goes ahead and plays a Sicilian.

  • @MrGogoblaster

    @MrGogoblaster

    3 жыл бұрын

    Lol I thought that was funny

  • @shadower2763

    @shadower2763

    3 жыл бұрын

    Time stamp pls?

  • @makytondr8607

    @makytondr8607

    3 жыл бұрын

    Exactly 😂

  • @j.thomas1420

    @j.thomas1420

    3 жыл бұрын

    I was searching for that comment...!

  • @Ivan_1791

    @Ivan_1791

    3 жыл бұрын

    True, I was like wtf.

  • @pesterenan
    @pesterenan3 жыл бұрын

    Because of the colors in the thumbnail I thought this would be a Code Bullet's video.

  • @AhabHyde

    @AhabHyde

    3 жыл бұрын

    Me too 😂

  • @itisrandomidk903

    @itisrandomidk903

    3 жыл бұрын

    Wat? Pesterenan here???????

  • @jovianarsenic6893

    @jovianarsenic6893

    3 жыл бұрын

    Tbf he did a chess video a while ago

  • @christianschweda2530

    @christianschweda2530

    3 жыл бұрын

    Jup, same here. 😅

  • @zombieaerospace5005

    @zombieaerospace5005

    3 жыл бұрын

    me too

  • @alphac0d3r3d3
    @alphac0d3r3d32 жыл бұрын

    This is a really well constructed video. I love the in depth yet simple nature of explaining the code while writing it. I’m learning C++ myself.

  • @Padyatra
    @Padyatra2 жыл бұрын

    I’m not a programmer, nor am I much of a chess fan, but I was amazed how you managed to make this seemingly boring topics quite interesting. Well done.

  • @Odisher7
    @Odisher73 жыл бұрын

    2:44 +pick a pice and put it somewhere -Okay, i pick a piece and put a copy of it somewhere +No, you have to delete the piece -Oh, okay, delete the piece, gotcha +No, not like that

  • @OrangeC7

    @OrangeC7

    3 жыл бұрын

    Don't you love how obedient computers are

  • @Ethan-lx1vv

    @Ethan-lx1vv

    3 жыл бұрын

    @@OrangeC7 Computers are just smartasses that purposely do exactly what you say and not what you want them to do just to annoy you.

  • @leemarshal3329

    @leemarshal3329

    3 жыл бұрын

    @@Ethan-lx1vv haha lol yeah - like the kid that you tell to 'zip it' and they proceed to redo up their flies.

  • @georgesheng5500
    @georgesheng55003 жыл бұрын

    "I'll go ahead and fix that quickly" "I'm rapidly losing faith in my ability to code anything" Story of any programmers life while debugging

  • @pedroduran8927

    @pedroduran8927

    2 жыл бұрын

    truth, that's my mind sometimes in work

  • @oliveryt7168

    @oliveryt7168

    2 жыл бұрын

    "I'll debug it quickly" ... 3 hours later... "... it works."

  • @therobloxiangang3218

    @therobloxiangang3218

    2 жыл бұрын

    @@oliveryt7168 except there are 60 more bugs

  • @Mike-we3rb

    @Mike-we3rb

    2 жыл бұрын

    Let zuckerburg read this and he’ll show you his 180billion

  • @Sumirevins

    @Sumirevins

    Жыл бұрын

    I am also a fellow Junior Dev programmer can confirm

  • @coolperson8423
    @coolperson84232 жыл бұрын

    I have been struggling to get a well structured solution for a virtual chess board, and you make it look so easy, thanks for the great vid!

  • @jada90
    @jada902 жыл бұрын

    27:50 yes the explanation made sense and it's fascinating, I still can't believe so much optimization comes from the extra pruning

  • @Magnogen
    @Magnogen3 жыл бұрын

    I like to play a little game called "How will Sebastian implement this coding adventure into his Solar System simulation?" So far I'm not sure about this one.

  • @bogiesmigforl1

    @bogiesmigforl1

    3 жыл бұрын

    Secret chess minigame on hidden planet.

  • @jaimefernandez3444

    @jaimefernandez3444

    3 жыл бұрын

    He could make some sort of evil empire ruled by AI that presents chess as a riddle game the main character has to win to save the galaxy.

  • @el2746

    @el2746

    3 жыл бұрын

    @@jaimefernandez3444 So... No game no life? Basically?

  • @actuallymediocreoverclocking

    @actuallymediocreoverclocking

    3 жыл бұрын

    Maybe when a planet goes to generate plants it would use a grid mesh over the surface of the planet. Then each type of plant would have a sort of value and you cant have too much value in a certain sized area, and due to environmental constraints certain plants cant spawn in certain areas. Maybe the way it goes about spawning them in would follow a similar pattern of looking ahead in time with spawning to maximize the total value of plants on the planet? This is about the best I can come up with and I'm not sure it makes much sense. . .

  • @jonathanmoothart8038

    @jonathanmoothart8038

    3 жыл бұрын

    A minigame? or maybe an easter egg for viewers? Either way, I can't wait for new SSS videos (Wink Wink Sebastian)

  • @Wurstschaedel
    @Wurstschaedel3 жыл бұрын

    *Builds a universe with simulated gravity, procedural Planetary Features and light refracting effects* *struggles with drag and drop*

  • @Pinao212

    @Pinao212

    3 жыл бұрын

    Too accurate, drag and drop is a nightmare. Especially in UI space where hierarchy order determines draw depth

  • @cinegraphics

    @cinegraphics

    3 жыл бұрын

    When God coded our solar system, he also had problems with drag'n'drop. Which even resulted in loss of a planet. Why else do you think we now have an asteroid belt between Mars and Jupiter, instead of Phaeton.

  • @sir_slimestone3797

    @sir_slimestone3797

    3 жыл бұрын

    Sounds about right

  • @teenspirit1

    @teenspirit1

    3 жыл бұрын

    you need state machines for the latter. Only nerds know state machines.

  • @Phosdoq

    @Phosdoq

    3 жыл бұрын

    @@cinegraphics If he wanted to hide his bugs, we wouldn't enjoy the video and it would be like a perfect coding which is unnatural like an Indian tutorial or something. We humans struggle in the slightest things no matter what skills we acquired so far.

  • @seanfabry700
    @seanfabry7002 жыл бұрын

    This has been the most fascinating piece of content I have seen in a while.

  • @DavidBarile
    @DavidBarile Жыл бұрын

    Thank you for such a fascinating journey - interesting, funny, well-edited, clearly stated. I'm a mid-level coder myself (Unity C#), and tho I can't follow some of your deeper level coding, I got the gist, and enjoyed the theoretical path you sketched out for us. You can rest proud of creating not only a great AI, but also a high quality video for the world. Thank you!

  • @justgame5508
    @justgame55083 жыл бұрын

    It’s nice to see your failures too, sometimes when I make stupid mistakes on what seems like an easy task I wonder “do others make these mistakes or am I just dumb”😂

  • @kaksspl

    @kaksspl

    3 жыл бұрын

    Yes. For this reason I love videos that not only show projects but also the adventure behind them with all the ups and downs. It reminds me that pros are still people who still make mistakes. When I inevitably compare myself to them it's not just "they are so much better than me" but more like "be patient like them and dig into it until you succeed like them".

  • @Henrix1998

    @Henrix1998

    3 жыл бұрын

    You also don't see all the coding mistakes here, it's typing out the final good code most of the time

  • @kaksspl

    @kaksspl

    3 жыл бұрын

    @@Henrix1998 My guess is that's so when somebody follows the video to recreate the project and learn from it, they don't copy the bad code.

  • @danisob3633

    @danisob3633

    3 жыл бұрын

    both

  • @cinegraphics

    @cinegraphics

    3 жыл бұрын

    We're all dumb

  • @ShrubRustle
    @ShrubRustle3 жыл бұрын

    Years ago, on Scratch, the big trend was chess projects. There were a lot of really good ones, that constrained both sides to legal moves. There was one thing nobody had managed, though - an AI opponent. This was a whole thing, Scratchers talking about if it was even possible, etc. Then, a user named Midecah showed up. No previous projects, no avatar, nothing. Midecah uploads the best chess project anyone had ever seen on Scratch. It had a detailed description, pseudo-3d chess pieces... and an AI opponent. Hell, it even had a _loading bar._ It was a bit buggy, but the scope of the project made that a bit of an inevitability. Midecah hasn't uploaded anything since, nor have they responded to comments or anything. They just... showed up at the perfect time, gave us the holy grail of the current trend, and rode off into the sunset. Godspeed, Midecah, Godspeed.

  • @farrankhawaja9856

    @farrankhawaja9856

    3 жыл бұрын

    Wow, what a story! At first I was thinking that making a really good chess game is easy but then I heard of the Loading Bar...

  • @harleykf1

    @harleykf1

    3 жыл бұрын

    Should probably post the scratch AI I made. It's probably like 800 elo but it's still a fun opponent

  • @KenHilton

    @KenHilton

    3 жыл бұрын

    For context, "Years ago" is MANY years ago. Midecah made their AI in 2009. It's also broken as of Scratch 3.0, but you can still play it in Forkphorus: forkphorus.github.io/#569176

  • @cabbler

    @cabbler

    3 жыл бұрын

    That's amazing. Scratch has such an impressive development community hidden under the childish surface, kinda like roblox.

  • @Merthalophor

    @Merthalophor

    3 жыл бұрын

    @@cabbler they definitely are children though "under the surface"

  • @DAWEAP1
    @DAWEAP12 жыл бұрын

    This is amazing! Seriously so much work and very well explained.

  • @CobraTheSpacePirate
    @CobraTheSpacePirate Жыл бұрын

    Suckerpinch video from a while back was AWESOME! I saw that a while ago!

  • @bossyman10
    @bossyman103 жыл бұрын

    Can we just talk about how he’s really good in chess. For being a developer and seeing him actually beating the bot and making really nice moves, I’m impressed a lot lol

  • @gustavopineda9681

    @gustavopineda9681

    3 жыл бұрын

    he's not good he made many mistakes

  • @sussybaka6076

    @sussybaka6076

    3 жыл бұрын

    @@gustavopineda9681 he's pretty decent he was playing quite well

  • @seharpanesar5132

    @seharpanesar5132

    3 жыл бұрын

    26:53 that bishop sacrifice was pretty sweet tbh. It won him the game

  • @sussybaka6076

    @sussybaka6076

    3 жыл бұрын

    @Adam Taylor I mean compared to other non-chess content creators I'd say he's pretty ok

  • @sanjivinsmoke9154

    @sanjivinsmoke9154

    3 жыл бұрын

    @Adam Taylor see you're comparing him to high stat players. For the normal population 1200 elo is quite decent

  • @ScibbieGames
    @ScibbieGames3 жыл бұрын

    1 Year of complete silence later: "Coding Adventure: Go AI"

  • @nitroflap

    @nitroflap

    3 жыл бұрын

    The same idea.

  • @stuffofmaking

    @stuffofmaking

    3 жыл бұрын

    @@nitroflap Go would need to use a widely different stratagy for AI as it's not even remotely viable to do an brute force search as in chess. The game tree is unreasonable amounts larger. More novel ideas needs to be introduced.

  • @nitroflap

    @nitroflap

    3 жыл бұрын

    @@stuffofmaking I know that, I'm a go player.

  • @the.invincible.9542

    @the.invincible.9542

    3 жыл бұрын

    ​@@nitroflap Until recently, it was thought to be impossible for AIs to beat human professionals at Go. But Machine Learning algorithms make it easier. This, however, isn't Machine Learning but simply bruteforcing. So it is not the same idea.

  • @nitroflap

    @nitroflap

    3 жыл бұрын

    @@the.invincible.9542 Well yeah, but we, in theory can create a really good Go AI, without ML.

  • @annasablon3068
    @annasablon30682 жыл бұрын

    i really dont understand anything form this video but I love doing stuff with you rambeling in the background, I find your voice very soothing. sometimes I come to check what you are actually saying and there are some gem moments in these videos!! keep up the good work :D))

  • @ramonpg98
    @ramonpg982 жыл бұрын

    This video is absolutely brilliant mate. You inspire me to improve my code and to accept this kind of challenges Just amazing, loving to see more content of this quality in your channel ❤️

  • @friiiz4907
    @friiiz49073 жыл бұрын

    The fact that I watched this whole video while knowing not a single thing about chess just shows how much I love your videos

  • @SebastianLague

    @SebastianLague

    3 жыл бұрын

    :)

  • @Bebs_

    @Bebs_

    3 жыл бұрын

    Can’t agree more

  • @arnonuhmer3771

    @arnonuhmer3771

    3 жыл бұрын

    +1

  • @Nerdwithoutglasses

    @Nerdwithoutglasses

    3 жыл бұрын

    The fact that I watched this whole video while knowing not a single thing about coding just shows how much I love chess (Honestly, I didn't watch the whole video and I didn't search for this)

  • @lunab541

    @lunab541

    3 жыл бұрын

    I don't even code and I love Coding Adventures :D

  • @lillogic7358
    @lillogic73583 жыл бұрын

    I am actually learning a programming language at the moment, and seeing what you can do with programming gives me so much motivation.

  • @orhanmadiassani

    @orhanmadiassani

    2 жыл бұрын

    Keep going!

  • @LucasGleason

    @LucasGleason

    2 жыл бұрын

    L

  • @gachastorys5129

    @gachastorys5129

    2 жыл бұрын

    @@LucasGleason why say L?

  • @LucasGleason

    @LucasGleason

    2 жыл бұрын

    @@gachastorys5129 I have no idea why I said that

  • @LucasGleason

    @LucasGleason

    2 жыл бұрын

    @@gachastorys5129 sooo ask my past self

  • @joeldick6871
    @joeldick68712 жыл бұрын

    Most amazing thing to me was how the AI suddenly became really good at simple endgames as soon as you added that endgame tweak.

  • @BRich057
    @BRich0572 жыл бұрын

    I love this video and really all your videos. Your voice is calming. Your programming with explanations is teaching and inspiring. Plus your world creation Celestial to say the least. You fit your name. In the never ending story. That is what you remind me of. And I mean that with every compliment and utmost of respect. Please do more.

  • @user-rf2dr4gd9s
    @user-rf2dr4gd9s3 жыл бұрын

    3:11 Sebastian is now officaly the best chess player in world.

  • @bennywang5752
    @bennywang57523 жыл бұрын

    I swear, a few weeks ago I wrote a pretty basic chess program... fast forward to now, you talked about this castling with opponents pieces glitch you had... a small voice went off in my head, saying "ha, rookie mistake! wait... this glitch isn't on your game of chess, right... ". Sure enough, after testing my game of chess again, I had the exact same glitch.

  • @Krugster

    @Krugster

    Жыл бұрын

    A year later. Last month I made my chess program that has the same problem lmao

  • @abdulazizali5259
    @abdulazizali5259 Жыл бұрын

    Everything on this channel is perfect. I learned a lot from you, thanks a lot.

  • @vevericac3294
    @vevericac32942 жыл бұрын

    you are so underrated. you make great content and your games are of good quality and you dont make people subscribe, you just get to the point of the video. keep up the work!

  • @jasmijnisme
    @jasmijnisme3 жыл бұрын

    5:41 Cat decides to forfeit the game as the first move, interesting choice.

  • @hye181

    @hye181

    Жыл бұрын

    i heard magnus studied him closely

  • @absence9443
    @absence94433 жыл бұрын

    This channel is gold. Its not only the great explanations and step by step development that someone can replicate for learning, but also including mishaps and nice accents of humor.

  • @yato3335
    @yato33352 жыл бұрын

    I like how you calmly explain the bugs that probably took you hours and hours to find

  • @NicolasPare
    @NicolasPare2 жыл бұрын

    Great video and I do love the little sound effects throughout.

  • @victorzahler6175
    @victorzahler61753 жыл бұрын

    Hello Sebastian Lague, I have a question: Can I use your atmosphere shader (from that solar system trilogy you made) for my game? I promise to put your name in the credits

  • @SebastianLague

    @SebastianLague

    3 жыл бұрын

    For sure. Good luck with your game!

  • @victorzahler6175

    @victorzahler6175

    3 жыл бұрын

    @@SebastianLague Thanks : )

  • @victorzahler6175

    @victorzahler6175

    3 жыл бұрын

    @Anmol Pandey no worries, I will : )

  • @pranitp.29

    @pranitp.29

    3 жыл бұрын

    So where's the development process at till date? I'm very curious to play your game :)

  • @victorzahler6175

    @victorzahler6175

    3 жыл бұрын

    @@pranitp.29 sorry man, gave up on it due to college

  • @maxofcourse
    @maxofcourse3 жыл бұрын

    3:10 the classic Lague Opening, king takes king is a master chess maneuver

  • @switch1e
    @switch1e2 жыл бұрын

    I wish I found your channel a year ago. It would have helped me so much in my Artificial Intelligence classes 🤣

  • @pabandasvlog
    @pabandasvlog Жыл бұрын

    Kudos for the great effort. Things are getting more complex step by step.

  • @bennettw8666
    @bennettw86663 жыл бұрын

    "Completely at random" "Opens with the sicillian"

  • @rezaka116
    @rezaka1163 жыл бұрын

    11:08 - I honestly laughed out loud at this part

  • @log234

    @log234

    3 жыл бұрын

    Me too, it took me by such surprise! When you look at it, it makes so much sense, but it's just not what you expect.

  • @user-zg4bk6rv1q

    @user-zg4bk6rv1q

    3 жыл бұрын

    I still am 😂😂😂

  • @FauziGMNG21

    @FauziGMNG21

    2 жыл бұрын

    Meh

  • @cxlappsed1548

    @cxlappsed1548

    2 жыл бұрын

    you have a terrible sense of humor

  • @taureon_

    @taureon_

    2 жыл бұрын

    HmMmMmMmMmMm

  • @ThraxxMediaOfficial
    @ThraxxMediaOfficial Жыл бұрын

    This is truly a wonderful video! So informative and well made, I actually come back to re-watch it every so often, just for the pure entertainment value. :) Aside from that... it has inspired me to try my hand at creating a chess engine of my own, in C++ and from scratch - I'm calling it "DLC-LUNA" and I'm pretty happy with the results so far. About a month's worth of work was put into the project, and I'm at a point where it can easily defeat a 1500-1600 ELO StockFish bot. Now, of course that's not really "good" by any means... more like, pretty much average. But it's more than I ever hoped to achieve in this short amount of time anyway. The last thing I'd need to add would be an opening book... and from there, it's basically just computing speed optimization. But as I said: I didn't even expect myself to get _anything_ done to begin with, so this is already a huge success :D all thanks to your inspiration. Thank you. :)

  • @Beyond_The_Board
    @Beyond_The_Board6 ай бұрын

    Very impressive and clean execution, definitely will try refactoring some code in my game based on this!

  • @lucasgrape8576
    @lucasgrape85763 жыл бұрын

    Chess: has pieces of two colors Sebastian: Let's use two bits for that Great Coding Adventure! When is your Go AI coming? :)

  • @jangohemmes352

    @jangohemmes352

    3 жыл бұрын

    Thought the same, but I think he uses it for the extra state of no color

  • @SebastianLague

    @SebastianLague

    3 жыл бұрын

    I’ll need to learn how to play Go first! :D The extra bit is just so I can have ‘no colour’ as an option. Was mildly useful in some cases to be able to represent a pure piece type, with no colour associated.

  • @zarhockk

    @zarhockk

    3 жыл бұрын

    @@SebastianLague What was the need for those no color/pure pieces? I think a lot of us were puzzled by that as well.

  • @Ausstein

    @Ausstein

    3 жыл бұрын

    @@zarhockk or it can have both colours, schrödingers piece

  • @cinegraphics

    @cinegraphics

    3 жыл бұрын

    Also, it's useful if you wanna have 3-player chess. Or even 4-player. Hell, give it a whole byte so we can have last man standing.

  • @bradleypascall9372
    @bradleypascall93723 жыл бұрын

    The way you elongate the final syllable of some words makes you sound like an old school film villain/vampire/evil wizard (it's awesome)

  • @clownsheep22
    @clownsheep222 жыл бұрын

    Man the amount of work you put into this video and the chess programming of course is impressive!

  • @maximilianmorse9697
    @maximilianmorse96972 жыл бұрын

    5:54 Holy hell

  • @salted3507
    @salted35073 жыл бұрын

    Alternate title: How I created lichess

  • @comicfan3133
    @comicfan31333 жыл бұрын

    I just love 11:00 it´s interesting how a small mistake in programming makes such weird moves possible.

  • @CodeLife_12
    @CodeLife_122 жыл бұрын

    Very interesting video! The approach you talk about around the 28:00 mark reminds me of dynamic programming. Keep up the videos, they are really fun to watch!

  • @markusoestreich8695
    @markusoestreich86952 жыл бұрын

    Very very interesting from so many aspects. Thank you for posting this video. Awesome!

  • @Ninterd2
    @Ninterd23 жыл бұрын

    Catastrophically misjudging almost every situation? Sounds like my chess.

  • @moopsish
    @moopsish3 жыл бұрын

    "The computer thinks its doing fine until it realizes it needs to start sacking pieces to prevent a checkmate". same computer same..

  • @MrRajiv256
    @MrRajiv2568 ай бұрын

    I remember coding my chess engine when I was a sophomore and came across several problems that you mentioned. So fun.

  • @TDOLLA
    @TDOLLA2 жыл бұрын

    this is an incredibly well made video, Bravo. This is the perfect video and subject level to show someone what programming is.

  • @Shadow__X
    @Shadow__X3 жыл бұрын

    Finally... This made my day even before watching...

  • @franklimburns7938

    @franklimburns7938

    3 жыл бұрын

    Same

  • @pomi1298

    @pomi1298

    3 жыл бұрын

    i came before watching this

  • @Shadow__X

    @Shadow__X

    3 жыл бұрын

    @@pomi1298 idk if i understand that correctly but if I do, that's disgusting

  • @santoshjackman

    @santoshjackman

    3 жыл бұрын

    Programming language..?

  • @pomi1298

    @pomi1298

    3 жыл бұрын

    @@Shadow__X ???

  • @alexthi
    @alexthi3 жыл бұрын

    7:49 Ah yes, a very common endgame situation.

  • @greggreg4649
    @greggreg46492 жыл бұрын

    A way to make the pawn structure thing better is by making it more favorable to have pawns in the center when there are more peices and try to get them to protect eachother

  • @GlobalWarmingSkeptic
    @GlobalWarmingSkeptic2 жыл бұрын

    Thank you for this. As someone who loves programming machine learning AI, I've always wanted to program a chess network that uses Q learning to both memorize board positions, as well as piece relationships but my weakness in code is tree searches because I've never programmed a lot of things that used searches, and in chess it's unavoidable and you have to use them. the explanation of alpha pruning really helped me and your demonstration of code definitely will make the transition easier as I can see a way it's programmed so I can modify it for my own use.

  • @uheartbeast
    @uheartbeast3 жыл бұрын

    At 2:28 Is it Nf7+, Kg8, Qe8+, Qf8, Qxf8++? Also, thanks for another great video! :)

  • @matheuscirillo36

    @matheuscirillo36

    3 жыл бұрын

    Yes, it is. Superb work mate

  • @morkovija

    @morkovija

    3 жыл бұрын

    Isnt Qe8 blocked by black queen then white knight to f7 easier?

  • @SebastianLague

    @SebastianLague

    3 жыл бұрын

    Yes, that’s correct :) Happy you enjoyed the video!

  • @matheuscirillo36

    @matheuscirillo36

    3 жыл бұрын

    @@morkovija you just capture the queen after that and deliver checkmate

  • @uheartbeast

    @uheartbeast

    3 жыл бұрын

    @@morkovija That isn't mate cause the king can move to g8 since the black queen is no longer there.

  • @miroslavblagoev5887
    @miroslavblagoev58873 жыл бұрын

    when you "sneakily" took his king with yours i lost it haha

  • @zyaicob

    @zyaicob

    3 жыл бұрын

    When it took the rook and got eaten backwards by the pawn i lost my shit

  • @oruntofredrick9672

    @oruntofredrick9672

    3 жыл бұрын

    @Miroslav Blagoev The way the pawn calmly moves backwards to kill the king

  • @SkylarGlider

    @SkylarGlider

    2 жыл бұрын

    Same

  • @LucasGleason

    @LucasGleason

    2 жыл бұрын

    wait I need time stamps for these I missed a lot of the video ;-;

  • @zac9176
    @zac91769 ай бұрын

    I've been following along with your chess videos, and slowly implementing some of the various features myself in Java (Didn't end up staying with Java though). In between watching the video and reading your code, I'm always astonished about the little details that you change along the way. The one that stood out to me the most in this video is where you changed the number for the pieces after realizing that bit-wise operators would work easier if the sliding pieces were one higher than what you initially set them to, which is a very clever change. Anyhow, thank you for the little kick of motivation to refine some of my lackluster coding skills! I hope to get a bot that can at least beat me.

  • @calvindang7291
    @calvindang7291 Жыл бұрын

    The idea of using iterative deepening to control branch order for alpha-beta pruning is something I've never considered before, but that's actually a super clever trick. Now I feel like my prof should've talked about that in class.

  • @347573
    @3475733 жыл бұрын

    The best instructional video on chess programming ever!! Reasonably short, with all basic staff in place with proper level of detail to give the idea of what is this journey about... Bravo!

  • @SebastianLague

    @SebastianLague

    3 жыл бұрын

    Thanks!

  • @Ben_747
    @Ben_7473 жыл бұрын

    Great video! You should plot the ELO rating of your Chess program against each upgrade you make, e.g random moves, to basic heuristics, to the king safety and knights preferred squares etc. Might take some work but would make for a very interesting follow up video (:

  • @tylerhatfield3892
    @tylerhatfield3892 Жыл бұрын

    I've been coding for 3 weeks and 90% of this goes over my head, but I am trying hard! Great stuff and very interesting!

  • @scriptles
    @scriptles Жыл бұрын

    Awesome video, it was really enjoyable to watch. Nice work!

  • @Manalor6955
    @Manalor69553 жыл бұрын

    I just realized how Sebastian spaces the parentheses in his method calls... I can never un-see that now... I want to die...

  • @helloq5051

    @helloq5051

    3 жыл бұрын

    What have you done! Now I see it too! 😖

  • @0oEo0

    @0oEo0

    3 жыл бұрын

    Came down here to say this 😆

  • @blockedblock5203

    @blockedblock5203

    3 жыл бұрын

    I don't know code - what's wrong with it?

  • @Manalor6955

    @Manalor6955

    3 жыл бұрын

    @@blockedblock5203 It doesn't really matter. It's more like programmers ocd. Imagine of someone put a space before every period .

  • @orenjiman4577
    @orenjiman45773 жыл бұрын

    When this is ready, you should match this ai against the one by CodeBullet

  • @SebastianLague

    @SebastianLague

    3 жыл бұрын

    That'd be fun! Do you happen to know if CB's version is available anywhere?

  • @guiorgy

    @guiorgy

    3 жыл бұрын

    @@SebastianLague github.com/Code-Bullet/Chess-AI though there's this issue opened: "A fully-advanced pawn remains a pawn" so... I'd abstain lol

  • @guiorgy

    @guiorgy

    3 жыл бұрын

    @@SebastianLague Also, I'd be much more interested to see your AI against those: kzread.info/dash/bejne/dqSM25JtYaWvnKQ.html At least for the lols PS. I'd suggest watching the video at x1.5 or x1.75

  • @JDKDKDLDKDKDKDKKKDERYY

    @JDKDKDLDKDKDKDKKKDERYY

    3 жыл бұрын

    his chess was.. strange

  • @FROZENbender

    @FROZENbender

    3 жыл бұрын

    @@guiorgy suckerpinch Sebastian Lague crossover? that would be amazing

  • @zuthalsoraniz6764
    @zuthalsoraniz6764 Жыл бұрын

    Honestly that checkmate at 7:48 is pretty nice for a random match. Checkmate by a knight, with every other friendly piece on the board contributing to keeping the king pinned. The other knight guards f6, the rook guards d4 to f4, the queen takes care of d4 to d6, and e6 and f5 are taken care of by the bishop (and the mating knight also guards f4)

  • @charimuvilla8693
    @charimuvilla86932 жыл бұрын

    This is actually really well made. Instead of a very basic AI you went really deep and made something that's quite good.

  • @RobertMilesAI
    @RobertMilesAI3 жыл бұрын

    This gave me flashbacks to my undergrad dissertation, writing a '3D' chess variant with time as the third dimension. Figuring out the legality of moves was really horrible code, because you could do things like moving a piece back in time to take a piece that would go on to threaten the king in the present. So figuring out if a move actually got you out of check took ages.

  • @TacoDude314

    @TacoDude314

    3 жыл бұрын

    Have you played "5D Chess With Multiverse Time Travel"? It's on Steam.

  • @LeoStaley

    @LeoStaley

    3 жыл бұрын

    You never made that video about "chess quantizers" that you promised on Suckerpinch's video about 30 weird chess algorithms!

  • @RobertMilesAI

    @RobertMilesAI

    3 жыл бұрын

    @@LeoStaley whoa that's a deep cut, I'd forgotten about that

  • @stephendonovan9084
    @stephendonovan90843 жыл бұрын

    Sebastian: makes computer which makes moves at random Computer: "Sicilian defense it is" Me: *shook*

  • @skyeadamson8257
    @skyeadamson82572 жыл бұрын

    That binary encoding of pieces has just solved an issue I was stuck on for months with my masters project. THANK YOU!

  • @oxlip
    @oxlip Жыл бұрын

    the way you code, even something as simple as a chess program, is so efficient and beautiful.

  • @virus2028
    @virus20283 жыл бұрын

    This is so insightful, I'm actually looking into completing my Honors degree in AI and I would love to build this as a project. Really good inspiration. Keep up the work.

  • @nicolasmaclean2895
    @nicolasmaclean28953 жыл бұрын

    "if we want the speed, we need to live in fear" lol

  • @drewgi7543
    @drewgi7543 Жыл бұрын

    I think the other designs are from the anarchy chess community, a community that develops chess mods (both for improving the game and just memeing)

Келесі