Welcome to "Scratch Chess AI - Game of Kings" (GoK) This is a neural network Chess AI. - "Why invalid move?" Likely keeps / puts you in check. - "There is a bug!" Unlikely, 1,000,000 visitors, 20,000 automated test games, no known issues. Consult experienced player, read instructions. For a bug report, click Export and copy / paste FEN / PGN data into comment. - "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, depending on the selected level. - "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 start wrong or 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 '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.
Plays a lot better on: https://turbowarp.org/148769358 GoK Chess Classic (handcrafted evaluation): https://scratch.mit.edu/projects/1033379869/ Forum: https://scratch.mit.edu/discuss/topic/248984/unread/ Latest Tournament: https://scratch.mit.edu/discuss/post/9356606/ On TurboWarp, win over Stockfish 16 level 8: https://scratch.mit.edu/discuss/post/8134928/ Draw against Chess.com Maximum Bot 25 (3200): https://scratch.mit.edu/discuss/post/8963474/ Ranking: https://scratch.mit.edu/discuss/post/8660211/ "Connect 4": https://scratch.mit.edu/projects/1114744709 Plays a lot better on: https://turbowarp.org/148769358 GoK Online Chess (remote players, public viewing): https://scratch.mit.edu/projects/209130998/ 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/ Remix instructions: Remix BEFORE playing, otherwise lists will be too large for saving. Original opening book by @Grijfland (thanks a ton, that was a lot of work!) Opening book data by @S_P_A_R_T AI Bot image licensed via shutterstock.com Piece sprite SVGs licensed via shutterstock.com You cannot reuse these assets, unless you have also purchased a license from shutterstock.com Other 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/