Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/yishn/katajigo

Play against a KataGo that strives for a Jigo instead of opponent destruction.
https://github.com/yishn/katajigo

ai baduk board-game engine go katago weiqi

Last synced: about 1 month ago
JSON representation

Play against a KataGo that strives for a Jigo instead of opponent destruction.

Awesome Lists containing this project

README

        

# KataJigo

Play against a KataGo that strives for a Jigo instead of opponent destruction.

Playing against [KataGo](https://github.com/lightvector/KataGo) can be
particularly frustrating. Even before midgame starts, KataGo may have
accumulated an overwhelming lead in points in the best case, or the game could
have turned into a merciless, bloody slaughter of your groups in the worst case,
leading to your inevitable demise, leaving you sad and empty inside.

KataJigo is an experiment. It will let KataGo always aim for a half point win,
or a draw if playing with an integer komi, slipping into the role of a capable
teacher who's looking down from far above, playing a teaching game (in theory,
at least).

Jigo game of GnuGo (B) against KataJigo (W) with 7 point komi

Jigo game of GnuGo (B) against KataJigo (W) with 7 point komi

## Installation

1. Download both [KataGo](https://github.com/lightvector/KataGo) and
[KataJigo](https://github.com/yishn/KataJigo/releases/latest).
2. Install and set up KataGo according to the instructions.
3. In the same folder as KataGo, drop in the executable of KataJigo.
4. Now, you can use `katajigo` as a drop-in replacement of `katago`.

If you already set up KataGo in Sabaki, all you need to do is replace the path
to KataGo with the path to KataJigo in the same directory.

## How does this work?

Using the analysis feature of KataGo, we'll consider all the moves with
non-negative `scoreLead` and a `winrate` that is better than 50%. Out of those
moves we'll pick the move with the lowest `scoreLead` and the highest `winrate`.

## Building

Make sure you have Node.js installed. First, clone the repository and install
all dependencies with npm:

```
$ git clone https://github.com/yishn/KataJigo
$ cd KataJigo
$ npm install
```

Run the following command to create an executable in the `./bin` directory:

```
$ npm run build
```