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!

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