The Fascinating Programming of a Chess Engine
ฝัง
- เผยแพร่เมื่อ 12 มิ.ย. 2024
- Building my chess computer was really fun and many of the concepts are so elegant. I built it on the side of my studies during the winter of 2020-21. You can check it out on my github in the "sophia" repo.
Github: github.com/bartekspitza
Sophia: github.com/bartekspitza/sophia
Sebastian Lague's Alphabeta video: • Algorithms Explained -...
Made with Motion Canvas, an incredible library by @aarthificial!
Music:
Ballerina - Yehezkel Raz
Spiral - Yonatan Riklis
Shimmer - Adrien de la Salle
Timestamps:
00:00 Intro
00:24 Board Representation
1:38 Evaluating Positions
3:31 Why Search Is Important
4:07 Minimax algorithm
5:44 Pruning the search tree
6:25 Outro - วิทยาศาสตร์และเทคโนโลยี
the fact that this channel has 17 subscribers is bewildering, perplexing, and puzzling for me
the fact that this channel has 125 subscribers is bewildering, perplexing, and puzzling for me
the fact that this channel has 212 subscribers is bewildering, perplexing, and puzzling for me
the fact that this channel has 217 subscribers is bewildering, perplexing, and puzzling for me.
the fact that this channel has 287 subscribers is bewildering, perplexing, and puzzling for me
the fact that this channel has 313 subscribers is bewildering, perplexing, and puzzling for me
As a developer and a lifelong chess lover, this video made me happy! Your pacing was simple, easy to understand and though the ideas were complex, you demonstrated and explained them in a neat and organized fashion. Cheers my friend - looking forward to the next one!
Damn, I felt like the video had just started, and then boom, it's already over.
If you keep up the style/quality, you definitely have a future among the greats of video essays on programming/CS
Yes, this whole video was mesmerizing. I was expecting at least twenty minutes. So good.
@@ahmoin freya Holmer, Tsoding, Sebastian Lague, mattkc, no boilerplate, 3blue1brown, fasterthanlime
And these are just the ones that came to mind first, there are many others
I love how walked through implementing the minimax algorithm - the whole explanation felt very natural in the way you explained it, and the animation adding the bits of code was lovely because that's exactly how implementation unfolds. Great work!
Fully agree! The code editing animations is great!
This was a very well made video! I couldn't believe in the amount of subscribers you had because your production is top notch!
A lot of obscure channels with high quality videos have been appearing in my feed, and I'm all for it.
I always enjoy hearing of new ways to apply bitwise operators.
Dude! Really nice vid. You explain the concept in simple terms without all the unnecessary details. Looking forward to more of that!
After watching this video, so many "informative" programming related videos seem so over the top edited or cinematic. I don't want a dramatic intro or unnecessarily upbeat music. I want THIS
This video is ridiculously brillant... This is so clean, well explained, and the purpose is so exciting
The video was very nice. Calming, informative, and inspiring. I love Sebastians videos too and i definitiely saw some of what i see in his videos in this one.
I give this video a high evaluation score for the youtube algorithm.
haha thanks 😅
This is an amazing video! I have no idea about coding, but ur animations and the style of the video made me very invested. It seems to be a very intriguing process in which we developed a need for a chess computer and how incredible and unbeatable they are now.
Such a well curated and informative video! I’m glad to be one of your early subscribers.
Incredible visualizations, love this so much
Very nice video, and it shows that a lot of effort went into it. Congrats!
man i am half in the video and it's calm to hear you talk, chill to watch and interesting to understand. i like
I should say your videos are pretty well edited and interesting!
I'd love to see more videos like these ❤
very elegant presentation, quite simplified yet intriguing. excellent video
how do you only have 166 subscribers!? you have made the concept easily understandable and presented it better than channels with 100x-1000x your subs. amazing!!!!
You just got another subscriber. I hope you keep it up with the channel. This video is awesome! Simply explained, to the point and clear. Makes me want to get back into my chess engine, which I abandoned at a time of too much "real work". Thanks!
when i saw the length of the video, i thought to myself "alright what can he really teach me about chess programming in 6 mins lol lemme see" and these 6 mins felt like 1 min and 60 mins at the same time. So much info stuffed so precisely and explaining it in such calm and simplistic manner, kuddos man!🙌
What a well produced video, your explanations are clear and the visuals really add to them. Fantastic work!
Wow! Ok Bartek, just want to say thank you. Not just for the video but for the raw inspiration. I’ve got a learning engine to build, which like your chess engine, needs to be able to strategize on how to best position a learner for further strategic positions. So the challenge is to design the engine to provide the learner with a weighted numerical map of where they might want to head to learn more things. This way a learner can try to grasp the rabbit holes they can possibly traverse, prior to traversing them and strategize as they see fit for themselves. I have to do this in a more 3d type of board, but the principle is the same. So THANK YOU for the nudge I needed to just start building this as an engine. I owe you a beer/coffee/highFive!
THIS VIDEO WAS LIKE THIS „!!“ BRILLIANT. As a chess lover and young programmer I found it amazing how you explained and visualized everything. Also the sound effects your voice and your explanation itself. I would love to see a continuation or a deeper analysis
The algorithm has blessed me today with this :') I was quite curious about how chess engines worked, and you explained with amazing clarity. Thank you.
Phenomenal presentation and wonderfully narrated!
There are a bunch of small computer science channels out there with really well-made videos that are ready to blow up, and I'm all for it.
Best of luck, if that's your goal. Lovely video
Beautiful graphic and motion design. Aesthetically very pleasing. Well explained.
I was confused by the King placement evaluation since those values would quickly have the opposite gradation as pieces are traded off. This type of value assumption based on board placement would have to be dynamically evaluated and not taken as a static truth.
This is usually solved by having two king placement tables: one for opening/middle game and one for the endgame. One then computes something like a number for "endgame-ness" (might be based on the number of pieces left) that smoothly interpolates between the two tables.
your animations are beautiful and smooth! first time I've ever seen a video with more likes than the channel who made it. well done!
your style is sooo good! frustrated to find only 4 videos in your channel
please continue making such fascinating programming videos brother!
Wonderful video. I loved how you walked through your processes in making this. Wished it was a bit longer/more in-depth, but that's just a personal preference.
This is just amazing.
I was fascinated most by how the board conveniently fit into an int64 and how from there everything just rolled as mathematics. Matrix multiplication in particular.
Friendly reminder that certain kinds of matrix multiplications have become faster with AI recently finding a new method, a mathematician taking that to the next level, and then AI improving it once more.
i am impressed by the video editing. It was really good!
It is out of my mind that channel less than 1k subs has this insane presentation
Kudos🔥✌
the fact that this channel has only 1.5k subscribers is bewildering, perplexing, and puzzling for me
I wish this video was much, much longer. Great content
Hi, very Nice combination of clear explanation and beautiful animations, The whole video is very professionally made. I am subbing and hopes to see more like this! 😊
Wohhh, one of the best videos I have ever watched on TH-cam.
Awesome video! Satisfying animations, and great explanations!
It feels so good to see this underappreciated video first being a developer and a chess fan.
underrated channel
This is beautifully done
Excelent quality here, congrats!!
Beautiful video
Really nicely produced video 👍 recently created chess in c++ and have been interested in engines, I realised how inefficient an array would be and had no idea about this method, I’d been using fen notation. Also, Well deserved channel growth 🎉 👏
Subscribed! This intro to chess engine development was very interesting, and I loved how you implemented the minimax algorithm into it. Maybe next time you could use genetic algorithm for the engine, using optimized material as heuristics?
Amazing video, really enjoyed it
This was such a good explanation, thank you
Informative video, really enjoyed it! Keep it up
very nice to watch and well done video, thanks for the great work!
this was very well demonstrated
Just found your channel man and I can assure you, you have a beautiful interessting content,... 2 videos now and more to come.. keep the great work man :D - a word from a stranger java developer
The fact this channel has only 4.27k subs is bewildering, perplexing, and puzzling for me
The fact that this channel has 1.62 k subscribers is bewildering, puzzling and perplexing for me😊
This is so well explained and interesting!
Best explanation and visualisation I've seen so far for bitboards, keep up the good work :)
this was awesome man
Wow, I hadn't heard this song before. I love your taste in music.
incredible work ! loved this video
Great video! Love the way you explain
great share - interesting to hear the thought process - this thought process then can be applied to other different challenges, like optimising traffic in a unique environment, and so on
Great video! I love how you presented this topic specifically. Im subbing looking for more :)
Really great video! I'd love to see another one explaining some more advanced concepts, such as move sorting, QSearch or transposition tables. And good shout-out to the chess programming wiki, what would chess programmers do without it? It's also one of the best references for obscure assembly instructions (pext, I'm looking at you!)
I always wondered how the chess engine works evaluating the positional advantage and material advantage! This gives some insight. 😌
incredible video. thank you
Great video. I want an hour long sequel.
What a beautiful video. Keep it up!
man if this video was 10 hours long I would certainly watch it all 😂
Great video ! Wish for more videos about chess programming
Amazing content man, keep it up
Well made video, good job!
This was excellent. Subscribed ❤
Fantastic video! Hope you manage to get the subscribers and views you deserve!
The best video I've watched today
good quality video like Sebastian Lague's chess adventure, +1 subscriber
Reminds me of the Sebastian Lague video, great content :D
U deserve more appreciation ❤🎉😊
Great video thank you, I thought you would show a demo at the end of the video, but anyway keep up the excellent work.
awesome video man
Honestly the most enjoyable programming experience I’ve ever had!
Nice Video! I am already into chess and I'm starting to learn to code. I definitely got inspired to have this as a future project!
Highly recommend!
Amazing video!
Great succinct video!
Awesome video!
Fantastic Video!
absolute peach of a video. coding asmr
I'm sitting here patiently waiting for a part 2. I need to see how it plays against you at various depths.
Fantastic video
My prediction is that this channel is really going to blow up
Great video! It was in a style somewhat similar to Sebastian but with his personality. It would be interesting to see the game 2048 being dissected by the expectimax algorithm or monte carlo.
Indeed.. 2048 is a fun game!
Phenomenal video 🎉❤
This video inspired me to make my own chess engine now! Thanks!
I'd love to see how the chess engine performs with different components enabled and different search depths. I've been thinking about getting into chess programming for a while, I wanted to see if I could make an engine that plays at a low-elo but making more human-ish mistakes, like forgetting about king safety, a distant bishop, en-passant or being over-biased towards captures or giving checks etc. It would be a really neat tool to help players learn and improve
As someone who plays chess as well as studied minimax and such algos in computer science, i always find this topic interesting
Very nice explaaanation video and Also Music Thanks
I had a ZX81 in the mid-80s and had a chess game on it that was only 1k in memory. It always amazed me how they managed to programme a chess game into such a tiny amount of memory. Modern programmers could probably learn a lot from those tiny memory constraints.
Thanku for sharing ur insights on it. I like how u break down
As a CS graduate, I love seeing the concepts we learned applied to real world things like chess.
Fascinating stuff