alex65536 / Chess256

Chess 256 is a chess program for playing, editing and analysing chess games.
GNU General Public License v3.0
3 stars 5 forks source link
chess fpc gui lazarus

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

Missing things

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:

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:

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

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.