Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dgurkaynak/chess-ai
Medium strength Chess AI implementation in JavaScript
https://github.com/dgurkaynak/chess-ai
chess chess-ai chess-engine
Last synced: 2 months ago
JSON representation
Medium strength Chess AI implementation in JavaScript
- Host: GitHub
- URL: https://github.com/dgurkaynak/chess-ai
- Owner: dgurkaynak
- Created: 2016-12-30T09:21:00.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-05T18:36:21.000Z (about 2 years ago)
- Last Synced: 2024-04-14T13:12:55.397Z (9 months ago)
- Topics: chess, chess-ai, chess-engine
- Language: JavaScript
- Homepage: https://deniz.co/chess-ai/
- Size: 1010 KB
- Stars: 13
- Watchers: 5
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# chess-ai
Medium strength Chess AI implementation in JavaScript.
Available on: [https://deniz.co/chess-ai/](https://deniz.co/chess-ai/)
[![Demo](./demo.gif)](https://deniz.co/chess-ai/)
[Presentation](https://docs.google.com/presentation/d/0B0RFeAd0sIc6MjZWVGl4QS1nOXM/edit?usp=sharing&ouid=100564047032313877516&resourcekey=0-V7NSA6HjNHRjoazid7WxAg&rtpof=true&sd=true) | [Project Report](https://drive.google.com/file/d/0B0RFeAd0sIc6RzNOaHhRUFdCTnc/view?usp=sharing&resourcekey=0-BBCHIfowrM9p4eD0uki44Q)
## Method overview
- Search: Traditional minimax with alpha-beta and node ordering. Also un-even tree generation.
- Evaluation features:
- [Piece values](https://www.chessprogramming.org/Point_Value#Basic_values)
- [Piece value adjustments](https://www.chessprogramming.org/Material#Other_Material_Considerations)
- [Piece square tables](https://www.chessprogramming.org/Piece-Square_Tables)
- [King's shield](https://www.chessprogramming.org/King_Safety)
- [Blockages](https://www.chessprogramming.org/Trapped_Pieces)
- [Safe mobility](https://www.chessprogramming.org/Mobility#Safe_Mobility)
- [Attack count&weight](https://www.chessprogramming.org/King_Safety#Attacking_King_Zone)## Setup
- Install dependencies with `npm i`
- Start development server `npm start` and open `http://localhost:1234`
- To build run `npm run build`, server `./dist` folder with your favorite webserver.
- To run tests suites:```
node test/bratko-kopec.js
node test/ccr.js
node test/eigenmann-endgame.js
node test/kaufman.js
node test/lct.js
node test/nolot.js
node test/sbd.js
node test/wac300.js
```## Thanks
Special thanks to these projects that help me a lot in this.
- [Chess.js](https://github.com/jhlywa/chess.js)
- [Chessboard.js](http://chessboardjs.com/)
- [CPW](https://www.chessprogramming.org/Main_Page)