ChessVar banner

ChessVar

10 devlogs
53h 57m 43s

ChessVar is a desktop chess application supporting popular chess variants.

This project uses AI

AI(ChatGPT) was used for some code generation, debugging and graphics(logos).

Demo Repository

Loading README...

Jimi

Shipped this project!

Hours: 17.69
Cookies: 🍪 280
Multiplier: 13.17 cookies/hr

Key changes to the game:

  • Chess Puzzle mode - Solve chess puzzles to improve your tactical skills.
  • Game history - View your games after some time to learn on your mistakes.
  • Keyboard Shortcuts - easily navigate through the game
  • Full-screen mode - bigger chessboard = bigger chance to win
    Additionally I introduced YOUR suggestions(from reviews):
  • more bot levels
  • more detailed devlogs and readme file
  • UI improvements
    I had a lot of fun making this game. I hope you enjoy playing it too!
Jimi

New update:
Introducing game history tab:

  • Automatic saving of finished games (with result, reason, mode, variant, move count, and move list)
  • Reopen past games in read-only review mode
    Full-screeen mode full supported on all platforms!
    ChessVar stores user progress/history locally in:
  • ~/.chessvar/puzzle_progress.json
  • ~/.chessvar/game_history.json
    Upgraded Chess Puzzles mode:
    • Loads puzzles from bundled CSV
    • Hint system (highlights the correct piece)
    • Show solution (arrow + UCI move)
    • Tracks solved puzzles and stores progress locally
    • Randomized order of unsolved puzzles
Attachment
0
Jimi

Big Update!:

  • Introducing chess puzzles
  • Full-screen mode
    In this update I added responsive scaling for the whole UI (board, puzzle panel, game sidebar, and main menu), so fullscreen and large windows look much better.
    I also improved puzzle mode technically by adding random unsolved puzzle selection, persistence of solved puzzles in ~/.chessvar/puzzle_progress.json, and stable puzzle flow (after correct move, user must click Next Puzzle).
    A key fix was preventing board rotation after solving a puzzle by introducing preserve_pov_on_move and enabling it in puzzle mode.
    Additionally, we added an F11 fullscreen shortcut in the main window.
    Some UI polishing has to be done before shipping. Happy hacking!
Attachment
0
Jimi

##Key Changes:
-Added bot move animation and smooth transitions when stepping through move history.
-Expanded bot difficulty to 5 tiers with distinct pacing and behavior.
-Improved UX by blocking moves when viewing past positions (with clear feedback).
-Added keyboard shortcuts and a dedicated shortcuts dialog in the main menu.

##Bot (Difficulty & Pacing):
-Beginner → random moves, instant
-Novice → very fast engine
-Intermediate → short think time
-Advanced → longer think time
-Master → longest think time

##UX & Controls:
← / →: previous/next move
Home / End: first/latest position
Ctrl+N: new game
Ctrl+M: main menu
Ctrl+S: export PGN

##UI Improvements:
-Improved variant descriptions (playstyle + rules).
-Enhanced title and subtitle visibility.
-Moved Rules and Shortcuts to a side panel.

##Fixes:
-Fixed crash when rapidly clicking New Game during bot operations.
-Prevented stale bot responses from applying after reset.
-Fixed errors when moving quickly after the opponent (validation + legality checks).

Attachment
0
Jimi

Shipped this project!

Hours: 36.27
Cookies: 🍪 505
Multiplier: 13.93 cookies/hr

I build chess game where you can play popular chess variants! The most challenging thing was definetly GUI. I had no previous experience in building such games which caused a lot of bugs. But with a lot of hours spent I hope I fixed them all. Happy hacking!

Jimi

Progress:

  • Bug fixes
    Thoughts:
    When testing on windows I saw a bug with theme and decided to fix it.
Attachment
0
Jimi

Progress:
-Many bug fixes
-Preparing for publishing
Thoughts:
The game is finished.

Attachment
0
Jimi

Progress:

  • Working sidebar
  • Game history
  • Exporting game as FEN or PGN
  • Drawing arrows and highlighting squares on board for better calculations
    Thoughts:
    I think the end is near.
Attachment
0
Jimi

Progress:

  • Player vs Player mode
  • move indicator
  • choosing bot level
  • minor changes, bug fixes
    Thoughts:
    It’s going great. I’m getting better at python and pyside6.
Attachment
0
Jimi

Progress:

  • Finished all chess rules(castle, en passant, and others)
  • Added option to play against a bot
  • Improvments in provious code (it wasn’t scalable)
    Thoughts:
    It’s hard, but I hope I can finish this project.
Attachment
0
Jimi

Progress:

  • Generating figures
  • Moving figures
  • Improving backend
  • Sketch of the sidebar on the right
    Thoughts:
    Maybe making UI is not that hard.
Attachment
0
Jimi

Progress:

  • basic game mechanic using python-chess
  • generating chess board
    Thoughts:
    I’m trying to learn Qt doing this project, but it isn’t going great.
Attachment
0