java-logo

One platform

Flux is written in Java and therefore runs on platforms where Java is available.


lgpl-logo

Open source

Released under version 3 of the LGPL. Fork it on GitHub if you like!


uci-logo

Universal Chess Interface

Pure engine, no graphical user interface. Go get Arena, one of the best GUIs!



Introduction

Flux Chess is an attempt to write a computer chess engine entirely in Java. The speed of most Java Virtual Machines is improving nowadays. However compared to other C/C++ chess engines Flux is still slow (or maybe my algorithms are not that sophisticated?).

As a pure UCI chess engine, Flux does not have a graphical user interface. You can load him however into your favorite chess program if it supports the UCI protocol. I suggest you take a look at the free chess program Arena. I’m personally testing Flux with the Shredder Classic chess program.

If you find any bugs or just want to write a comment, don’t hesitate to contact me.

Features

Below you will find a small list of what I have already implemented in Flux. Nothing special though as many computer chess engines have those features as well.

In addition Flux supports multi pv output, which means Flux can show multiple best pv lines.

Board

  • 0x88 Board Representation

Search

  • Alpha-Beta Search
  • Quiescent Search
  • Iterative Deepening
  • Internal Iterative Deepening
  • Principal Variation Search
  • Aspiration Windows

Tables

  • Transposition Table with Zobrist Keys
  • Killer Moves
  • History Heuristic

Prunings

  • Mate Distance Pruning
  • Verified Null-Move Pruning
  • Futility Pruning, Extended Futility Pruning
  • Late Move Reduction

Extensions

  • Single-Reply Extension
  • Check Extension
  • Pawn Extension
  • Recapture Extension
  • Mate Threat Extension