Skip to content

About

Chess against Maia neural nets running on the phone. Five levels, no internet.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

GRID CHESS

Chess against a neural network that runs on the phone. No server, no internet permission.

Download APK Android 8.0+ GPL-3.0

Five difficulty levels, each a separate Maia network A game in progress: the Scotch, 1.e4 e5 2.Nf3 Nc6 3.d4 exd4 Dragging the light-squared bishop, its whole diagonal lit
Five levels, five nets The Scotch, played by maia-1500 Drag or tap-tap

Opponent

Each level is a separate Maia net, from maia-1100 to maia-1900. Maia was trained on human games in one rating band, so it makes the mistakes a player of that rating makes. There is no search: one forward pass picks the move in 4–8 ms.

Levels 4 and 5 check the top moves with a short capture probe, so the engine won't hang its queen. Levels 1–3 skip the check. At 1100–1500, people hang pieces.

Design

Neo-brutalism with Bauhaus shapes. The king is a cross, queen an arch, rook a square, bishop a diamond, knight a triangle, pawn a circle. Move by tapping or dragging.

Build

brew install openjdk@21 lc0
brew install --cask android-commandlinetools
python3 tools/export_maia.py   # downloads the nets and converts them to ONNX
./gradlew :app:assembleDebug

Without the nets the app still builds and plays random legal moves. Release signing reads keystore.properties from the project root.

Licence

GPL-3.0, because the bundled Maia nets are GPL-3. See LICENSE and NOTICE. Maia is by CSSLab, University of Toronto: McIlroy-Young, Sen, Kleinberg, Anderson, KDD 2020.

About

Chess against Maia neural nets running on the phone. Five levels, no internet.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages