Coder Social home page Coder Social logo

boxfish's Introduction

Build-Windows Build-Linux

Boxfish

C++ UCI Chess engine inspired by Stockfish.

Features

  • Bitboards and magic bitboard move generation
  • UCI protocol
  • Search:
    • Transposition table with Zobrist hashing
    • PVS search
    • Aspiration windows and iterative deepening
    • Eval pruning
    • Razoring
    • Adaptive null move pruning
    • Futility pruning
    • Internal iterative deepening
    • Singular extension
    • Late move reduction
    • Quiescence search with delta pruning
  • Evaluation:
    • Material
    • Piece squares
    • Blocked pieces
    • Passed pawns
    • Weak pawns
    • King safety
    • Space
    • Knights, Bishops, Rooks, Queens
  • All perft tests passed
  • Pondering
  • SEE move ordering

Installing:

  1. Download or clone this repository.
  2. If on windows run the Scripts/Win-GenProjects.bat script to generate the Visual Studio 2019 project and solution files.

Building on Windows:

  1. Run Scripts/Win-GenProjects.bat and build the solution using Visual Studio 2019.
  2. Build outputs are located in the bin directory.

Building on Linux:

  1. Run Scripts/Linux-GenProjects.sh to generate the Makefiles.
  2. Run make -j<number_of_cores> Boxfish-Cli to build Boxfish.
  3. Build outputs are located in the bin directory.

Building Python SWIG Bindings:

  1. Copy SwigConfig.lua.example to SwigConfigWindows.lua or SwigConfigLinux.lua depending on operating system
  2. Update the relevant information in the config file
  3. Run the relevant {os}-GenProjects script
  4. Build the Boxfish-Swig project as you normally would on your operating system (on linux you must use config=distshared or config=releaseshared)
  5. This will generate a .py and a shared object file in the bin directory

boxfish's People

Contributors

totomosic avatar

Watchers

James Cloos avatar Roelof Berkepeis avatar  avatar Protej avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.