Pre-alpha · deterministic foundation

Command the campaign.

Sandtable is a digital adaptation of The Campaign for North Africa. You choose intent and issue orders. The computer checks the rules, handles uncertainty, protects hidden information, and keeps the complete record.

First scenario
6 turns
Each game turn
3 stages
Long campaign
111 turns
Maproom concept planned player experience
North Africa Operation stage I

Legal actions come from the player’s side-safe observation—not from hidden state.

Chronicle feed state v9
  1. WeatherNormal
  2. Reserve I2 candidates
  3. Movementroute accepted
  4. Replayverified
Umpire accepted · event history is replayable

The eventual game

A commander’s week, without the paperwork.

One game turn represents one campaign week. Initiative determines who chooses the acting order; three Operation Stages then repeat movement and combat obligations.

  1. 1.0

    Read the theater.

    Inspect known formations, supply routes, reports, weather, and the limits of what your side is allowed to know.

  2. 2.0

    Set commander intent.

    Decide what matters: hold a port, preserve armour, threaten a route, or trade time for supply.

  3. 3.0

    Confirm exact orders.

    Staff turns intent into a concrete plan. Maproom exposes current legal actions; you review the order before it reaches the Umpire.

  4. 4.0

    Let the campaign answer.

    The Umpire resolves rules, seeded uncertainty, expenditure, breakdowns, contact, combat, and enemy reactions as those systems arrive.

  5. 5.0

    Study the dispatches.

    Chronicle records machine truth. Maproom reveals only the reports your side should receive; War Diary can later turn those events into human history.

Authority before intelligence

The model may advise. It never moves the pieces.

Sandtable keeps adjudication deterministic and treats every model response as an untrusted, versioned proposal. Hidden opposing state never leaves the authoritative plane.

Command decides intent
Staff builds a plan
Umpire adjudicates truth
Chronicle records events
Maproom shows your side
Boundary Owns Must never
Cna.Core / Umpire Rules, legal actions, seeded RNG, fog, events, replay Depend on remote inference
Orleans + Decision Worker Campaign activation and pending decisions Hold a grain turn open on a model
Intelligence Gateway Routing, personas, validation, narrative, evaluation See hidden state or adjudicate rules
Signals contracts Versioned protobuf transport Drop decision, state, or ruleset identity

Repository status ·

A real simulation foundation. Not a playable adaptation yet.

Implemented today

  • Versioned rules, content, snapshots, observations, and legal actions
  • Initiative, weather, stage-entry obligations, and Reserve Designation
  • Public Movement, bounded Reaction, and Breakdown paths through Combat entry
  • Byte-identical replay, inherited-history restore, and checked Exercise/Maneuver evidence
  • Combat internals reviewed through orders, costs, results, losses, retreat, custody, and round closure
  • Isolated Reserve Release base validation reviewed; execution remains pending
  • Custody handling accepted after three fresh independent reviews

Combat internals run in engine tests. Public Combat play is not yet activated.

On the road to Maproom

  1. Implement Reserve Release and cycle repeat/finish
  2. Activate side-safe Combat actions and prove the complete loop through Runner
  3. Add source-verified first-scenario content and victory rules
  4. Build local hot-seat Maproom, saves, fog, and replay
Follow the delivery roadmap

Developer workbench

Run the evidence, not a remote dependency.

The repository is a .NET 10 solution. Today, local development launches the service scaffold and Aspire dashboard; deterministic Exercises exercise the actual legal-action and replay path.

Read the contribution workflow
Local foundation check
git clone https://github.com/dills122/sandtable.git
cd sandtable
just setup
just check
just run
Build, format, and deterministic tests form the local gate.

6 destinations

How the game will play1 Authority architecture2 Current frontier3 Developer workbench4 Source repository Research and design docs