LucasArtsifier - Static analysis for Sierra adventure games

Show HN: Automatically detect and patch walking-dead states in Sierra games

LucasArtsifier - Static analysis for Sierra adventure games

LucasArtsifierは、30年前のSierraアドベンチャーゲームのソフトロック(進行不能状態)を自動検出し、パッチを適用する静的解析ツールです。ゲームのバイナリを逆コンパイルし、抽象解釈によってゲームの状態遷移グラフを構築。勝利条件に到達できなくなる「歩く死体」状態を特定し、それを防ぐガードを自動生成・検証・適用します。Leisure Suit Larry 2、King's Quest IV、King's Quest VI、Laura Bow 2の4作品で実証済みで、ゲーム固有のコード解析は一切不要。パッチはSierraの公式パッチ形式で出力され、オリジナルファイルを変更せずに適用・削除が可能です。

Sierraゲームは、LucasArtsのゲームとは異なり、プレイヤーが行き詰まることを許します。このツールは、そうした罠を自動的に見つけ出し、最後の瞬間にまだ従うことができる場所で、それを引き起こす横断をブロックします。
  1. bsammon

    この議論を見て、「残酷度スケール」(https://www.ifwiki.org/Cruelty_scale)を思い出しました。もともとはテキストアドベンチャーゲームに特化して作られたものですが、もっと広い種類のゲームにも当てはまるようです。ランク付けは、行き詰まる選択をした後、どれだけ進めるか、そしてその行き詰まりに気づいたときに、間違った選択が何だったかが明確にわかるかどうかといった基準に基づいています。

  2. dafelst

    これは本当にすごい、素晴らしいプロジェクトですね!

    私はセーブデータを一つだけ使って、スペースクエスト2で光る宝石を取らずにソフトロックしてしまい、スペースクエスト1では割れたガラスの破片を拾わなかったせいで、やり直さなければならなくてすごく腹が立ったのを覚えています。

    あなたが修正したLSLのディップと日焼け止めの問題は特にひどかった。あの頃にはもう修正されていて当然だと思います。

    Sierraが、本当に楽しいゲームのジャンル全体を生み出したことは間違いなく評価されるべきですが、防ぐのが明らかに可能だったのに、壊れた状態のままゲームを出荷することに抵抗がなかったのは驚きです。

  3. matheusmoreira

    これがどれほど広く見られるものか気になる人のために:

    https://tvtropes.org/pmwiki/pmwiki.php/UnwinnableByDesign/Si...

    https://tvtropes.org/pmwiki/pmwiki.php/UnintentionallyUnwinn...

  4. shoo

    余談ですが、昔のSierraアドベンチャーゲームのこの残念な設計選択は、ゲームデザインに焦点を当てたDesigner Notesポッドキャストで何度か取り上げられています[1]。ソーレンは毎回、ゲストに最初に覚えているゲームは何かと尋ねて議論を始めます。

    [1] https://www.idlethumbs.net/designernotes/

  5. vunderba

    いい仕事ですね!実は私は、特にKQ4に対する好き嫌いが入り混じった感情についてブログ記事を書いたことがあります。特に、あの黄金の手綱のシーンに対する私の信じられないほどの苛立ちを強調して[1]。

    ネタバレはしませんが、ミノタウロスの迷宮で、ある罠のシーンに必要な...まあ、重要なアイテムなしでセーブするプレイヤーのようなケースも考慮していますか?

    [1] - https://mordenstar.com/blog/kqiv

この日のほかの記事

2026-08-19