chess
chess copied to clipboard
A chess library, chess engine, Lichess client, and UCI implementation written in Java
Chess
This is a multi part repository, consisting of the Kairuku Chess Engine, a Universal Chess Interface (UCI) implementation, a Lichess API and QueensGamBOT, a Lichess bot utilizing the other modules in this repository.
Kairuku Chess Engine
Kairuku is a Chess Engine build around a fast psuedo legal move generator utilizes Magic Bitboards. It makes use of negamax search with piece square tables, transposition tables, Most Valuable Victim - Least Valuable Aggressor (MVV-LVA), quiescence search, zobrist hashing and more techniques from chess programming.
Core classes
- net.marvk.chess.core.bitboards.Bitboard
- net.marvk.chess.core.bitboards.MagicBitboard
- net.marvk.chess.kairukuengine.KairukuEngine
UCI4J
Core classes
- net.marvk.chess.uci4j.UiChannel
- net.marvk.chess.uci4j.ConsoleUiChannel
- net.marvk.chess.uci4j.UciEngine
- net.marvk.chess.uci4j.ConsoleEngineChannel
Lichess4J
Core classes
QueensGamBOT
QueensGamBOT is a bot with more than a thousand games played on lichess, with more than 70 followers. Currently, it plays Bullet exclusively.
The sole class is net.marvk.chess.queensgambot.QueensGamBotApp, which is a good example of the previous modules in use together