Sierra adventure games let you lose hours before they tell you. This decompiles one, computes every state in which winning has already become impossible, and blocks the crossing at the last point where you could still have complied.
The genre’s original sin has a canonical example. Forget the sunscreen in Los Angeles, board the cruise ship, and Leisure Suit Larry 2 keeps taking your input for days of game time before killing you on a raft with no way back. LucasArts famously refused to build games that could do this; the repository’s actual name is lucasartsifier, which is the whole thesis in one word.
The method is the interesting part. It decompiles the game to a typed control-flow AST, abstract-interprets that into a graph of guarded room transitions, item movements and plot-flag writes, then condenses the graph into strongly connected components — regions you can wander around freely. Only the one-way edges between those regions can strand you, which is what turns an infinite-looking problem into a finite one. It reads the room art and obstacle polygons too, because some gates are geometric and exist nowhere in the script.
What raises it above a linter is the restraint. It separates unwinnable states from avoidable deaths by reachability, and deliberately leaves the second kind in: walking onto the KGB beach without the disguise still kills you, because everything you needed is obtainable right where you died, and that is how Sierra hinted. And when the Spinach Dip turns out to be fatal to be carrying, the guard is a negative literal placed while you can still throw it overboard — “demanding you drop something you can no longer drop is a wall, which this project treats as worse than the bug.”
Output is Sierra’s own loose-patch format, the mechanism the company shipped its own fixes in, so the originals are never modified and you revert by deleting files. Guards run Full, Lite (stops you once, then warns) or Off. Nothing is emitted unless the guarded model re-verifies as introducing no new softlocks. Four games are done and play-tested across both engine eras, with nothing declared per title — start room, victory room, death signal and debug flags are all derived from each game’s own code.
The honest limit: this is not a download. You supply your own copy of the game and build two vendored toolchains from source — a C# decompiler and SCICompanion’s C++ compiler, ported headless to Linux — before the analysis, which is stdlib Python and nothing else, has anything to read. Watching the demo costs nothing, and it is King’s Quest IV refusing to let Rosella onto the boat with a two-word dialog box: Not yet!