Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marvk/chess
A chess library, chess engine, Lichess client, and UCI implementation written in Java
https://github.com/marvk/chess
bot chess chess-ai chess-board chess-engine chess-game chessboard chessprogramm lichess lichess-api uci
Last synced: 2 months ago
JSON representation
A chess library, chess engine, Lichess client, and UCI implementation written in Java
- Host: GitHub
- URL: https://github.com/marvk/chess
- Owner: marvk
- Created: 2019-03-05T23:06:15.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-06-21T21:23:43.000Z (8 months ago)
- Last Synced: 2024-06-22T12:54:24.530Z (8 months ago)
- Topics: bot, chess, chess-ai, chess-board, chess-engine, chess-game, chessboard, chessprogramm, lichess, lichess-api, uci
- Language: Java
- Homepage: https://lichess.org/@/QueensGamBOT
- Size: 602 KB
- Stars: 20
- Watchers: 6
- Forks: 7
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Chess
This is a multi part repository, consisting of the Kairuku Chess Engine, a [Universal Chess Interface (UCI)](https://en.wikipedia.org/wiki/Universal_Chess_Interface) implementation, a [Lichess](https://lichess.org/) API and [QueensGamBOT](https://lichess.org/@/QueensGamBOT), a [Lichess](https://lichess.org/) bot utilizing the other modules in this repository.
## Kairuku Chess Engine
![kairuku logo](https://i.imgur.com/Cn7dzhf.png)
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](https://github.com/marvk/chess/blob/master/core/src/main/java/net/marvk/chess/core/bitboards/Bitboard.java)
* [net.marvk.chess.core.bitboards.MagicBitboard](https://github.com/marvk/chess/blob/master/core/src/main/java/net/marvk/chess/core/bitboards/MagicBitboard.java)
* [net.marvk.chess.kairukuengine.KairukuEngine](https://github.com/marvk/chess/blob/master/kairuku-engine/src/main/java/net/marvk/chess/kairukuengine/KairukuEngine.java)## UCI4J
###### Core classes
* [net.marvk.chess.uci4j.UiChannel](https://github.com/marvk/chess/blob/master/uci4j/src/main/java/net/marvk/chess/uci4j/UiChannel.java)
* [net.marvk.chess.uci4j.ConsoleUiChannel](https://github.com/marvk/chess/blob/master/uci4j/src/main/java/net/marvk/chess/uci4j/ConsoleUiChannel.java)
* [net.marvk.chess.uci4j.UciEngine](https://github.com/marvk/chess/blob/master/uci4j/src/main/java/net/marvk/chess/uci4j/UciEngine.java)
* [net.marvk.chess.uci4j.ConsoleEngineChannel](https://github.com/marvk/chess/blob/master/uci4j/src/main/java/net/marvk/chess/uci4j/ConsoleEngineChannel.java)## Lichess4J
###### Core classes
* [net.marvk.chess.lichess4j.LichessClient](https://github.com/marvk/chess/blob/master/lichess4j/src/main/java/net/marvk/chess/lichess4j/LichessClient.java)
* [net.marvk.chess.lichess4j.LichessClientBuilder](https://github.com/marvk/chess/blob/master/lichess4j/src/main/java/net/marvk/chess/lichess4j/LichessClientBuilder.java)## QueensGamBOT
[QueensGamBOT](https://lichess.org/@/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](https://github.com/marvk/chess/blob/master/queensgambot/src/main/java/net/marvk/chess/queensgambot/QueensGamBotApp.java), which is a good example of the previous modules in use together