tuxDB - linux gaming aggregate
TUXDB - LINUX GAMING AGGREGATE
 NEWS TOP_PLAYED GAMES ITCH.IO CALENDAR CHAT WINE SteamDeck
 STREAMERS CREATORS CROWDFUNDING DEALS WEBSITES ABOUT
 PODCASTS REDDIT 

 

SUPPORT TUXDB ON KO-FI

MENU

ON SALE

New Twitch streamer aggregation implemented (#FuckTwitch) due to Twitch's API issues (more info on my Discord )


https://sebastian.itch.io/tiny-chess-bots


Starting in July 2023, I ran a friendly contest for programmers around the world to try to code their own chess bots. All they had to begin with was as a simple framework that handled basic operations such as generating legal moves and updating the state of the board. The rest was up to them!

As an extra challenge, the size of the bots was limited to just 1024 'tokens' of code. For example, the line 'int rookValue = 500' would count as 4 tokens: the variable type (integer), its name (rookValue), the assignment operator (=) and the numeric value (500).

This challenge ran for a little over 2 months, and by the end there were over 600 unique bots submitted. This is a selection of just a few of the many fantastic entries, covering a wide skill range from around 200 Elo all the way up to grandmaster level. Good luck defeating them!

Project source code

Meet the bots:

  1. The CopyCat (Elo: 192). Tries to mirror the moves of its opponent as closely as possible.  Far more impressive to lose to than to defeat!
  2. Bongcloud Enthusiast (Elo: 307). This bot will play the bongcloud no matter what. Beyond that, it moves randomly unless it can capture a piece, promote a pawn, or deliver checkmate!
  3. WhateverBot (Elo: 677). This bot tries it's best to play a good game of chess. It's only capable of looking one move ahead though, so it doesn't often achieve that goal. Still, it appreciates the value of developing pieces to safe squares, and retreating them when under attack.
  4. applemethod-orz (Elo: 1085). This bot cares only about material and tempo, and spends most of its time dreaming about capturing your pieces. Unlike the bots before it though, it's capable of looking ahead several moves into the future, so you'd best be on high alert!
  5. Squeedo (Elo: 1276). This bot likes to advance its pawns, develop its pieces, and get its king to safety. It also prefers positions where it has lots of possible moves, and its opponent has very few. Struggles with tactical lines though, often thinking that hanging pieces are doomed, instead of fully calculating the outcome.
  6. 200 Tokens Monstrosity (Elo: 1569). This bot uses only 200 of the available 1024 tokens (a personal challenge by the author), but is surprisingly strong nonethless. It cares about material and piece mobility, and has a decent search algorithm squeezed into its tiny brain, allowing it to calculate far better than the bots before it.
  7. Game Tech Explained (Elo: 1713). This bot has some idea of which squares its pieces will generally be good on, and is capable of looking ahead to figure out how to get them there. More importantly though, the code has been written to resemble a pawn. Some claim that this gives the bot superhuman chess powers, rendering it impossible for mere mortals to defeat.
  8. Electric Shockwave Gambit (Elo: 2001). In the tiny chess bot tournament, this sneaky bot tried to exploit a loop-hole in the rules in order to stun its opponents while they were thinking. Beyond that, it values both the mobility and safety of its pieces (and the opposite for its enemy of course!), and is able to look quite far ahead to achieve this.
  9. King Gambot IV (Elo : 2172). This bot uses many techniques to search deep into the position. It has a good understanding of where its pieces should be placed, but is hindered drastically by the king's (usually misplaced) faith in his ability to lead the attack. This entry was intended as a joke, but is nonetheless a force to be reckoned with.
  10. NNBot (Elo : 2246). This bot uses a neural network for its positional evaluations, though due to the competition's size limit, the network had to be very small and cleverly compressed. This gives it a good understanding of tempo and piece placement, and it's capable of searching fairly far into the future.
  11. TinyHugeBot (Elo: 2513). This team found a very clever exploit that allowed them to pack almost 5x as much code into their entry as anyone else, while still technically remaining within the limit. It has a good understanding of piece placement, and can quickly search quite deep into the position.
  12. Boychesser (Elo: 2772). The undisputed winner of the tiny chess bot tournament. This bot has been painstakingly optimized to see further ahead than all the others, allowing it often to crush its foes with tactical blows. Beyond this, it has a good understanding of piece placement, mobility, and pawn structure.