No description
Find a file
2026-05-25 21:02:27 +02:00
bot refact: remove python & c++ bindings 2026-04-04 20:53:09 +02:00
clients feat(web client): about & legal links 2026-05-25 20:52:29 +02:00
container chore(nix): update web client front package hash 2026-05-25 21:01:08 +02:00
doc doc: ui mockups examples from real games 2026-05-13 17:02:34 +02:00
server feat(server): user account deletion 2026-05-25 17:12:23 +02:00
spiel_bot refact: remove python & c++ bindings 2026-04-04 20:53:09 +02:00
store feat: unify version number 2026-05-22 21:43:41 +02:00
.envrc devenv with rust 2022-11-30 16:15:03 +01:00
.gitignore fix: integrate multiplayer 2026-04-23 20:54:52 +02:00
Cargo.lock feat(web client): content pages 2026-05-25 16:14:25 +02:00
Cargo.toml chore: bump version to 0.2.13 2026-05-25 21:02:27 +02:00
devenv.lock fix(web client): websocket url detection on invite screen 2026-05-24 16:14:27 +02:00
devenv.nix feat: add email verification & password reset link 2026-05-03 21:39:07 +02:00
devenv.yaml chore(devenv): pin cmake package (for burn-rl > sdl2) 2026-02-13 20:58:24 +01:00
flake.lock feat: nix module 2026-05-07 22:52:15 +02:00
flake.nix chore: bump version to 0.2.13 2026-05-25 21:02:27 +02:00
justfile chore: bump version to 0.2.13 2026-05-25 21:02:27 +02:00
LICENSE Initial commit 2022-11-30 15:37:20 +01:00
module.nix feat(web client): content pages 2026-05-25 16:14:25 +02:00
README.md fix(web client): sidebar shows login link for anonymous with a nickname 2026-05-24 16:22:50 +02:00

Trictrac

This is a game of Trictrac rust implementation.

Usage

Install devenv, start a devenv shell devenv shell, and run the following commands.

# Run the relay server
just build-relay
just run-relay  # listens on :8080

# Run the game (separate terminal)
just dev

Open a browser window at http://127.0.0.1:9091. You can play against a very basic bot, or invite an other player to connect at the same address.

Code structure

  • game rules and game state are implemented in the store/ folder.
  • a server for the network game is implemented in server/relay-server, which uses server/protocol
  • the web client is in clients/web, it connects to the server using the clients/backbone-lib library
  • the command-line application is implemented in clients/cli/; it allows you to play against a bot, or to have two bots play against each other
  • the bots algorithms and the training of their models are implemented in the bot/ and spiel_bot folders. This is a work in progress, they are not performant at all.

Inspirations

The multiplayer game architecture, implemented in packages clients/backbone-lib, clients/web/game, server/protocol, server/relay-server is a Leptos-optimized adaptation of the macroquad-based Carbonfreezer/multiplayer project. It is a multiplayer game system in Rust targeting browser-based board games compiled as WASM. The original project used Macroquad with a polling-based transport layer; this version replaces that with an async session API built for Leptos.

The web client UX/UI is inspired by https://playtiao.com.