Chess AI

Game Introduction

Most recent game - "Connect 4": https://scratch.mit.edu/projects/1114744709 Plays a lot better on: https://turbowarp.org/148769358 GoK Chess Classic version: https://scratch.mit.edu/projects/828094886/ GoK Online Chess (remote players, public viewing): https://scratch.mit.edu/projects/209130998/ Win over Stockfish 16 level 8: https://scratch.mit.edu/discuss/post/8134928/ How this project was done: (1) https://scratch.mit.edu/discuss/post/2967632/ (2) https://scratch.mit.edu/discuss/post/8014663/ Forum: https://scratch.mit.edu/discuss/topic/248984/ Thanks a lot to the Smallbrain Chess project for NNUE model data. GoK Chess NNUE would not have been possible without their work. Smallbrain can be found at: https://github.com/Disservin/Smallbrain/ Opening Book by @Grijfland (thanks a ton, that was a lot of work!) AI Bot image licensed via shutterstock.com Piece sprite SVGs licensed via shutterstock.com You cannot reuse these assets, they require a special license. Graphics from external sources all labeled free for non-commercial use. See links below. Board image: https://upload.wikimedia.org/wikipedia/commons/5/5b/Chess-niemann.PNG Intro screen image: https://pixabay.com/p-316657/ Sound Effects: http://www.fromtexttospeech.com/ https://freesound.org/ Original quicksort implementation (had to fix one bug to keep local stack state): https://scratch.mit.edu/projects/41440388/

How To Play

Welcome to "Scratch Chess AI - Game of Kings". FAQs: - "There is a bug!" Unlikely, 860k visitors, no known issues. Consult experienced player, read instructions. - "Why invalid move?" Likely keeps / puts you in check. - "I still found a bug!" Please describe in detail, and click "Export", then copy & paste FEN (board) or PGN (moves) data into a comment. - "How to move?" Click piece, then click target square. - "Too difficult!" Switch to level Easy 1 or 2, at which the engine makes semi-random moves. - "Too easy!" Play level Difficult on TurboWarp (a Scratch runtime 50x faster than Scratch 3): https://turbowarp.org/148769358 If you win against level Difficult, please copy/paste PGN data for analysis (click "Export"). Scratch is not well suited for CPU-intense calculations (interpreted, missing language features like bitwise operations, slow by design), that is why a Scratch chess engine will always have limited playing strength. TurboWarp is faster, but still has to emulate Scratch, which slows it down. - "Too slow" The engine is think time bound, and takes exactly as long as designed. You can change think time on levels Medium and Difficult by pressing 't' and adjusting the custom think time value (in seconds). - "How to castle?" Move the king two squares towards the rook; king must not be in check, none of the passed squares must be attacked, and neither king nor rook must have moved before. - "Board is set up incorrectly" Maybe you mixed up king and queen. - "King and queen move the wrong way" Maybe you mixed up king and queen? - "King and rook moved at the same time" That's called 'castling', and is a valid move. - "Opponent pawn captured my pawn which had already passed it by moving two squares before!" That's called 'en-passant', and is a valid move. - "Why is it a draw when the engine mainly has its king left and I still have pieces?". Most likely draw by stalemate (no legal move but also not checked) - "How do I copy FEN or PGN data?" Click "Export", triple-click FEN or PGN data, press Ctrl-C (Windows) or right-click / select "Copy". - "How to play en-passant?" Move your pawn diagonally by one square, behind the opponent pawn which just moved two squares. - "What does the black/white bar on the right side of the board indicate?" It shows the current evaluation of the board, so either black's or white's lead in the game. Difficulty levels: - Easy 1: searches 1 ply, makes many deliberate mistakes - Easy 2: searches 1 ply, makes some deliberate mistakes - Blitz 1: searches 2 plies (4 on TurboWarp) plus subsequent captures / checks - Blitz 2: searches 3 to 4 plies (8 on TurboWarp) plus subsequent captures / checks - Medium: think time 15 seconds for midgame - Difficult: think time 25 seconds for midgame, 15 seconds for endgame. The fast TurboWarp runtime will add ca. 6 plies on Medium and Difficult, and roughly doubles the plies on Blitz 1+2. Press 't' for changing think time on levels Medium and Difficult Press 'd' for debugging info (evaluation, search depth, NPS, MPS) Press 'p' for profiler modes (Stats, time spent per function and search depth, number of transposition table hits) BUG REPORTS: Please describe exactly what happened, and provide exported board data: Click "Export", then look for the FEN data, select the text by triple-clicking it, copy it to the clipboard and paste it to the bug comment. Alternatively you can also export the move list in PGN format. Before you post a bug, go sure it really is a bug and not a misunderstanding, e.g. you may want to consult an experienced chess player beforehand.

Author

ArnoHu

Category

Game Information

Game Popularity

864.2k views

Collection Count

11.1k favorites