Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bitartisan1/wize

Wize UCI Chess Engine with Multithreading and NNUE Stockfish Evaluation
https://github.com/bitartisan1/wize

ai chess chess-ai chess-engine chessboard cpp engine game gplv3 lc0 neural-network nnue opensource search search-algorithm search-engine software sports stockfish uci

Last synced: 14 days ago
JSON representation

Wize UCI Chess Engine with Multithreading and NNUE Stockfish Evaluation

Awesome Lists containing this project

README

        



Buy Me a Coffee Pls!

# Wize
Wize, a C++ UCI-compliant chess engine, integrates a neural network (NNUE) for accurate evaluation and employs a range of advanced search techniques like LazySMP and Multithreading within Alpha-Beta framework, Wize strives to be a top-tier engine but also serves as a valuable resource for developers to enhance their own chess engines.


Wize Chess Engine


Wize, Strong and Open Source Chess Engine Written in C++

## Features
* Architecture
* Bitboard Representation

* Search
* Alpha-Beta Pruning
* Negamax Framework
* Transposition Tables
* Principal Variation Search
* Quiescence Search
* Null-move Pruning
* Internal Iterative Deepening
* Aspiration Window
* Repetition Detection
* Killer Move, History
* MVV-LVA Capture Ordering
* LazySMP
* Multithreading
* Heuristic Moves
* Polyglot Opening Book

* Evaluation
* `NNUE Evaluation (Features=HalfKP(Friend)[41024->256x2],Network=AffineTransform[1<-32](ClippedReLU[32](AffineTransform[32<-32](ClippedReLU[32](AffineTransform[32<-512](InputSlice[512(0:512)]))))))`

## Improvements
* Implement Syzygy Bases, SyzygyPath, ...
* Improve the NN Structure
## Current ELO
* **ELO: 2850-3000~**

## Requirements
* Wize software requires GCC(GNU Compiler Collection) or CLang, C++ version: CXX >= C++17 !
* It is recommended that the terminal uses a TrueType Font (ttf), Consolas and other monospaced fonts are recommended for the best user experience [Unicode characters and ANSI escape code] (However, most engines are
linked directly to the GUI and don't really need to interact with the terminal).

## Installation/Usage
Clone the repository:

```bash
$ git clone https://github.com/yanpuri/Wize.git
```
Then, in the directory:
```bash
$ cd Wize\Wize
$ make
$ Wize.exe
```
Run the generated .exe file in the install dir.

* How to work the engine?
The UCI (Universal Chess Interface) serves as a widely adopted protocol for interacting with a chess engine and is the preferred method for communication in graphical user interfaces (GUIs) and chess-related tools. The guidelines are outlined in the UCI protocol, which can be accessed and referenced at this link http://page.mi.fu-berlin.de/block/uci.htm

## Images
### Terminal interface
![Terminal interface](https://github.com/yanpuri/Wize/assets/121260820/d01f0f5c-561e-4014-b1aa-fe122a7e0abe)

### Gameboard
![Gameboard](https://github.com/yanpuri/Wize/assets/121260820/0f71bdf5-ff01-4370-a158-a5095b6bb38d)

## Acknowledgements
* [BluefeverSoftware](https://www.youtube.com/@BlueFeverSoft), YouTube series about Vice engine.
* [CodeMonkeyKing](https://www.youtube.com/@chessprogramming591), General chess programming videos.
* Vice Programming Discord
* [ChessProgrammingWiki](https://www.chessprogramming.org/Main_Page).

## Support Me
If you find RepoUp useful, consider supporting me by:

- Starring the repository on GitHub
- Sharing the tool with others
- Providing feedback and suggestions
- Follow me for more :)



---
For any issues or feature requests, please open an issue on GitHub. Happy coding!



octodance