Coding Adventure: Chess

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 พ.ย. 2024

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

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

    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 ปีที่แล้ว +8

      Thank you

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

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

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

      Nice more C O N T E N T.

    • @ananttiwari1337
      @ananttiwari1337 3 ปีที่แล้ว

      Awesome!

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

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

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

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

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

      No, I would be very happy to lose.

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

      @@thedude4039 XDD

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

      Imagine how Gary Kasparov feels.

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

      @Eric Lee then the ai needs to get better xD

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

      @@brockmann4815 or u are stronk as magnus carlsen

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

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

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

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

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

      @@laytonjr6601 somebody did too

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

      @@laytonjr6601 sicilian is the best kid

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

      @Bacon Hair wow so toxic 3 years old

    • @angel-ig
      @angel-ig 3 ปีที่แล้ว +4

      2...Nc6*
      I was also surprised...

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

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

    • @burakalp34
      @burakalp34 ปีที่แล้ว +146

      Computer knows something

    • @louisrobitaille5810
      @louisrobitaille5810 ปีที่แล้ว +115

      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 ปีที่แล้ว +168

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

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

      @@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 ปีที่แล้ว +6

      Some weird closed Sicilian variation

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

    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 ปีที่แล้ว +165

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

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

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

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

      I thoight so too haha

    • @Salman-os7pr
      @Salman-os7pr 3 ปีที่แล้ว

      Definetely!

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

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

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

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

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

      If that's true then my code is Montecristo

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

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

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

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

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

      @@sethsrc792 yes but everybody hates them

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

      -Bugsnax, probably

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

    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 ปีที่แล้ว +87

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

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

      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 ปีที่แล้ว +127

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

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

      @@zarblitz eyy why the aggression?

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

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

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

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

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

      Nope, still chess yet.

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

      I thought that was the old Sicilian

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

      **immediately follows it with h5**

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

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

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

      Im not a cat

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

      @@juliendev2191 Im here live

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

      He's also a lawyer on the side.

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

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

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

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

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

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

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

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

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

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

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

      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.

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

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

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

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

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

      @@sebaaa15 xD wanted to write same thing lol

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

      these guys are too smort im outie

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

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

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

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

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

    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 ปีที่แล้ว +135

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

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

      so true

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

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

    • @Seven-ez5ux
      @Seven-ez5ux 3 ปีที่แล้ว +3

      love? more like hate

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

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

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

    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 ปีที่แล้ว +8

      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 ปีที่แล้ว +10

      @@matiasgarciacasas558 do it for science

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

      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 ปีที่แล้ว +7

      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.

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

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

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

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

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

      What that means is, Sicilian = random bullshit go!

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

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

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

      HA C5 IS FOR FOOLS

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

      I thought he was trolling when it went c5 Nc6

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

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

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

      @@rafexrafexowski4754 ha nice.

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

      Yeah i was a bit suspicious at first

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

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

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

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

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

      guy sounds like male Tibees

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

      Yeahhh!

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

      and the nice cat too

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

      Not with thicc Indian accent huh?

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

      @@daorklis5305 how is that an Indian accent

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

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

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

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

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

      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 ปีที่แล้ว +1

      Sounds about right

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

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

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

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

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

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

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

    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 ปีที่แล้ว +17

      Don't you love how obedient computers are

    • @Ethan-lx1vv
      @Ethan-lx1vv 3 ปีที่แล้ว +19

      @@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 ปีที่แล้ว +3

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

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

    "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 ปีที่แล้ว +19

      truth, that's my mind sometimes in work

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

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

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

      @@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 2 ปีที่แล้ว +1

      I am also a fellow Junior Dev programmer can confirm

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

    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 9 หลายเดือนก่อน

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

    • @efulmer8675
      @efulmer8675 9 หลายเดือนก่อน

      @@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 9 หลายเดือนก่อน

      @@efulmer8675 engines don’t resign

    • @user-dh8oi2mk4f
      @user-dh8oi2mk4f 9 หลายเดือนก่อน

      Not unless you specifically program a resign system in

    • @efulmer8675
      @efulmer8675 9 หลายเดือนก่อน

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

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

    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 ปีที่แล้ว +228

      Secret chess minigame on hidden planet.

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

      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 ปีที่แล้ว +41

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

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

      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 ปีที่แล้ว +6

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

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

    Completely random adversary goes ahead and plays a Sicilian.

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

      Lol I thought that was funny

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

      Time stamp pls?

    • @makytondr8607
      @makytondr8607 3 ปีที่แล้ว

      Exactly 😂

    • @j.thomas1420
      @j.thomas1420 3 ปีที่แล้ว +2

      I was searching for that comment...!

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

      True, I was like wtf.

  • @eggstatus5824
    @eggstatus5824 17 วันที่ผ่านมา +1

    2:28 The mate in 3 here is white's G5 knight to F7 check, black's king to G8, white's queen to E8 check, black's queen to F8, and then white's queen takes black's queen on F8 to deliver the checkmate

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

    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 ปีที่แล้ว +49

      he's not good he made many mistakes

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

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

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

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

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

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

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

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

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

    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 ปีที่แล้ว +46

      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 ปีที่แล้ว +13

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

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

      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 ปีที่แล้ว +16

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

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

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

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

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

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

    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 2 ปีที่แล้ว +1

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

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

    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 3 ปีที่แล้ว +10

      Keep going!

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

      L

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

      @@Auriacularia why say L?

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

      @@gachastorys5129 I have no idea why I said that

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

      @@gachastorys5129 sooo ask my past self

  • @Love.Masculinity
    @Love.Masculinity ปีที่แล้ว +9

    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!!❤

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

    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 ปีที่แล้ว +486

      For sure. Good luck with your game!

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

      @@SebastianLague Thanks : )

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

      @Anmol Pandey no worries, I will : )

    • @pranitp.29
      @pranitp.29 3 ปีที่แล้ว +1

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

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

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

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

    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.

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

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

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

    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 ปีที่แล้ว +34

      :)

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

      Can’t agree more

    • @arnonuhmer3771
      @arnonuhmer3771 3 ปีที่แล้ว

      +1

    • @Nerdwithoutglasses
      @Nerdwithoutglasses 3 ปีที่แล้ว +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

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

    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 ปีที่แล้ว +33

      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 ปีที่แล้ว +5

      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 ปีที่แล้ว +5

      @@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 ปีที่แล้ว +1

      We're all dumb

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

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

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

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

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

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

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

      The same idea.

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

      @@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 ปีที่แล้ว +10

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

    • @the.invincible.9542
      @the.invincible.9542 3 ปีที่แล้ว +12

      ​@@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 ปีที่แล้ว +1

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

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

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

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

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

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

      i heard magnus studied him closely

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

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

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

    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.

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

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

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

    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!

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

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

  • @5beers2many
    @5beers2many 3 ปีที่แล้ว +15

    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)

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

    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 (:

  • @Just-Nedo
    @Just-Nedo ปีที่แล้ว +2

    2:28
    1.Nf7+ folowed by Kg8 forced move, as the black queen is pinned to the king and no other piece can take the Knight
    2.Qe8+, after goes completely ceremonial Qf8, the only move, desperately blocking the check, when crushing 3.Qxf8# comes in, defended by a Knight on d7.
    Quite easy, yet very satisfying puzzle

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

      Had to come down here to make sure I got that right and I wasn't missing anything. The threat of Rh6 definitely narrows the options to forced checks, but it pays to be sure.

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

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

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

      Same

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

      i came before watching this

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

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

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

      Programming language..?

    • @pomi1298
      @pomi1298 3 ปีที่แล้ว

      @@Shadow__X ???

  • @SaifUlIslam-di5xv
    @SaifUlIslam-di5xv 3 ปีที่แล้ว +34

    10 minutes in, and I'm starting to fall in love again with programming and chess. This is beautiful.

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

    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!

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

    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.

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

    Hey, I downloaded this a while ago when I was binge watching your videos and just got around to playing a few games. Great work and this has amazing potential. I'm primarily a bullet player rated around 2200. I don't study openings or anything and I just play for fun. When I tried to keep up and match your program's speed, I ended up in losing positions shortly after the opening (probably 20-30 moves). I had to stop and think a few times to win which would have cost me the game if it was bullet. In my opinion, this is a great tool to help players practice openings or get into speed chess. If you're still working on this, I'd recommend adding a timer just for the players benefit since the computer moves very quick (I'm playing on a i7-7700). Also, an option to pre-move which is standard for online chess. Another feature could be to add a checkbox to give more weight to uneven trades (for example, trading a minor piece for 2 pawns if it creates a passed pawn) or a checkbox to give less weight to trades which will make it more challenging for players to plan ahead. Avoiding trades is a pretty common strategy that some players use in online games so it would be good practice.

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

      "I'm primarily a bullet player rated around 2200. I don't study openings and I just play for fun."
      Lmao what an arrogant lie

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

      @@zakir2815 isn’t 2200 crazy high? Idk anything about chess

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

      @@gentleasp6589 nobody asked but I'm gonna go ahead and tell you that I have a crazy high elo. Without study of course. Lmao who needs studying to get a crazy high rating imagine having such low iq.

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

      are you sure you're actually 2200... that's Candidate Master level, i don't think anyone could hit that without studying openings... unless you're some sort of chess prodigy... 2200 is reeeeaaaally high so if this is true(I doubt it) get into chess and actually learn openings and defenses...

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

      @@samimartinez1409 lmao he's probably 2200 on Lichess

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

    I watched this video 3 years back, never knew I would go on to pursue computer science and would be building a chess engine project myself. Thankyou Sebastian for this wonderful video! It was sooo insightful and interactive. Keep up the good work, sir!

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

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

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

      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.

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

      I still am 😂😂😂

    • @FauziGMNG21
      @FauziGMNG21 3 ปีที่แล้ว

      Meh

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

      you have a terrible sense of humor

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

      HmMmMmMmMmMm

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

    Catastrophically misjudging almost every situation? Sounds like my chess.

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

    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.

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

    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 ปีที่แล้ว +17

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

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

      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 ปีที่แล้ว +27

      @@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 ปีที่แล้ว +32

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

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

      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.

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

    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 ปีที่แล้ว +1

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

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

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

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

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

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

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

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

    "Completely at random"
    "Opens with the sicillian"

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

    For endgame, if there are 7 pieces or less the optimal set of moves to win has been found, basically it has been solved.

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

      Yeah but he doesn't want to use 3rd party data since that kinda defeats the point

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

      @@qwerty1233787 but he does in the opening

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

      @@skovecka that's true. But I think it's another thing to use data accrued by a 3rd party engine.

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

      @@qwerty1233787 I don’t think that’s an issue. He could decently easily get a functional table base it would just take a while for his computer to calculate it so I don’t see an issue with just copying it.

    • @M-F-H
      @M-F-H 2 ปีที่แล้ว +2

      @@mastery4667 A tablebase is by definition always flawless, and not depending on his computer's search depth - you just *look up* the position in a table, as the name says.

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

    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)

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

    Wow, this is so cool 🔥 As a software engineer I can truly appreciate the amount of work that went into this.
    One day agadmator might do the coverage between your engine and others 😀

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

    Alternate title: How I created lichess

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

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

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

    Iterative deepening algorithm blew me away in the same manner. Move ordering and alpha beta stepping in together to solve the “search as far as you can in any given amount of time” problem!!

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

    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 ปีที่แล้ว +1

      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 ปีที่แล้ว +1

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

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

    By the way, at 2:28, its Knight to F7, King G8 is forced, Queen to E8, Queen to F8 is forced, Queen takes F8, checkmate.

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

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

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

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

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

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

    • @SkylarGlider
      @SkylarGlider 3 ปีที่แล้ว

      Same

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

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

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

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

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

    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.

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

    This is so cool! I would definitely recommend throwing some machine learning at it. It's easier that it sounds and has pretty insane results.

  • @JC-jz6rx
    @JC-jz6rx 3 ปีที่แล้ว +8

    I never understand these, but they're always so interesting I can't help but watch them.

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

    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)

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

    I've always been curious to see how someone would go about creating a Chess "AI", so I really enjoyed this video and would love to see a few more episodes, if you're still motivated to work on this project of course!

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

    I was disappointed to see that making another Chess AI vid lost the poll. Looking forward to more of this!

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

    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!

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

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

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

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

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

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

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

      @@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 ปีที่แล้ว +9

      @@SebastianLague Also, I'd be much more interested to see your AI against those: th-cam.com/video/DpXy041BIlA/w-d-xo.html
      At least for the lols
      PS. I'd suggest watching the video at x1.5 or x1.75

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

      his chess was.. strange

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

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

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

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

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

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

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

    "Negative Infinity, because what could be worse than losing a game of chess?"

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

    Wow, that was quite a complete and sophisticated look at how to do chess programming. I think you got all of the techniques in chess programming in there. One thing I used to consider was piece mobility as a factor in the evaluation function. The thing that chess bots can't do as yet is strategy. I think it's called the horizon effect.
    I was very sceptical at the start when you managed to start programming the functions in the most inefficient way but you improved all of them as the program developed.

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

      Um... wut? Modern Chess bots are very strong tactically. Clearly, you haven't played Stockfish or Komodo. The horizon effect is mitigated through:
      1) deeper search
      2) selective search (such as quiescence search)
      Modern Chess engines search 20+ plies deep within a second and they can go ~10 plies deeper selectively.

    • @user-dh8oi2mk4f
      @user-dh8oi2mk4f 9 หลายเดือนก่อน

      He’s not even close to getting all the techniques. He’s barely scratched the surface

    • @georgechristoforou991
      @georgechristoforou991 9 หลายเดือนก่อน

      @@user-dh8oi2mk4f Can you give some examples of methods he has not mentioned

    • @user-dh8oi2mk4f
      @user-dh8oi2mk4f 9 หลายเดือนก่อน

      @@georgechristoforou991 search techiques null move pruning, reverse futility pruning, prob cut, singular extensions, late move pruning, futility pruning, static exchange evaluation pruning, and a more advanced version of late move reductions
      Eval includes a bunch of stuff like mobility, pawn structure, king safety, and nnue later down the line

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

    Programming told as an adventure story - what a nice concept!

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

    11:10 That queen's reaction is gold

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

    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!

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

    I like how the first random bot decided to coincidentally play the Sicilian defense

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

    this channel is just toooooo underrated

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

    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

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

    That castling of the knight made me chuckle way harder than it should, and it's 03:11.. Why am I watching chess AI at this time.

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

    Wow, that's a really impressive chess program you've created! I wouldn't even know how to get started on a project like this! I'm pretty sure all I'd be able to manage is to do is to program a game involving two human players in which the computer makes sure all moves are legal. I'm not familiar with alpha-beta pruning or anything like that. Good job!

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

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

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

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

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

    holy shit "but im not sure they are obscuring enough of the board yet, let me fix that" made me laugh out aloud, thanks for that one

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

      Agreed, I really liked the sudden bits of humour in this video

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

    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.