Skip to content
GitHub·

🎮Tool Analyzes 30-Year-Old Adventure Games for Softlocks

This tool finds bugs in old adventure games you thought were perfect

TL;DR

A new static analysis tool decompiles and verifies classic Sierra SCI game scripts, identifying softlocks. It analyzes four titles from the late '80s and early '90s, ensuring they remain playable without unintended bugs.

A novel static analysis tool has been developed to decompile and verify classic Sierra SCI adventure games for softlocks—states where input is accepted but victory becomes impossible. This tool benefits developers and enthusiasts by preserving the integrity of these nostalgic titles. It analyzes four iconic games: Leisure Suit Larry 2, King's Quest IV, King's Quest VI, and Laura Bow 2. The analysis pipeline ensures no unverified changes are emitted, maintaining game fidelity post-analysis.

Tool Analyzes 30-Year-Old Adventure Games for Softlocks — GitHub

Key Points

1

Static analysis identifies softlocks in four classic Sierra SCI games: Leisure Suit Larry 2 (1988), King's Quest IV (1988), King's Quest VI (1992), Laura Bow 2 (1992).

2

The tool decompiles game scripts into a graph of guarded room transitions, item movements, and plot-flag writes, verifying guards against softlocks.

3

Patched games play normally after analysis; the tool distinguishes unwinnable states from avoidable deaths by reachability, not death conditions.

4

Analysis is based on a typed control-flow AST (JSON IR) and abstract-interpretation of game scripts, using sci-tools for decompilation and SCICompanion's script compiler for compilation.

5

Prerequisites include Python 3.12, .NET SDK 8.0, git, cmake, g++, make, and dotnet-sdk-8.0.

Why It Matters

If you're a retro gaming enthusiast or developer working on historical software preservation, this tool is invaluable for ensuring classic Sierra SCI games remain playable without unintended bugs. The analysis pipeline's strict verification process guarantees no unverified changes are emitted, maintaining game fidelity post-analysis.

static-analysissierra-sciclassic-gamessoftlocksgame-preservation

Frequently Asked Questions

Why does this matter?

If you're a retro gaming enthusiast or developer working on historical software preservation, this tool is invaluable for ensuring classic Sierra SCI games remain playable without unintended bugs. The analysis pipeline's strict verification process guarantees no unverified changes are emitted, maintaining game fidelity post-analysis.

What happened?

A new static analysis tool decompiles and verifies classic Sierra SCI game scripts, identifying softlocks. It analyzes four titles from the late '80s and early '90s, ensuring they remain playable without unintended bugs.

Comments

Subscribe to join the conversation...

Be the first to comment

Enjoyed this article?

Get it daily. 7am. Free. Reads in 5 minutes.

Join 3,179 builders reading daily.

Also get