
Evidence at a glance
Loading source evidence…
What was done
A tool that decompiles Sierra SCI games to identify and patch softlocks—states where victory becomes impossible—by deriving guarded transitions from the game's own code without manual title-specific configuration.
The Sierra Softlock Analyzer performs static analysis on 30-year-old adventure games built on the Sierra Creative Interpreter (SCI) engine. The tool decompiles game binaries into a typed control-flow AST and abstract-interprets these scripts into a graph of room transitions, item movements, and plot-flag writes. It automatically discovers game-specific parameters like start rooms, victory conditions, and death signals directly from the code. By condensing the graph into strongly-connected components, the analyzer identifies one-way crossings that lead to unwinnable states. It then derives and installs guards to prevent these softlocks, ensuring players can still complete the game. The project explicitly avoids creating "walls" by refusing to demand players drop items they can no longer access. The toolchain includes a custom fork of sci-tools for decompilation and a headless port of SCICompanion for recompilation. The analyzer has been verified across four games, including Leisure Suit Larry 2 and King's Quest IV. Development credits include the author and co-authors Claude Fable 5 and Claude Opus 5.
Reproduce it
python3 -m pipeline /path/to/game
Community
Ask a question, share what worked, or follow the next milestone.