Quest For Glory I – Macintosh Easter Egg
 

Where's the best place to hide an easter egg? Well, this Easter I woke up to a purple one in my face so... not there.

But if we're talking Sierra games, then it's hard to beat burying a secret in a version that no one plays.


Foreshadowing! And yet somehow... familiar?

The Macintosh version of Quest For Glory I is a 1994 port of a 1992 VGA remake of a 1989 EGA game. In the 90s I imprinted on that popular DOS remake. Here in the future I field its bug reports for ScummVM. But each time I've fixed something, a strange pattern played out. I would write a script patch, test it against DOS, and then try to test it against Mac... but I couldn't find the bug. I also couldn't find the fix! The scripts had been restructured to somehow make their problems moot. At the time, it took effort to inspect even a fragment of Mac script, but everywhere I looked I saw effort staring back.

Finding fixes in software shouldn't be unusual — it's just contrary to my experience with Sierra's Mac ports. Their only script changes tend to be workarounds for limitations in the Mac interpreter. And ohhh does it have limitations. Mac ports also had a tendency to ship without all their graphics, causing certain scenes to bring down the whole operating system. King's Quest VI really gets to the heart of the Mac ethos: clicking "Tips for playing" bricks the program. But that's the nature of ports, they're often by an underfunded team with minimal QA and long after the original developers disbanded. And porting anything to classic Mac couldn't have been easy. I have a hard time doing any archeology in Apple's ruins — Sierra's System 7 programmers have all my sympathy.


Don't drink the "Drink Me" drink

Given these low expectations, I wasn't just surprised by QFG1VGA Mac's changes. I was suspicious. Some of those bugs were pretty obscure. And yet two years later, someone systematically fixed them with knowledgeable rewrites and improvements, and all for a final version on a platform that few would play. That doesn't sound like the work of a rote porter; sounds more like... a rogue porter! I felt like I'd found a Death's-head moth — somebody loved this thing. I was certain that whoever put in this kind of work wouldn't have been able to resist a flourish. Somewhere in the Mac version there must be an easter egg.

Unfortunately for my theory, QFG1VGA Mac is the most difficult game to reverse engineer. SCI resource tools don't bother with Mac formats and consequently they've escaped analysis from the SCI community*. But I don't think the experts realize how thin the Mac script barrier is. I've been decompiling every Mac game with SCI Companion for years. Just dump all the script resources as patch files, convert them to little endian, and toss the results in a DOS donor directory. Normally that's all it takes and we can start sluicing, but QFG1VGA Mac adds one awful obstacle: the object names have been stripped from the scripts.

We enjoy a lot of visibility into Sierra games thanks to modern tools, but a lot of their usefulness is predicated on a subtle engineering decision from the 80s. SCI scripts are loaded with metadata that the games don't need to run. The internal names of objects, methods, and properties are generously included alongside the compiled bytecode. This was crucial for debugging during development, but it's easy to imagine a world where these superfluous strings were excluded from releases. Disk space and memory were scare and Sierra went to great lengths to conserve both. I think it's a miracle this excess was tolerated. To whoever was responsible: I am grateful. As Jason Scott says, metadata is a love note to the future. Take that away and SCI is a different story. Take that away and I'd take a different hobby. A few of the Mac ports give us a glimpse into that dark world — without those object names, the scripts are incomprehensible to man and machine.

But I was certain there was something worth finding so I patched the decompiler to not die and wrote an absolute casserole of heuristics to match DOS objects to Mac. Eventually it recovered 94% of the thousands of names. My back ached but I had my scripts. Subsequent sluicing quickly paid off.


Win a daytime fight in room 18 on a Macintosh

Bugs Bunny and Elmer Fudd appear in the Macintosh version after a completing a fight in the forest. This only occurs in one special room during the day and only once per game. To reach room 18, start in the garden and go north three screens and then east. Get in a scuffle and be sure to win.

I was absolutely fizzing over this find and the disproportionate work that went into it. I even traded this secret on the dorkweb for Sierra treasure. I figured this was the least likely egg to be discovered. It's protected by its increasingly inaccessible platform, overshadowed by an original version, and uniquely tool-proof. Classic Mac is such as wasteland that it would have been easier to find this back in its heyday than now. I'd been scooped before, but how could anyone possibly find this?

Back in 2003, I was playing the Macintosh version of Quest For Glory 1 (VGA), and I came across this interesting Easter egg which I've never seen in the PC version of the game.

Scoooooooooooped!! Chad Armstrong made AGI Studio for Mac for creating and dissecting games with Sierra's earlier engine, so he's an expert at internals, and yet he found this by just... playing the game?? Amazing. (And with four years to spare!) Somehow it never occurred to me that this egg was meant to be found. Half of the game is running around and getting into forest fights, so yes, that wabbit should have popped up during normal play.

I feel better because this bolsters my first thesis statement: Nobody played the Mac version, otherwise this egg would have been common knowledge from the start. Instead, only two people have gone public about it, and we're both Sierra software weirdos. And it still takes us decades!

I also feel better because this supports my second hypothesis: Even a player who found this egg wouldn't find its second half.


Blast Fudd with Flame Dart

The Mac easter egg is interactive! Although it's a hands-off scene, the magic menu is quietly enabled for a few seconds if you happen to have the Flame Dart spell. If you happen to notice this and you have the right idea and you're quick enough then you can hunt the hunter. I like those odds! Maybe someone did figure all that out, but I doubt it. That's why in this house we sluice the scripts.

QFG1VGA Mac's other scripts offer an explanation for their unusual attention to detail. The key is that two year gap. Mac ports always lagged behind, but not by that much. Two years is forever in SCI. Browse the ScummVM codebase and all you'll see are version checks — everything is a moving target. Porting a 1992 game to a 1994 interpreter meant dealing with a cascade of breaking changes in the kernel and the system scripts that depended on them. Most game scripts required adjustments to work with the newer components, and that's on top of the normal Mac work. In that light, all the effort I saw makes sense. If you're already committed to that much renovation then you might as well fix everything else. And, you know, violate some powerful intellectual property.

I hope you've enjoyed Quest For Glory's Macintosh Easter Egg! Except... you haven't? And you probably can't, for all the reasons that kept this secret secure. But this is a great Sierra easter egg and it deserves better than a life sentence to Mac obscurity.

So I ported it back to DOS! Just drop these patch files in your DOS game directory and you too can Fudd around and find out.

Okay now I hope you'll enjoy Quest For Glory's Macintosh Easter Egg. I'm happy to get it off the books. It's a good egg, but the Sixth Extinction finally caught up to it. Now I just need to catch up.

qfg1vga-mac-egg.zip