zakuchess
A free and open-source "daily chess challenge" game, where you play against a computer opponent with pixel art graphics…
Zakuchess
Chess with character(s)
A free and open-source "daily chess challenge" game, where you play against a computer opponent with pixel art units.
No analytics, no tracking, no ads - it was built purely for fun, and to check how far I could go with a reactive User Interface powered by htmx 🙂
The game lives at zakuchess.com.
The stack
- Programming language: Python
- Web framework: Django
- Database: SQLite
- Live user interface: htmx
- HTML templating: DOMinate
- CSS framework: Tailwind CSS
- TypeScript compilation: esbuild
- Units art: The Battle for Wesnoth 🛡️
- Chess logic on the server: python-chess
- Chess logic in the browser: Stockfish (compiled in WebAssembly by the wonderful folks at Lichess 💙)
- Talking of Lichess... Most of the daily challenges are adaptations of games from their open source database of chess games and puzzles, so let's double that heart: 💙💙
- Tests suite: pytest
- Hosting: Fly.io
Running locally
- Python: Entirely managed by uv. The
make installcommand will make sure that the right version ofuvis installed in the "bin/" folder - which is not ignored by git. - Node.js: Make sure you have Node.js v18 installed.
We recommend nvm to handle specific versions of Python and Node.js, but you can of course use whatever you want :-)
$ python -V Python 3.11.x # <-- check that you get this output 🙂 $ node -v v18.x.x # ditto
Once you have these two installed, you can clone the repository and install the dependencies:
$ make install $ make dev
You can take a look at the Makefile to see more commands.
Roadmap
The roadmap now lives in a GitHub project:
Contributing
Improvements and bugfixes are welcome, but also new "daily challenges"!
When playing chess online with other people, if you find yourself in a position that you think could be interesting for others to try to solve ♞, please feel free to open an issue to discuss its addition to the daily challenges database. 🙂
License
This project is licensed under the GNU General Public License v3 - see the LICENSE file for details.
more like this
cc65-Chess
Portable chess game in C. Commodore 64, Apple 2, Atari, Oric, Commander X16, curses terminal, etc.
