Hi, talkchess community!
I'd like to introduce you the bare minimum chess program I've written in javascript that can be played online here: https://maksimkorzh.github.io/bmcp_js/
This won't be interesting to those who writes 2500+ Elo rated engines, but for beginners who wants to write simple and minimalist chess for fun.
It doesn't support castling and enPassant captures for simplicity. Move legality checking is also absent, so feel free to cheat)
I'll appreciate your feedbacks!
Take care!
Bare minimum chess program in javascript
Moderators: hgm, Dann Corbit, Harvey Williamson
Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
- maksimKorzh
- Posts: 690
- Joined: Sat Sep 08, 2018 3:37 pm
- Location: Ukraine
- Full name: Maksim Korzh
- Contact:
Bare minimum chess program in javascript
Bare minimum chess variants in vanilla JavaScript
https://maksimkorzh.github.io/bmcp-variants/
Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ
https://maksimkorzh.github.io/bmcp-variants/
Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ
Re: Bare minimum chess program in javascript
Good start!
Not handling all legal moves while allowing illegal moves is undesirable.
Also, after I (illegally) captured using a pinned pawn, the engine moved its (unprotected) Queen adjacent to my King and announced checkmate, ending the game. Not only could I have captured the Queen, but my King also had a square to flee to. So mate-detection code needs work.
Not handling all legal moves while allowing illegal moves is undesirable.
Also, after I (illegally) captured using a pinned pawn, the engine moved its (unprotected) Queen adjacent to my King and announced checkmate, ending the game. Not only could I have captured the Queen, but my King also had a square to flee to. So mate-detection code needs work.

Re: Bare minimum chess program in javascript
Pawn promotion seems missing.
- maksimKorzh
- Posts: 690
- Joined: Sat Sep 08, 2018 3:37 pm
- Location: Ukraine
- Full name: Maksim Korzh
- Contact:
Re: Bare minimum chess program in javascript
Thanks for your feed back. To be exact it's not start bat rather the end) I've been doing chess programming for 3 years, wrote several engines in C with full FIDE rules. This program is more like a summary of my overall chess programming experience)zullil wrote: ↑Sat Jun 08, 2019 10:29 amGood start!
Not handling all legal moves while allowing illegal moves is undesirable.
Also, after I (illegally) captured using a pinned pawn, the engine moved its (unprotected) Queen adjacent to my King and announced checkmate, ending the game. Not only could I have captured the Queen, but my King also had a square to flee to. So mate-detection code needs work.![]()
Bare minimum chess variants in vanilla JavaScript
https://maksimkorzh.github.io/bmcp-variants/
Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ
https://maksimkorzh.github.io/bmcp-variants/
Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ
- maksimKorzh
- Posts: 690
- Joined: Sat Sep 08, 2018 3:37 pm
- Location: Ukraine
- Full name: Maksim Korzh
- Contact:
Re: Bare minimum chess program in javascript
Thanks for reporting bug, RubiChess, already fixed. I've overlooked that while porting code from C to JS
Bare minimum chess variants in vanilla JavaScript
https://maksimkorzh.github.io/bmcp-variants/
Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ
https://maksimkorzh.github.io/bmcp-variants/
Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ