Game Development··Rust

Chess.rs

A chess game built with GTK-RS and Rust.
Full‑stack developer

Overview

Chess.rs is a chess game application built entirely in Rust using GTK-RS for the graphical user interface. This project demonstrates the power of Rust's memory safety and performance characteristics combined with GTK's mature GUI toolkit to create a fully functional chess game.

The application provides a complete chess experience with a clean, intuitive interface and all standard chess rules implemented, including special moves like castling, en passant, and pawn promotion.

Key Features

Chess Engine

  • Complete rule implementation: All standard chess rules including check, checkmate, and stalemate detection
  • Move validation: Real-time validation of legal moves for each piece
  • Special moves: Support for castling, en passant, and pawn promotion
  • Game state management: Tracking of game history, captured pieces, and turn management
  • Checkmate detection: Automatic detection of checkmate and stalemate conditions

User Interface

  • GTK-RS based GUI: Modern, native-looking interface built with GTK4
  • Interactive board: Click-to-move interface with visual feedback
  • Move highlighting: Visual indicators for possible moves and selected pieces
  • Status display: Current player turn, check status, and captured pieces
  • Game history: Complete move history with navigation

Game Management

  • New game: Start a new game at any time
  • Move undo/redo: Navigate through game history

Technology Stack

Rust

Core programming language for both backend logic and GUI development.

GTK-RS

Rust bindings for GTK, used for building the graphical user interface.

Libadwaita

Used for adaptive design, responsive layout, and seamless dark/light mode support.