Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Herdcore

Deterministic simultaneous-move sheep herding for 2–16 players. The browser client uses gRPC-Web; the authoritative Rust server persists hidden move submissions and resolved turns to the pure-Rust Turso database before acknowledging or broadcasting them.

Development

Install the browser tooling once:

rustup target add wasm32-unknown-unknown
cargo install trunk

Run the external bot provider (it serves Greedy Greg and Lookahead Lucy by default):

cargo run -p herdcore-bot

Set HERDCORE_BOT_TYPES to a comma-separated subset of greedy-v1 and lookahead-v1 when the strategies need to run in separate processes.

Run the game server:

cargo run -p herdcore-server

Run the browser client:

trunk serve

Then open Trunk's URL. The development UI defaults to http://127.0.0.1:55051 for the game server.

Game ending

There is no turn limit or fixed score target. A game ends after all sheep are scored, or when one player's lead is greater than every opponent's score plus the number of sheep still on the board. A possible tie is enough to keep the game running.

Persistence ordering

The server follows two fail-closed durability barriers:

receive move -> commit hidden submission -> acknowledge only its sender
resolve turn -> commit state + revealed actions + outbox -> broadcast TurnResolved

Turso uses WAL mode with synchronous = FULL. Its pure-Rust crypto feature is enabled, and the upstream native-only vector accelerator is replaced by the safe scalar compatibility crate in crates/simsimd-pure, so backend builds do not invoke a C compiler. The server recovers active lobbies, pending moves, game snapshots, and deadlines from the database after restart. The local database defaults to target/herdcore.db; set HERDCORE_DB to override it.

About

Multiplayer game involving being built exactly the same.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages