Coding Challenge Announcement: Tiny Chess Bots
Vložit
- čas přidán 5. 06. 2024
- Hello! Here's a little coding challenge for anyone who'd like to take part: you have until October 1st to create a tiny chess bot in C# using the framework linked below. You can find more details about the challenge on that page as well.
github.com/SebLague/Chess-Cha...
This challenge is now over. You can find the results over here!
• I Ran a Chess Programm...
Chapters:
0:00 Intro
0:28 MyBot.cs
1:10 Bot Brain Capacity
2:43 The Tournament
3:08 How to Participate
5:00 Outro
Music credits:
A Gentle Pulse by Imprismed
The Cliffs by Trevor Kowalski
Forest Overture by Yehezkel Raz - Zábava
The challenge is now over -- thanks so much to everyone who took part! You can find the results video over here: czcams.com/video/Ne40a5LkK6A/video.htmlsi=xVjO6WsrSNLn_AAE
I may use this as my very FIRST programming challenge :D I gonna fail horribly, but it's gonna be fun. lol
Good luck! :)
@@SebastianLague How different is c# from c++? I already have some experience with the latter and I'm considering this as an opportunity to know more about c# (which I barely know).
@@danielcreatd872knowing c++ will make c# much easier to pick up
No matter how it results, you will emerge the winner. Best wishes!
@@danielcreatd872 C# is way easier. No pointers to begin with and a rather more intuitiv "standard library".
Hey everyone -- a number of people have encountered a bug with the board.GetPiece() function, which was a massive oversight on my part. I'm very sorry about that, and have updated the code on github to fix the mistake. If you are participating, please make sure you have the latest version (you can see more info on the Change Log section of the readme in the repo).
What language is this? sorry im kind of new in IDEs and direct code
Are there consequences, like bugs/broken logic, for speedhacking the project? Running 1000 games felt incredibly slow, even at ~1.5 seconds per game, I've set minDelay to zero, but still too slow, so I used CheatEngine to speedhack up to x100 of real time.
There were no timeouts for ~600 games and scores kept same proportion, so I assume there are no side effects.
Is there any sort of "maximum speed" switch in the project that I missed?
Oh man I totally would have spent days wondering what was going wrong if I didn't check the comments here
This is a good time to learn C#, I only know Java and a tiny bit of C++, my bot will most defently lose
Edit: off to a good start, took me 30 minutes to figure out how to run the game, and I don't understand anything.
sounds fun 😮
I love this tokenized variation on code golf because it encourages code that is creative but still readable!
It encourages variable and function names to be readable. Not necessarily code. There are plenty of ridiculous tricks with side effects these you can use to save space.
At first, I said to myself "I can't do this, but look forward to seeing what people come up with."
Then you mentioned the 1024 token limit, and I thought "huh... I'm actually pretty good at pico 8 development... I could do this!"
Great challenge, looking forward to putting something like this together!
LOL same
This will be a lot of fun! I wish everyone good luck!
Can't wait to participate in this and afterwards see what other people will make out of this!
Lesgoooo, was very excited when I saw this in the community post. Will start work on this soon
Awesome, I hope you have fun with it!
I'm so nervous about doing this since it's my first bot, but I think I'll love the challenge!
Good luck everyone! 🍀❤
I wasn't going to enter this at first because I don't consider myself an "advanced programmer" (so to speak). But then I realized that sort of mindset will hold me back from learning and becoming a better developer. So I'm going to enter! Thanks for this challenge :D
Great, I’m happy to hear that! Good luck :)
This sounds like a really cool challenge. I'd participate if I wasnt on vacation and C# was my cup of tea.
I wish everyone whos taking part luck and am really excited to see what people come up with. Also, theres a 99.9% chance that someone will do some sneaky (or not so sneaky) shenanigans.
Does your vacation extend all the way to October 1st? That's the deadline
@@user-dh8oi2mk4f No but Id have to learn C# which I prefer not to.
@@PeonyNopesC# isn’t that hard to learn, and you’d only need the basics since you wouldn’t be working with super specific things in this competition. C# is basically Java but with a lot of extra features (most of which are unnecessary and IMHO poorly designed, such as the delegate system). System.Linq kind of Pythonizes C#, too, so it can be really fun to use.
@@JordanMetroidManiac It's not that I think C# is hard.
It's that:
a) I am stupid.
b) All the C# dev tools have to be complicated and hard to use ;~;.
c) If the syntax highlighting isn't just right I get overloaded and worst case physically sick.
I have my own conventions for the languages I normally use to well, prevent that from happening, which does include violating syntax conventions sometimes and figuring that out for a language with so much "unnecessary syntax" sounds like a pain.
@@PeonyNopes Ah, okay. If you code at all, then you couldn’t be stupid 😂 You’re definitely smart enough to grasp the basics of C# because variable assignment, variable typing, loops, method signatures, object instantiation, and mathematical operations are all identical to Java in the syntax, and Java is known to be a high-level object-oriented language with standard syntax conventions. All the weird parts of C# were added later once C# already had all the features of Java. Microsoft initially designed C# to be equivalent to Java, but they still wanted it to be superior, in true capitalistic fashion.
Looking forward to giving this a try!
Awesome, good luck!
Good thing you gave us so much time. I spent about 10 minutes on the project, then got side tracked for the rest of the day while creating a WPF application to display the current token counter.
adhd twins
But it already shows the token count?
@@user-dh8oi2mk4f Sure, most time went into very unnecessary optimisations :D
I have never coded a chess bot before but I shall try, and try, and try. This seems like its going to be good fun!
I love these kind of games. There's a really neat game called Gladiabots, where you code your own bot and fight others. It's amazing.
I remember playing Leek Wars at the time, I really loved it.
I'll not be participating this time around because I feel like I would start with too much of a disadvantage not knowing the strategies (not a fan of chess, I barely know the rules)...
I hope next time we'll have a brand new game so everyone starts with zero prior knowledge!
In the meantime, good luck everyone! Can't wait to see the results!
If you don't want to, you don't have to, but there is lots of documentation for chess coding, which can help a lot. I'd recommend giving it a try anyway, and seeing how well you do :)
I haven't played in a few years, but gladiabots is awesome!
I actually had this game idea a long time ago. Like BattleBots, but as a video game, and you code how it behaves as well. Funny that there are now several games with this idea. Pretty sure there were none when I first thought about it.
I love the framework you gave us!
This makes it so much easier for poeple with less expierience.
What an amazing idea for a coding challenge! I was a bit worried when Sebastian was polling about it that it would end up just being a bunch of super advanced AI submissions, but the space limitations look like a really good solution to that.
yeah i had a feeling that somehow someone would port stockfish to c# and dominate everyone else
I love the idea of keeping things simpler with the token counter; it does a lot to lower the bar of entry for both beginners and the lazier amongst us. :)
Its a double edged sword though. Making a very good bot in a few, efficient lines is gonna be really hard
Love this challenge idea! Incredible how smooth you have made it for everyone to participate. I really like that it encourages creativity!
thank you so much. it's incredible what you do. I've always admired your different projects and being able to participate in one of them is wonderful.
Heck yeah! You could totally do complexity weight classes for bot vs bot tourneys. A bit like Robocode.
What’s a complexity weight class?
@@user-dh8oi2mk4f i would assume dividing it up so that only bots with similar complexity would compete. For example if your code used all 1024 thingamajigs it would not compete with a bot that only uses 512
I'm very excited to participate, and also see what everyone else comes up with! Thanks for hosting this event!
I've been subscribed for more than I can remember honestly. And I was so fascinated by the chess first video you uploaded. And now that challenge it just feels like being a dream coming true.
Such a great idea! I loved the limits imposed. Can't wait to try it myself and to see what other people came up with!
This looks like a really fun coding challenge, Best of luck to everyone participating!
this is gonna be so fun, thanks a lot sebastian!!
I was really unsure if I want to participate but the way you made that challenge up really encourages me to do it :D
I just want to say, I really hope all goes well with this challenge, and everyone plays fair (*and that my submission doesn't get screwed up...*).
I love your videos by the way, Sebastian, they inspired me to start using Unity and *really* get back into coding. And boy, the "audio smile" your voice has is really nice to listen to!
I wish you all the best!
I got really excited even though I'm not into chess a lot. Hopes to see different challenges in the future!
This sounds really fun, thank you for organizing it!
Your videos have helped me so much in making my dream open world farming game.
Thanks Sebastian for making these amazing videos.
Excellent job as always Sebastian, well planned, clearly explained, clean and elegant details from the idea to the challenge kickoff video. 🤟
I just finished watching your other videos on chess. This is awesome!
been wanting to get into coding after watching your videos, and this seems like a fun motivation! interested to see what others create!
Yessss. I hope this becomes a regular thing!
Your videos always leave me with a smile
Oh, this is great! I would really love to see more challenges like this!
Man... your videos are therapeutic for me! I loved Brakey's this way as well. Please never stope.. 4 videos per year. I wont complain. God bless.
"You're only allowed to use the following 5 namespaces, which eliminates some sneaky strategies such as scanning my hard drive for a copy of Stockfish, and launching that in the background to do the thinking for you."
DAMNIT!!
Really looking forward to taking part! Thank you for putting this together :)
I began my adventures in coding a chess bot a few months before your first video on it came out, so we've been following the same path! Yours is way more efficient than mine and can probably blow it out of the water, but this is a cool opportunity to test that
This is such a cool idea! I am very hyped for the end result and will definitely give it a try myself.
This is going to be awesome! Never done anything like this but the size limitations gives me motivation!
Darrrrn this sounds like a fun challenge! I'm not sure if I'll participate, but seeing that there's a lot of time before the deadline, I might come to back to this in time.
Thank you so much, this will be a fun challange to learn more about programming.
Im giddy with excitement!!
this should be super fun!!
I love this new form of content. Cant wait to see submissions and future challenges. Sadly I dont play chess so I wouldnt know how to make a good bot. But if there are any future challenges I would definitely join.
your last video convinced me to retry an old chess programming project, so i guess i’m obliged to take part in this 😅
I'm going to commit to participating in this! I love chess and coding and this is a excellent chance to work on both.
Excited to participate in the challenge. Thank you for setting up the project!
That's amazing.
You inspired me to start my journey with C# and gamedev a couple months ago, and now I'm ready to fail at your challenge! Brace yourselves :)
Thanks for the very great initiative! May the odds be with the best
I'm nowhere near an amazing developer, but this seems like a fun challenge! I'll totally be putting myself against some of my friends bots too, it'll be a great learning experience as well as a fun competition to take part in. Good luck to everyone out there!
Very cool idea! I love the creativity coming out of game dev YT RN
What a great news! I've never really played chess so this is a great way to dive deep into it and learn it haha! Looking forward to participating
YES! i was so excited seeing the community post
This looks awesome, I'll get started right away. Good luck y'all :)
This is literally perfect timing! I just finished a chess camp!
Nice video by the way what are your thoughts about Unity's new policiy?
I'm very excited to take part in this. Interestingly this was startet at the exact time I thought about making a chess bot, so thanks for making it a thing. Even if my bot ain't gonna be the best I'm still excited to have a framework for chess bot making and interesting experiments.
this is an amazing idea, cant wait for the tournament
I love this. I'll definitely be giving it a go as much as I am able!
Just want to say, I love you sebastian, You are an inspiration.
This is so much fun, please do more of those challenges ! 3:09
Thank you for making this ! It will be very fun :D
I have been looking forward to this!
I can't wait to see all of the other creative solutions!
This is superb! I always wanted to tinker with decision-making algorithms in chess but it was always too daunting to make the whole game for me since I am just a newbie to c# This challenge will be a fun chance to test out and learn some new skills. Can't wait!
Your videos serve as such a breath of fresh air compared to the average youtuber yelling into the microphone for 5 minutes at speeds that raise the viewers heart rate. An island of calm and interesting projects. Thank you, Sebastian.
Excited to see what comes of this challenge. If you run a second round, I’d give a shoutout to the hexagonal chess in CGP Grey’s recent vid. It feels enough like chess to make normal approaches translatable, but different enough to spur novel thinking
Cool challlenge! I've been wanting to dabble into chess engines for a while, might as well give this one a try 😄
Thanks for all your hard work!
I’m excited!
I have no expectation of being competitive, but I’ll enjoy the challenge!
Can't wait to see the results!!!
this is such a cool idea!
since i now have summer break, i may be able to participate in this challenge.
im hoping to see really interesting implementations by other people.
Ty for giving me something to do over summer break
This is incredible! Will definitely participate!
Looks like an amazing idea! can't wait to participate.
What a great idea! I love this. Can't wait to play with it.
Simply incredible, this is the best programming and community channel I've ever seen, what channel does a coding challenge this way??? A lot of inspiration to my projects come from this guy. Good luck to everyone, and good work, Sebastian!! :D
We are incredibly lucky to have Sebastian alive at our time!
@@peterszilvasi752 he is our savior XD
This seems really fun! Recently did the GMTK game jam so I've got an appetite for making crappy attempts at programming challenges :P
This seems like a lot of fun. Can't wait to see what people come up with. Might even participate myself...
Awesome! This'll be a fun way to dip back into C# and start learning about chess bots.
I was too late, but had fun making a bot nonetheless! Thanks for the Challenge! You're my programming hero!
This is actually really cool, great idea!
This reminds me of Robocode, a Java tanks coding challenge few many years ago where you would deploy a jar file in a Java program that would load your bot and made it play with other bots. There were tons of strategies discussed, lots of submission sections. I'm really glad someone revived the concept.
I saw the thumbnail and this challenge looks like it will be fire, but it's sad my coding knowledge is thinner than paper
Really like the limitations you've thought of ! At first I was thinking it didn't seem to interesting if some people would just basically reimplements stockfish but now I'm really curious how everyone will approach the challenge et seriously considering to give it a go !
This is so cool! I’m totally gonna participate
Im a bit late but I will join the challenge now and I really look forwar for your result video :D
I did it. A last minute submission. "Good Bot Bad Bot (But Really, Both Are Terrible Bots, Also This In The Parenthesis Is Part Of The Name)" has joined the fray!
This is amazing, full stop.
Earlyyy love everything you put out sebastian
Im going to learn coding just to participate in this. Good luck all.
This is a pretty difficult coding challenge for somone just starting out, I hope you do well though!!!
Can't wait to get started! I've been wanting to try a chess bot
I like how happy you sound in these videos :P
Gonna try this out and see what I can make. It’s gonna be my first programming challenge but I’m looking forward to what I end up being able to make.
This seems like a fun challenge, I know I def won't do well but it'll be fun to still try!
This is amazing!
This will be fun for summer break, haven't coded in a few years but I love your videos and would like to try again. Although tbh I didn't find the chess videos that good compared to videos like procedural generation or portals.
OMG can this be its own thing? MOAR coding challenges please!