# The Witness (Infocom Release 22, serial 840924, Z-machine V3) # VERIFIED COMPLETE SOLVE: won=True (best ending, win text), died=False # # Reproduce with the RNG-pinned replay harness (free, no API): # cd ~/src/zwalker # python3 scripts/replay_solve.py games/zcode/witness.z3 walkthroughs/witness_verified_win.txt --seeds 4 # => witness_verified_win.txt: VERIFIED 0/None at seed 1 | 56 cmds | died=False | won=True # # The Witness is scoreless. It is a V3 "time" game (header flags1 bit 1): # the status-line globals 17/18 hold the CLOCK - hours and minutes - and the # game's own source labels them exactly that way ("SCORE INDICATES HOURS / # MOVES = MINUTES", events.zil in the official ZIL). There is no separate # score global and no SCORE verb ("You don't need to use the word 'score' # to solve this mystery."); the ending is decided purely by evidence flags. # Hence the WIN_TEXT directive below: it matches the one letter from Police # Chief Klutz that only the game's best ending prints - the trial jury # CONVICTING Monica Linder, followed by "You have reached a complete # solution to the story" (the author's-summary epilogue, which no other # ending reaches). # # Ending: the documented best one. You witness Freeman Linder shot dead at # 9:01 p.m. while seated across his desk, prove the hidden-gun mechanism # (push the butler's button after the shot - a click from the grandfather # clock - and have Duffy's lab confirm the keyhole powder is gun powder), # establish Monica's motive by asking her about her mother in the opening # scene, then hide behind the office lounge after the coroner's men remove # the body at 11:33 p.m. At 11:55 p.m. Monica sneaks in, opens the clock # with her hidden key and pockets the murder gun - witnessed. Accused, she # admits helping build the mechanism; when Duffy returns from the morgue # (12:42 a.m.), arresting Monica alone convicts her, with the top # "Congratulations on your fine detective work" variant (no Duffy hints # were ever requested). # # Why a pinned seed: the timing of the household is lightly randomized - # Duffy's lab report on the powder comes back 15+RANDOM(15) minutes after # he takes it, Monica gets home from the pictures at 670-RANDOM(20) game # minutes (10:50-11:09 p.m.), and character goal-movement adds RANDOM # variance - so the exact minutes at which waits are interrupted (and thus # how many "yes"/"z" answers this recording needs) depend on the RNG # stream. Seed 1 reproduces the recorded timeline exactly. Mechanics # verified against the official ZIL source # (github.com/historicalsource/witness): the best ending requires # mechanism proof (MONICA-ADMITTED-HELPING, plus PLAYER-PUSHED-BUTTON + # POWDER-ANALYZED for good measure), MONICA-HAS-MOTIVE, and # SEEN-MONICA-AT-CLOCK, then arresting Monica by herself. # #% WIN_TEXT: convicted Monica Linder of the murder of her father.*complete solution # # Generated by an adaptive recorder over the GameWalker pathway (RNG seed # 1); replay-verified by scripts/replay_solve.py. n n ring bell i ask monica about her mother z z no sit on wooden chair read note z z yes z yes z z z yes yes z stand push button examine keyhole analyze powder z z z no z z z z z z z z yes z yes yes z z no hide behind lounge z z z no accuse monica of murder stand wait for duffy yes arrest monica yes yes