Skip to content
arphenPublic

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Slovenian Tarok

CI codecov License: AGPL v3+

A full-stack Slovenian Tarok platform with a modern web UI, a high-performance Rust game engine, and reinforcement-learning agents trained through self-play.

What You Can Do

  • Play human vs AI with configurable opponents
  • Spectate AI vs AI games with full game state visibility
  • Run tournament brackets between model checkpoints and bots
  • Run large Bot Arena simulations and inspect aggregated results
  • Train and benchmark models with the training-lab pipeline

Project Highlights

  • Rust-first game engine for game flow, legal moves, trick resolution, and scoring
  • FastAPI backend with REST + WebSocket endpoints
  • React + TypeScript frontend focused on gameplay and diagnostics
  • PPO-based training stack with modular adapters in training-lab/
  • CI + coverage reporting on push and pull request

Repository Layout

backend/        FastAPI app, AI adapters, tests
engine-rs/      Rust Tarok engine (PyO3 extension)
frontend/       React + TypeScript client
model/          Shared model/encoding package
training-lab/   Training orchestration and PPO pipeline
docs/           Design docs and roadmap notes

Quick Start

1. One-time setup

make setup

2. Run backend + frontend

make run

Frontend: http://localhost:3000
Backend: http://localhost:8000

Development Commands

make test                # Backend + frontend checks
make test-backend        # Backend pytest suite
make test-lab            # Training-lab tests
make test-frontend       # TypeScript check
make test-frontend-unit  # Vitest suite
make test-e2e            # Playwright tests
make build-engine        # Build/install Rust extension
make ensure-engine       # Verify/build Rust extension if missing

Training

Basic training entrypoints:

make train-new
make train-iterate MODEL=path/to/checkpoint.pt

For more advanced training flows and configs, see training-lab/ and docs/training_lab.md.

Contributing

See CONTRIBUTING.md for setup, workflow, and testing expectations.

License

This project is licensed under the GNU Affero General Public License v3.0 or later. See LICENSE.

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages