// 03 RESTRICTED
nukumori
A virtual pet whose every rule runs in one WebAssembly module. An egg’s genome is drawn from a pulse of the NIST randomness beacon, owned by twelve seed words and timestamped on Bitcoin through OpenTimestamps; anyone holding a pet’s public files can replay its whole record through the rules and check it. You incubate the egg, and how you keep it decides, within what its genes allow, what hatches. The creature then has seven needs, moods, a personality that drifts, foods it learns to like, tricks, memories and a life that ends. Pets breed through a diploid genome with dominance, recombination and mutation, and a wild population evolves on islands under a genetic algorithm. Rust core and CLI, a three.js viewer in a Tauri desktop app, and ports in Swift, Kotlin and Luau.
01 Title screen: adopt it, or send it to the wild
02 Incubation: heat, and company when it asks
03 Enclosures, built as care is counted
04 Feeding by hand: flick it to its mouth
05 Taken out, dressed, in a meadow
06 Breeding check: kinship, inbreeding, defects
07 The wild: an island per biome, evolving live
08 An island visit: take an egg off the ground
The egg
Twelve BIP39 words are drawn before the egg exists; they yield its signing key and are stored nowhere. The newest beacon pulse is its soul: the rules make the genome, the shell, a heat preference and an attention rhythm from the pulse, the egg’s nonce and the owner’s public key. The certificate’s hash is the egg’s id, submitted to the OpenTimestamps calendars; Bitcoin confirms it within hours. In the cradle it wants a heat that drifts down as it develops, and a session when it stirs — rock, hum, candle or hold. Answered on time it settles; left too long it goes dormant, and dies if nobody revives it. A real egg takes fifteen hours to three days; the care it gets leaves a hatch mark that shifts the hatchling’s type, temperament and colours.
The creature
Seven needs: satiety, energy, hygiene, social, fun, comfort and health. Feeding is by hand — take a food from the pantry and flick it to its mouth or its bowl — and it refuses what it distrusts, eats past full and gets an upset stomach, tires of the same thing. Pet it by holding the hand on it; clean it, or it catches an infection; medicine for an illness that only ever gets worse by itself. Teach it tricks a session at a time, praise and scold it, and it remembers. A toy given is its own until it dies, with the story of everyone it has belonged to. Settle it in the biome its genes suit, take it out to dress and photograph it, and read its mind: trust, bond, six traits and how life has moved them. Rooms are earned: one cradle and one enclosure to start, more as care is counted, and fifteen achievements in bronze, silver and gold.
Breeding and the wild
Eighty-one bytes of genome, diploid: twelve body genes of thirty-two alleles with the lower allele shown and the higher carried, so rarity is recessive; dose genes for limbs and eyes; twenty recessive flags; polygenic personality, size, longevity and tastes; six deleterious recessives that inbreeding brings out; and neutral marker blocks for estimating kinship when the pedigree is not on record. The breeding check forecasts all of it. The wild is an island for every biome; each creature lives a whole life by the same rules with no keeper, and the fittest breed the next generation, with migrants crossing every fourth. It runs in real time while the app is open, and the eggs on the ground can be taken to a cradle.
Trust
nukumori verify runs thirteen steps: signatures, the beacon pulses under NIST’s pinned key, each timestamp against the Bitcoin block header, and a replay of the laying, the care log, the hatch and the whole life through the very module the certificates name, every byte as recorded. What it cannot establish, it says: an offline egg has a local soul, an unknown module is replayed under unknown rules, and nothing excludes a founder who tried many seed phrases and kept the egg they liked.