Welcome to the Chess 256 reposiory! :)
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.
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
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.
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.
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.
Pre-requisites for building Chess 256 from sources:
make
.lazarus (>= 1.8), fpc (>= 3.0.4)
g++
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
.
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: 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.