Remix.run Logo
Show HN: Automatically detect and patch walking-dead states in Sierra games(github.com)
50 points by wkfauna 7 hours ago | 20 comments

Hi HN, I've become lazier in my old age and struggle to replay my favorite Sierra games from the 80s and 90s because I keep getting into those situations where I need an item from 3 acts ago, I have no save game handy, and now I gotta make dinner.

So I'm building the Lucasartsifier: a static analysis tool that decompiles Sierra resource files, automatically finds those states, automatically generates code to prevent the player from getting into those states, then emits loose patch files that can be placed alongside the original game resources. There's no game-specific code involved; all the logic is generic, though of course Sierra introduces new idioms and mechanics in every game so every new supported game needs a bunch of engine work.

So for example in Leisure Suit Larry 2, the patched game prevents you from boarding the cruise ship until you have both the sunscreen and the Grotesque Gulp. Without them you die on the raft 3 play-hours later.

So far this works on Leisure Suit Larry 2 (SCI0), King's Quest 4 (SCI0), King's Quest 6 (SCI1.1), and Laura Bow 2 (SCI1.1). I'm currently working on King's Quest 5 (SCI1.0).

This is work done with Claude -- I do the design and playtesting and it does the rest :D

Any feedback, play testing, and suggestions would be great!

bsammon an hour ago | parent | next [-]

The discussion here reminded me of the "Cruelty Scale" (https://www.ifwiki.org/Cruelty_scale) It was originally created specifically in relation to text adventure games, but seems appropriate to a broader range of game types.

The rankings are based on criteria like how far the game lets you go after making a get-stuck choice before you realize you're stuck, and whether that realization comes with clear information about what the wrong choice was.

shoo 3 hours ago | parent | prev | next [-]

tangent: this unfortunate design choice by the old Sierra adventure games has been discussed a number of times on the Designer Notes podcast, focused on game design [1]. Soren opens each discussion by asking the guest which is the first game they remember.

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

dafelst 4 hours ago | parent | prev | next [-]

This is so cool, what a great project!

I remember using a single save game and soft locking myself in Space Quest 2 by not getting the glowing gem, and in Space Quest 1 I think by not picking up the shard of broken glass, and being so pissed off about having to replay.

The LSL dip and sunscreen issues you fixed were particularly egregious, by that point I feel like they should have fixed things.

While Sierra should absolutely be recognized for spawning an entire genre of games that were legitimately fun, it is crazy that they were fine with shipping games with these broken states, when it was eminently preventable.

wkfauna 4 hours ago | parent [-]

Thanks!! I mean, I can kiiiinda see it as a design philosophy... It does make games harder and make them feel higher stakes. What really gets me is some of the later games that look like they would be safe, but aren't. For example Gabriel Knight 1 has a day structure that looks like it would prevent you from getting stuck... but it doesn't, you can trigger a day's end without getting everything you actually need. That's just, like, evil haha

snipem 2 hours ago | parent | prev | next [-]

This is great. Would you provide the changes as patches like they do for romhacks?

This is some true quality of life improvement when playing these games and have to make dinner.

wkfauna 2 hours ago | parent [-]

Thanks! No, this needs your own copy of the game, like eg ScummVM does. You run the tool on it and then you can point ScummVM/DOSBox to the patched directory.

snipem an hour ago | parent [-]

True, but it looks for me like a tool that can generate a „nice“ path for every game. The path is true for every instance of the same game. If the path is done once, everyone can benefit from it. So a patch would not bundle copyrighted material, only the changes made from your tool that anyone else would end up with anyway. It is just a convenience thing. One would need the path, not running your tool over and over again for everyone wanting to play the sane version of the game.

thom 2 hours ago | parent | prev | next [-]

Talking of being softlocked on a boat crossing:

https://www.kensblog.com/update-on-our-journey-through-the-n...

catoc 3 hours ago | parent | prev | next [-]

This is so cool - very impressive!

Read the whole ReadMe to understand how you pulled this off.

Halfway through, I shiver, wait a minute I recognize this writing style…

I would have so preferred to remain impressed and excited by what a fellow human came up with - sometimes I really hate what AI is taking from us

wkfauna 3 hours ago | parent [-]

It's true that Claude wrote most of the Readme... But the design is human :)

cadamsdotcom 3 hours ago | parent | next [-]

Why not rip and replace the parts of the readme then?

It's like making a beautiful chocolate praline and shipping it in a shoe.

catoc 3 hours ago | parent | prev | next [-]

The readme and 100% of the code - according to that readme - was also AI.

If you came up with the design of the parser for the decompiled graphs, then I’m glad to still be impressed.

Don’t get me wrong, it’s a cool project… and I was actually impressed and excited

no-name-here 2 hours ago | parent [-]

> 100% of the code - according to that readme - was also AI

I only briefly scanned it - are you referring to Claude being an extensive commit contributor?

catoc an hour ago | parent [-]

Yes, as in 100% :-(

vrighter 2 hours ago | parent | prev [-]

but not any of the actual work.

chrisjj an hour ago | parent [-]

The Readme is actual work.

vunderba 6 hours ago | parent | prev [-]

Nice job! I actually wrote a blog article about my love/hate relationship with KQ4 in particular - with a particular shoutout to my incredible irritation with the whole golden bridle scene [1].

Without spoiling anything, are you accounting for stuff like a player saving in the Minotaur's Labyrinth without a... shall we say crucial item necessary for a trap scene?

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

wkfauna 5 hours ago | parent [-]

Yes I'm with you on that bridle! And you can only get it by typing "look down", which is infuriating! I'm also discovering, working on KQ5, that it is really evil in allowing you to use items in certain ways that look fine at first (the action succeeds), but bite you in the butt later because you needed that item for something else and there was an other option you could have used. For example, throwing the leg of lamb at the cat to chase it away will work... but then good luck surviving the mountains. I love these games but MAN.

In KQ6, the patched game prevents you from returning to the Labyrinth entrance unless you hold everything you need for inside. Stepping on the mountain will just not work. So you can save inside... you should be "safe" at that point (as safe as you can ever be in a Sierra game, lol).

vunderba 3 hours ago | parent [-]

> In KQ6, the patched game prevents you from returning to the Labyrinth entrance unless you hold everything you need for inside. Stepping on the mountain will just not work

Nice~

> throwing the leg of lamb at the cat to chase it away will work... but then good luck surviving the mountains.

Agree! Some of the KQs will even give you a few points (not the maximum, since it’s not the optimal action) for doing something that’s considered “good,” even though it puts the game into an unwinnable state later on.

wkfauna 3 hours ago | parent [-]

That's evil! But it does make me feel a little better about not using points as a proxy :D