Fair match: two names, one tick count, a deterministic winner. Anyone can recompute without trusting this server. That is the embed path for games (tank).
Fair match (copy this)
npm install yuragi-engine node node_modules/yuragi-engine/examples/fair-match.mjs Nova Hikari
import { createLife, play } from 'yuragi-engine';
const a = createLife('Nova').step(100);
const b = createLife('Hikari').step(100);
const match = play('rps', a, b);
console.log(a.hash().slice(0, 16), b.hash().slice(0, 16));
console.log(match.narrative); // same every time for these names + ticks
play() never calls step(). Re-run the script — identical hashes and winner.
Fixed-point twin: createLifeFp · Claude: yuragi-engine/claude · Mind: yuragi-engine/sdk/mind
Try it live
Runs createLife on this server (same SDK the package exports) — not a browser bundle of node:crypto.
Name someone and run a short life.