Skip to content

alex65536/Chess256

Repository files navigation

Chess 256

Chess256 logo

Welcome to the Chess 256 reposiory! :)

Contents

About the program

Chess 256 is a chess program for playing, editing and analysing chess games. This project was supposed to be a very powerful chess application, but many features are missing by now. Though, many basic things have been already implemented.

The project is still considered in alpha state for some reason. Still, it's quite stable to use, as no critical bugs were found for a large amount of time.

Screenshots

Screenshot

Features

  • Support for standard chess formats (PGN for chess notation, FEN for positions and UCI chess protocol).

  • Powerful PGN editor (support for comments, NAGs, variations...).

  • Playing games between players, between engines and player vs engine.

  • Also there is analysis mode, where you can add variations, comments, etc.

  • Advanced time control options (you can define options like this: 2 hours per 40 moves, then 1 hour per following 20 moves and then 1 hour for the rest of the game.

  • Written on Free Pascal using Lazarus IDE

Missing things

  • Game analysis.

  • Charts showing position cost change in different moments of time.

  • Notation nodes showing position cost and time stamp.

  • Advanced notation features, such as diagrams.

  • Games database.

  • Support for a wider range of chess engines (WinBoard/XBoard, ...)

  • Notation printing and exporting (to RTF, PDF, ...)

  • Customization, custom icon sets, board pieces, etc.

Some missing things may also be found in Todo.txt.

History

I started this project in 2016. The purpose was to make a complete chess environment that has a wide range of features. I didn't know about git and GitHub at that moment of time, so previous version of Chess 256 were kept locally, without any version control system. In this period of time, the core of the project was developed: chessboard, clock, notation, engine subsystem and so on. But I abandoned the development.

In January 2018, I found this project and decided to release it under the GNU GPL. It took me some time to reformat all the sources and add GPL license headers for this.

I don't know if the development of Chess 256 will continue. But everyone is welcome to contribute to this repository and I will accept patches and, if there will be enough attention to my project, I will continue development :)

Many things has changed from 2016, especially in Lazarus and FPC, many things were improved in them. So, there is some legacy code in Chess 256 to replace parts of Lazarus that were unstable or missing in 2016 (e. g. imitation docked interface instead of using AnchorDocking package). This parts will be removed.

Supported platforms and pre-requisites

At first, it uses FPC/Lazarus and, as Lazarus states, "write once, compile anywhere". But, as it appears, Chess 256 doesn't work correctly with some widgetsets.

Chess 256 is tested to work correctly on Windows and GNU/Linux. The best supported widgetset is gtk2. win32 widgetset also works pretty well, but the chessboard renders uglier.

Other widgetsets are not tested or unsupported:

  • qt (and qt5) has problems with rendering the notation.

  • fpgui and customdrawn (checked on GNU/Linux) have problems with even lauching the program.

  • carbon and cocoa are not tested.

Chess 256 successfully builds on Lazarus 2.0 with FPC 3.0.4, but with some fixes it can be easily built in Lazarus 1.8.x and Lazarus 1.6.x with FPC 3.0.x. Older versions of FPC and Lazarus were not tested.

Stockfish is the default chess engine for Chess 256. You will need the stockfish executables to run the program successfully.

Building Chess 256

Pre-requisites for building Chess 256 from sources:

  • Common: make.
  • Chess 256 application: lazarus (>= 1.8), fpc (>= 3.0.4)
  • Stockfish: g++
  • Chess 256 icons and glyphs: inkscape, imagemagick

First, you may need to install the CmdBox package into the IDE (located at Packages/CmdBox).

For building Chess 256, you may use GNU Make. Makefile of the project has many different targets for building different parts of the project (the application, Stockfish engine or images).

Also, the project can be built from the Lazarus IDE.

On Debian-based systems you can also build a .deb package for Chess 256. Use make deb or debuild -us -uc.

Third-party software used by Chess 256

  • Stockfish chess engine

  • CmdBox package which provides a command line component for the debug console. NOTE: Chess 256 uses the modified version of CmdBox, which adds some new methods to this component. The modified version can be found in this repo, Packages/CmdBox directory.

License info

License: GPL 3+.

Chess 256 is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Chess 256 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

About

Chess 256 is a chess program for playing, editing and analysing chess games.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages