Chess Engine
Chess engine using neural networking and revolutionary Pattern recognition paired with a candidate Move Ideology
OFFICIAL DISCORD SERVER: https://discord.gg/swTEcQW
This engine uses C++ only and is aimed to work on any operating system without any external libraries.
To use the engine, an XBoard compatible Chess-UI (Arena is a good free choice) is needed.
On Linux, you can simply browse to the main folder of baumhaus and run
$> make
The program will be found in the bin/
folder.
After that, add the created file (baumhaus) to your chess-UI
On Windows I would recommend using mingw-w64 to emulate the linux environment. We don’t recommend using the Visual Studio Compiler, as it may require extra header files (e.g. stdafx.h
), which are not part of the project, nor should they be as we aim to be platform independant.
mingw-w64 is a fork of MinGW with added features, such as support for pthreads which are needed for this project. Find out more and download at: https://mingw-w64.org/doku.php
In order to compile using the makefile, use mingw32-make.exe
which should come as a part of the mingw-w64 installation:
$> mingw32-make
To clean the project, just use the clean target:
$> mingw32-make clean
You will find the execuatable in the bin\
folder.
You can now add the engine to an XBoard Compatible Chess UI.
—Todo
-d
or --debug
Launch the Engine with debugging enabled. This will turn on debug output, which may interfere XBoard protocol. Use for testing.
-h
or --help
Displays the help text for the engine, and shows available options and usage.
Neural Networks will only be used when the engine has grown bigger
These rules may not be the best, however they help keep a certain consistency in our project. Commits that dont follow these rules will be deleted.
EVERY STATEMENT SHOULD BE IN IT’S OWN LINE OF CODE!!!
things like
cout << "HI" ; cout << "HI";
are not goot.
Rather use
cout << "HI";
cout << "HI";
ALWAYS indent with two spaces. Simulated spaces are ok
The curly brackets should be placed after the statement
e.g.:
if(true) {
}
NOT
if (true)
{
}
You should comment as many lines as possible IN ADDITION to clear code!!!
NEVER put in comment that lie.
For coding this project, we use camelCase in function and variable names. This means, every word in the name begins with a capital except for the first word.
EXAMPLES:
mySimpleVariable
helloWorld
jamesBond
The variables should have meaningful names and shouldn’t contain signs as they might be incompatible to some compilers.
The engine has to be compatible with every XBoard compatible system. Therefore, no techniques should be used that might be in conflict with some Operating-Systems.
There are many different branches. Commit to the branch that fits best your code. Also, don’t push to master.
Make a PR, when the feature in your branch is finished.