I Made A Chess AI But In Only 1 File

Sdílet
Vložit
  • čas přidán 25. 06. 2024
  • I competed in the tiny chess competition run by ‪@SebastianLague‬ and here is my process and how everything turned out
    Join the discord to play the demo of my upcoming game!
    / discord
    Check out any of my games on Itch:
    simply-in-dev.itch.io/
    Music Used:
    Lud and Schlatt's Musical Emporium - Winter - Vivaldi
    • Winter - Vivaldi [COPY...
    Lud and Schlatt's Musical Emporium - Cello Suite - Bach
    • Cello Suite - Bach [CO...
    Luigi Boccherini - Minuet
    • Video
    Mozart - Turkish March
    musopen.org/music/
    Musopen Orchestra - Overture to The marriage of Figaro, K. 492
    musopen.org/music/
    Lacrimosa - Mozart
    • Mozart Lacrimosa
    Violin Concerto in G Minor 'Summer'
    musopen.org/music/
    #devlog #gamedev #chess #indiegame #artificialintelligence #coding #software
    ----------- Contents -----------
    0:00 Intro
    1:20 Board Evaluation
    3:05 Minimax
    4:58 Alpha-Beta Pruning
    6:06 Piece Tables
    8:00 Quiescence Search
    9:59 Table Compression
    10:56 King Endgame
    12:01 Iterative Depth
    12:53 No Time Left And My Bot Is Still Dumb
    14:27 Submission & Results
    15:21 Final Showdown
  • Věda a technologie

Komentáře • 61

  • @CodeHiiro
    @CodeHiiro Před 4 měsíci +25

    now do it in one line, if you can do it in one file, you can do it in one line

  • @techman9514
    @techman9514 Před 4 měsíci +10

    This video was awesome, your channel is underrated af

  • @pokemonbg7674
    @pokemonbg7674 Před 4 měsíci +8

    wait a sec you have 600 subs wtf?! your a underrated channel that would have 2 mil,based on this vid
    keep up the work and you will he big in no time ❤

  • @NotVoid0069
    @NotVoid0069 Před 3 měsíci +2

    Bro this video is a youtube Gem!!!! very underrated

  • @pizzafuel
    @pizzafuel Před 3 měsíci +1

    Great work! Very cool project!

  • @eboatwright_
    @eboatwright_ Před 4 měsíci +3

    Very cool! This was an extremely high quality video, and you did a great job explaining everything
    I started working on my own engine in Rust right as Sebastian Lague's tournament ended, which is currently rated about 2050 on Lichess :D

  • @oliverellingson3140
    @oliverellingson3140 Před 4 měsíci +1

    This was a masterpiece, well done!!!!

  • @saadkhatri1129
    @saadkhatri1129 Před 4 měsíci +2

    WOWOWOWOWOWOWOWOOOWWWWWOOUUUUHHHHAHAHHH HOW entertaining and informative this video was. Thanks a lot mate. KEEP IT UP your channel is bound to blow up!!!

  • @azanjac
    @azanjac Před 4 měsíci +3

    Sweet revenge

  • @BPGHchess
    @BPGHchess Před 4 měsíci +2

    Great video! I tried to also create my own chess bot for the tournament by sebastian but realised that I am just not familiar with c++ enough, let alone engine programming (only did in python). The videodecribes the steps you took to improve the engine in a very clear manner and I have definitely learnt a few things about programming a chess engine.

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

      Yeah it can be very difficult if it's not a language you're familiar with, but I'm glad you learned something

  • @fortnitecool905
    @fortnitecool905 Před 4 měsíci +1

    Love the video bro u deserve more subs

  • @WendiArif
    @WendiArif Před 3 měsíci +1

    Bro this is gold, so underrated 🔥

  • @astrailaz
    @astrailaz Před 4 měsíci +3

    underrated

  • @Anybody197
    @Anybody197 Před 4 měsíci +1

    love video you got a new sub

  • @zacmrd
    @zacmrd Před 3 měsíci +1

    Great video honestly, i cant code either but i always like watching people make chess bots. Let me know if you plan to do this again i can point out some of the more advanced mistakes your bot is making as a stronger chess player

  • @Lisanicolas366
    @Lisanicolas366 Před 4 měsíci +1

    Super interesting video!

  • @NateMint
    @NateMint Před 4 měsíci +1

    that was really fun to watch!

    • @simplyindev
      @simplyindev  Před 4 měsíci +1

      Thank you! I'm glad you enjoyed it

  • @GuvBubbs
    @GuvBubbs Před 4 měsíci +1

    This was great

  • @koala_speedruns9159
    @koala_speedruns9159 Před 3 měsíci +1

    nice content

  • @divineatmidnight
    @divineatmidnight Před 4 měsíci +1

    i watched this whole thing thinking you had like 200k subs, great video imma watch every video you post

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

      Thank you!

    • @divineatmidnight
      @divineatmidnight Před 4 měsíci +1

      @@simplyindev Of course bro, the smallest creators always have the best content

  • @makytondr8607
    @makytondr8607 Před 4 měsíci +1

    Epic video! You’re inspiring me to try to do the same! Also, congrats on making it to 1800 elo with a mini bot, imagine how high you could go without the token restriction!

  • @lubengeorgiev5675
    @lubengeorgiev5675 Před 4 měsíci +1

    When using iterative deepening it is a pretty good idea to include principle variation (best line from previous depth search). That way you will be searching the new depth muchs faster (most of the time). Also some heuristic to order quiet moves might help you a lot (history moves, killer moves). To increase the depth you have two options: make it search faster (more nodes per second) or make it prune branches. If you want to prune more you can add null move pruning for not too many tokens used. A good idea also might be late move reduction (you cut the depth of search of moves after first 4 for example). The downside is if you do not succeed you are forced to reasearch at full depth or full search window.

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

      These are all some good ideas for improvements. I didn't mention it in the video but when I submitted I was using 1023 of 1024 tokens so I ran out of space to add anything else in without major optimizations

    • @lubengeorgiev5675
      @lubengeorgiev5675 Před 4 měsíci +1

      @@simplyindev Yeah the tokens are pretty limiting. Maybe 2048 tokens would allow for some crazy strong bots. What was the elo of the 1st place bot btw? I think if there is another competition I might be able to get top 10.

    • @user-dh8oi2mk4f
      @user-dh8oi2mk4f Před 4 měsíci

      @@lubengeorgiev5675 elo of first place is ~2770 on ccrl

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

    Very cool you documented your bot. I only saw the competition after it ended. I always wanted to try program a chess bot. So with this very nice C# framework and everything but the move search implemented, I also gave it a try. I went 10x over the token limit as the competition is over. But I am gonna try my bot vs yours. I had so many bugs in my bot. When it is searching a million positions and you have 10 000 lines of code, figuring out wtf is going on gets really hard. I am new to C# and I don't know how to code with little tokens so I think I would have failed hard at the competition. Maybe if there's a 2048 token limit competition I will submit something.
    That said, your no of positions evaluated at 4:51 seems wrong. It goes up exponentially, meaning you search until depth 5 almost instantly, dept 6 takes a while, and depth 7 is basically not achievable. Without move sorting, many positions have 30 legal moves, so it goes n^30. And with good move ordering, you can get to 5 to 15 branches added for each depth.

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

      I'd be very interested to see the results of that game! Yeah I knew my phrasing of exponentially was not technically correct in the math sense, but I was just using it by the definition of a more rapid increase. Same thing with my use of depth vs ply is chess coding was wrong, but I think depth was much more understandable to people

  • @bobichiquitoysusamigos4833
    @bobichiquitoysusamigos4833 Před 4 měsíci +2

    Once i saw the match against emir i was so surprised that a chess bot with a single file played so well in that game he played like a 2300 and had a accuracy of 87.7 if you made it of more files it be the next stockfish you gain a subscriber

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

      Someone made a bot with 200 tokens and it is quite strong.

  • @kotsitsvetanov8564
    @kotsitsvetanov8564 Před 4 měsíci +1

    when watching this i thought you were some big youtuber. how are you not famous yet?

  • @siyuanma2323
    @siyuanma2323 Před 4 měsíci +1

    Very impressed by your video style, how did you make it?

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

      I used a tool called motion canvas which allows you to create animations with code

    • @siyuanma2323
      @siyuanma2323 Před 4 měsíci +1

      @@simplyindev thank you! I hope you get your play button someday!

  • @gens8534
    @gens8534 Před 4 měsíci +1

    best chess video i've ever seen. can we find the code somewhere or is it confidential?

    • @simplyindev
      @simplyindev  Před 4 měsíci +1

      Here's the link to where Sebastian Lague has all the submitted bots, but 579 is mine. There's a lot to learn from all the different entries github.com/SebLague/Tiny-Chess-Bot-Challenge-Results/blob/main/Bots/Bot_579.cs

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

    6:00 AT THİS POINT BRO SACRIFISE THE SACRIFISE GAMEEEEEEEEEEEEEEEEEEEEEEEEEE

  • @klatchabobby
    @klatchabobby Před 4 měsíci +1

    Making my own chess engine is a dream I have, but I unfortunately have no coding experience beyond one high school class of C# from which I've retained nothing

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

      That's alright, you'd be surprised how little coding knowledge you actually need to get a basic one working

  • @kylebarvel
    @kylebarvel Před 4 měsíci +5

    I thought this meant the ai can control a column file in a board

    • @simplyindev
      @simplyindev  Před 4 měsíci +2

      I can understand the confusion, I didn't even think about that 😂

  • @provn_tq97
    @provn_tq97 Před 4 měsíci +1

    cool

  • @hoangnam5848
    @hoangnam5848 Před 4 měsíci +1

    wait.... how is it even possible to lose to the random bot :D

    • @simplyindev
      @simplyindev  Před 4 měsíci +1

      I mean since it is random, given infinite time it would beat stockfish in a game eventually, but the first bit was so bad that sometimes it gets into a weird position where the random bot is basically forced to deliver checkmate lol

  • @villss894
    @villss894 Před 3 měsíci

    can you make a chess engine with 10< >1files

  • @startrexpips3650
    @startrexpips3650 Před 3 měsíci

    What is a token ?

  • @rextaylor1295
    @rextaylor1295 Před 3 měsíci

    what is a token ?

  • @n0tjak
    @n0tjak Před 4 měsíci +1

    now do it with bash

  • @lqztee
    @lqztee Před 4 měsíci +1

    700th subscriber

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

    0:00 0:31 come on they arent that smart

  • @tjschess7365
    @tjschess7365 Před 21 dnem

    Who got number 1?

  • @sahildas.
    @sahildas. Před 4 měsíci

    Pls help me beat Antonio

  • @user-jm6li5qi3i
    @user-jm6li5qi3i Před 3 měsíci

    😈😈I'm younger and I've beat amir

  • @dominiccaesarok5077
    @dominiccaesarok5077 Před 4 měsíci +1

    nice Praise Jesus! pls repent.

  • @goatguymanperson9961
    @goatguymanperson9961 Před 4 měsíci +1

    This was great