Developer Guide

MadChess 3.x

  • MadChess 3.x uses bitboards board representation.
  • I chronicled the development of MadChess 3.1 in a series of blog posts.
  • I chronicled the development of MadChess 3.0 in a series of blog posts.

MadChess 2.0

  • MadChess 2.0 uses mailbox board representation.
  • I chronicled the development of MadChess 2.0 in a series of blog posts.

Compiling MadChess for Linux

Cosmo Bobak, a Linux user, asked how to compile MadChess source code for Linux. Not being a Linux user, I’d never attempted to and couldn’t provide a precise script. I outlined a procedure and Cosmo determined the exact command required in the last step. Here’s how:

  1. Download and install .NET 8.
  2. Open a command prompt in the directory containing the MadChess.sln file.
  3. Determine the Runtime Identifier (RID) for your Linux distro.
  4. Run the following command, substituting your RID for the -r argument. See dotnet build for details.
    dotnet build Engine -c release -r linux-x64 --self-contained

Update 2022 Dec 10: I use Visual Studio to build MadChess. A user, Bill Oatman, asked me how to build a single executable from the command line. I determined the following command works for Windows. I assume the same command would work for Linux, substituting a Linux RID for the -r argument.

dotnet publish Engine -c release -r win-x64 --self-contained -p:PublishedTrimmed=true
  -p:PublishSingleFile=true -o "[output directory]"

Comments are closed.