# Awesome Chess [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) A curated list of assets availible on the Internet related to chess. *Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. You might want to read the complete [awesome](https://github.com/sindresorhus/awesome) list.* ### Contributing Kindly go through [Contribution Guidelines](https://github.com/hkirat/awesome-chess/blob/master/CONTRIBUTING.md#contribution-guidelines) first. Content --- - [Books](#books) - [FEN Parsers](#fen-parsers) - [Move Validators](#move-validators) - [Bots](#bots) - [Websites](#websites) - [Boards](#boards) - [Board Notations](#board-notations) - [Pieces](#pieces) - [Talks](#talks) Books --- *Books to read on chess.* - [Chess Problems](https://kairavacademydotcom.files.wordpress.com/2013/06/john-thursby-75-chess-problems.pdf) - Collection of chess puzzles. - [Chess strategy](http://www.gutenberg.org/cache/epub/5614/pg5614-images.html) - HTML version of chess strategy by Edward Lasker. - [Sicilian Dragon](http://www.chesscity.com/PDF/Sicilian_Dragon_Black_Attacks_ssd.pdf) - Attacking plans for black. FEN Parsers --- *Forsyth–Edwards Notation (FEN) is a standard notation for describing a particular board position of a chess game.* - [fenparser by tlehman](https://github.com/tlehman/fenparser) - A parser for Forsyth-Edwards Notation wriitten in Python. - [fen by ucarion](https://github.com/ucarion/fen) - A Rust Forsyth-Edwards notation parser with proper error handling. - [fen-diagram by andyherbert](https://github.com/andyherbert/fen-diagram) - JavaScript for generating chess diagrams using Forsyth-Edwards notation. Bots --- *Bots are algorithms involving artificial intelligence to play against a user.* - [latrunculorum](https://github.com/benwr/latrunculorum) - A simple chess bot in Python. - [Chessbot](https://github.com/jfabeel/Chessbot) - Bot written in Java. Move Validators --- *Validators are tools for checking authenticity of a move.* - [chess.js](https://github.com/jhlywa/chess.js) - chess.js, Structured code for chess authentication. - [npm chess package](https://www.npmjs.com/package/chess) - An algebraic notation driven chess engine that can validate board position and produce a list of viable moves. - [Chessnut](https://github.com/cgearhart/Chessnut.git) - Chessnut is a simple chess board model written in Python. It provides functionality of parsing FEN and generating a list of legal moves for each FEN representation. Websites --- *Websites include platforms for people to play chess.* - [multiplayerchess.com](http://multiplayerchess.com) - A simple single page chess playing application facilitating the play of chess. - [lichess.org](http://en.lichess.org/) - One of the most mature platforms for playing chess on the internet. It is open source too. It is equipped with daily puzzles and an TV to spectate other matches. - [chess24.com](https://chess24.com/en/play/chess) - Play as well as learn chess from chess24 with the best of tutorials. - [chessbase.com](http://play.chessbase.com/js/apps/playchess/) - Lucrative, single page application for playing chess. - [chess.com](http://www.chess.com/) - Learn and play chess with over 5 million other users. - [chesscademy.com](https://www.chesscademy.com/) - Watch videos, solve puzzles, and play games. All for free. (Works similar to Khan Academy.) - [chesstempo.com](http://chesstempo.com) - Online chess tactics training site. - [chessprogramming.wikispaces.com](https://chessprogramming.wikispaces.com/) - Repository of information about programming computers to play chess. - [freechess.org](http://freechess.org/) - The 'Free Internet Chess Server' (FICS) is one of the oldest Internet chess servers. There are lots of client applications for almost every device, operation system or webbrowser available. Boards --- *Boards are tools for encapsulating the process of rendering a board.* - [Chessboard.js](https://github.com/oakmac/chessboardjs/) - chessboard.js is a standalone JavaScript chess board. - [chess-board](https://github.com/laat/chess-board) - A web component for displaying chess positions. It takes FEN string as input and renders the board as output. - [jchess](https://github.com/bmarini/jchess) - A jQuery based JavaScript library for parsing and displaying chess games. Currently takes FEN and PGN as inputs. - [Chessboard-js](https://github.com/caustique/chessboard-js) - A responsive mobile-first JavaScript chessboard library. Board Notations --- *Notations are a way of expressing the properties of the board in textual format. [Tutorial on Chess Notations](http://chess.eusa.ed.ac.uk/Chess/Rules/notation.html).* - [FEN](https://en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notation) - A FEN "record" defines a particular game position, all in one text line and using only the ASCII character set. - [PNG](http://www6.chessclub.com/help/PGN-spec) - PGN is structured "for easy reading and writing by human users and for easy parsing and generation by computer programs." - Other Notations - [Algebraic Chess Notation](https://en.wikipedia.org/wiki/Algebraic_notation_(chess)) - [ICCF numeric notation](https://en.wikipedia.org/wiki/ICCF_numeric_notation) - Official chess game notation for all International Correspondence Chess Federation games. - [Smith Chess Notation](http://www6.chessclub.com/chessviewer/smith.html) - [Descriptive Notation](https://en.wikipedia.org/wiki/Descriptive_notation) Pieces --- *This includes the tools for getting artwork for various pieces of chess.* - [Spiral Pieces in 3-D](https://www.thingiverse.com/thing:470700) - [Pieces on Wikipedia](https://commons.wikimedia.org/wiki/Category:PNG_chess_pieces/Standard_transparent) - [Chess Pieces in Unicode](https://en.wikipedia.org/wiki/Chess_symbols_in_Unicode) - [Icons on flaticons](http://www.flaticon.com/search/chess) - [Icons on thenounproject](https://thenounproject.com/search/?q=chess) Talks --- *Talks on chess.* - [Understanding Chess Mastery](https://www.youtube.com/watch?v=fPopQaY7Og4) -Talk on understanding chess mastery by Jennifer Shahade. - [How Chess Can Revolutionize Learning](https://www.youtube.com/watch?v=A3yDvM8aplY) - Talk on how chess can revolutionize learning by Cody Pomeranz. - [Working backward to solve problems](https://www.youtube.com/watch?v=v34NqCbAA1c) - Talk on working backward to solve problems by Maurice Ashley - [Chess Life](https://www.youtube.com/watch?v=lgCSo1Txw3c) - [Why Chess is Boring ](https://www.youtube.com/watch?v=7EuxVOgrEig) - Talk on why chess is boring by Bobby Fischer - [Chess Peeps](https://www.youtube.com/watch?v=p027ysBt0_M)