# Awesome Chess

A curated list of assets availible on the Internet related to chess.

Inspired by the awesome list thing. You might want to read the complete awesome list.

### Contributing

Kindly go through Contribution Guidelines first.

## Content

- Books
- FEN Parsers
- Move Validators
- Bots
- Websites
- Boards
- Board Notations
- Pieces
- Talks

## Books

Books to read on chess.

- Chess Problems - Collection of chess puzzles.
- Chess strategy - HTML version of chess strategy by Edward Lasker.
- Sicilian Dragon - 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 - A parser for Forsyth-Edwards Notation wriitten in Python.
- fen by ucarion - A Rust Forsyth-Edwards notation parser with proper error handling.
- fen-diagram by andyherbert - JavaScript for generating chess diagrams using Forsyth-Edwards notation.

## Bots

Bots are algorithms involving artificial intelligence to play against a user.

- latrunculorum - A simple chess bot in Python.
- Chessbot - Bot written in Java.

## Move Validators

Validators are tools for checking authenticity of a move.

- chess.js - chess.js, Structured code for chess authentication.
- npm chess package - An algebraic notation driven chess engine that can validate board position and produce a list of viable moves.
- Chessnut - 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 - A simple single page chess playing application facilitating the play of chess.
- 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 - Play as well as learn chess from chess24 with the best of tutorials.
- chessbase.com - Lucrative, single page application for playing chess.
- chess.com - Learn and play chess with over 5 million other users.
- chesscademy.com - Watch videos, solve puzzles, and play games. All for free. (Works similar to Khan Academy.)
- chesstempo.com - Online chess tactics training site.
- chessprogramming.wikispaces.com - Repository of information about programming computers to play chess.
- 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 - chessboard.js is a standalone JavaScript chess board.
- chess-board - A web component for displaying chess positions. It takes FEN string as input and renders the board as output.
- jchess - A jQuery based JavaScript library for parsing and displaying chess games. Currently takes FEN and PGN as inputs.
- 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.

- FEN - A FEN “record” defines a particular game position, all in one text line and using only the ASCII character set.
- PNG - 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
  - ICCF numeric notation - Official chess game notation for all International Correspondence Chess Federation games.
  - Smith Chess Notation
  - Descriptive Notation

## Pieces

This includes the tools for getting artwork for various pieces of chess.

- Spiral Pieces in 3-D
- Pieces on Wikipedia
- Chess Pieces in Unicode
- Icons on flaticons
- Icons on thenounproject

## Talks

Talks on chess.

- Understanding Chess Mastery -Talk on understanding chess mastery by Jennifer Shahade.
- How Chess Can Revolutionize Learning - Talk on how chess can revolutionize learning by Cody Pomeranz.
- Working backward to solve problems - Talk on working backward to solve problems by Maurice Ashley
- Chess Life
- Why Chess is Boring - Talk on why chess is boring by Bobby Fischer
- Chess Peeps