A strong javascript chess engine using WebWorkers
313
stars
101
forks
source link
Thanks
- Stockfish authors
- Crafty authors
Version 1.0
- Rewrote move generation for a big speed-up
- Pure material evaluation
- Null-move + Razoring + LMR in main search
- Hash table
Version 2.0
- Mobility evaluation (thanks Fruit)
- Bishop pair
- Rep-draw detection
- Better null-move pruning (thanks Stockfish)
- Better LMR (and again, thanks Stockfish)
- Bugfix with using hash move
- Some speed optimizations
Version 3.0
- 604.5/1000 or ~70 ELO better than previous version
- Killer moves
- Tuned PSQ tables/mobility
- Better king eval in endgame (won't stay on back row)
- Show '#' for checkmate
- Improved UI (new game, switch black/white, choose time/move)
- Fixed crashes from using invalid hash moves
- Other small bug fixes
- Speed optimizations
Version 4.0
- 594.5/1000 %:59.45 or 66 Elo better than previous
- SEE added (QSearch pruning, losing captures in main search)
- No nullmove in pawn endgames
- Fixed hashtable bugs (RNG was bad)
- Fixed starting position when playing black
- Added ability to analyze position for browsers that support it
- Added support for pasting FEN positions
Version 5.0
- Added checks in first ply of q-search (+15)
Version 5.1
- Bugfix to hashtable storing (no elo change, but big help in endgames)
Version 6.0
- Bonuses for knight attacking pieces (+20)
- Bonus for bishop pins (+40)
TODO:
- Only extend checks with SEE > 0?
- Single reply to check should be marked as dangerous.