docs | ||
sprites | ||
src | ||
test | ||
.drone.yml | ||
.gitignore | ||
CMakeLists.txt | ||
Dockerfile | ||
README.md |
Background
During the Covid pandemic I started a project of building a custom 3d printed chess board. What make's this so special you may ask? This chess board has lights under each of the 64 locations and hall effect sensors to track when peices are picked up and put down. Then using the lights we could light up where peices can move to when they picked up as a way to help new chess players(like my nephew 😄).
To take a break from the mechanical board for a second I started working on the software needed, but wanted an easy way to prototype the software without having hardware yet. As such I used SDL to emulate what the game logic would look like.
The final intent is to pull out all of the emulation code and convert what remains into a library that both this emulator and chessboard firmware can use.
Todos
- Game logic, including corner cases like casteling, and en passant.
- Add fen strings to be able to read and set game state.
- Lighting up possible moves and detecting errors(cheating)
- Refactor into a library.
- Animating the light up sequences
- Integrate stockfish to be able to play against an AI. Or have the AI recommend movesl.
Building & Running
cmake -S ./ -B build/
cmake --build build/
./build/src/Chess