PROPHECY, REWIND AND THE OTHER LIFE

The Oracle's Chest

Nine rooms, six chests, and a whole game that fits in one string: the seed and your choices, one digit each. The oracle in the first room tells you what every chest holds before you open it, and is never wrong, because her word and the chest's contents are the same lookup.

save lars@

You stand in the oracle's room.

The oracle's word

    Open the chests and compare.

    Why the oracle cannot lie

    A chest's contents are SISaves.lootAt(seed, chest, slot, table): an indexed lookup, the same on every machine, with no state. The oracle's list is SISaves.prophecy(seed, chests, slot, table), which is that call made six times. The game's state is seed@choices; rewinding is rewind(save, k), a slice; a branch is branch(save, k, d), a prefix and a different digit, and the other life is replay from the same seed. Nothing is stored, so nothing can be edited after the fact.

    The Oracle's Chest · by Lars Rocha · from sitoolz alone: saves and indexrng.