Doctor Agent Scully spoke of a sixth extinction — one that's already in progress, and of our own making. Could she have been referring to Sierra easter eggs? I Choose To Believe.
Neil's European Vacation was revealed by Sierra developer Neil Matz on the spacequest.net forums in 2002.
At first I was surprised that Sierra games still have easter eggs to find. The odds seem against it. It's not just that the games are so old, it's that their fans are so crazed. Normal people move on but Sierra fans are like the freakin' Millennium Group — they don't walk away. Since the beginning, the technically inclined have built tools to peel back the layers and get at the games' gooey resources. Thirty years of this global reverse engineering effort have snowballed into some sophisticated software. AGI Studio and SCI Companion can decompile old games and create new ones from scratch. ScummVM contains open source implementations of both engines that can run every game. This sounds like victory to me — we've gone from chipping away at file formats to total domination. With that kind of coverage, where's an egg to hide?
In 2008, Resource Quest: hidden treasures in Sierra's adventure games by akril seemed to spell the inevitable end for easter eggs. SCI Viewer had just hit the scene and it enabled easy resource browsing in many games for the first time. Easter eggs are art and so their pictures, texts, and sounds should stand out from the rest. Fans have indeed found plenty of interesting things since then, and akril's meticulous Sierra's Resource Files is a testament to this, but we still haven't seen the easter egg extinction I expected.
If you ever browse a game with a resource viewer then you'll quickly see the problem. The idea of auditing everything immediately crashes on the rocks. Sierra games are huge and there's a lot of them. Eyeballing each animation frame and message would be tedious even if the tools were optimized for it. It's simply impractical to recognize every little piece out of context. You'd be humbled by how much text you never knew of in the first place. Plus, what if the interesting things you were looking for didn't have interesting resources? What if you weren't even looking at the right version of the game? Resource viewers are great but good eggs can survive this surface scrutiny — the odds are on their side.
It's important to have goals, or so I'm told by several reputable hashtags. In the 90s mine were to solve The Colonel's Bequest, and more importantly, The Dagger of Amon Ra. It was clear that merely playing them wasn't going to cut it. As time passed I would occasionally check in on the Sierra scene and when SCI Viewer dropped so did my hopes. SCI Viewer revealed that there was indeed a lot more to these cases but that the answers were all in the scripts. At the time, this meant reams of intolerably low level disassembly text. This wouldn't do for the high level answers I sought. "I'll come back later." In 2015 it was later, and lo, for Phil Fortier released from the heavens SCI Companion 3.0 with an honest to goodness script decompiler. It had been twenty years but not only could my investigation now proceed, it had to. Sigh, Peter Watts was right: This Is Who We Are.
I was anxious for answers but didn't know the first thing about SCI and it was slow going. It's tough to get your bearings in a dead proprietary object oriented scripting language. It's worse when you can only view it through the distorted lens of a decompiler. Also it kinda looks like Lisp. I hurriedly took to writing the worst fucking parsers ever in the hopes of making things readable and personally comprehensible. My code was ugly but the scripts started turning out pretty. I was finally finding my answers but also finding bugs in the games and even easter eggs. After solving both unsolved Laura Bow mysteries I made the lateral transition to ScummVM SCI bug extermination and unleashed my ball of goofy script processors on other games like a rototiller. Once again, more bugs, and also more eggs. I joked that I should reprogram the dumb thing to find eggs on purpose and then got quiet because dang it that might actually work and well, here we are.
I've kept my findings close to the vest because I respect long-lived secrets. Now though, as Sierra subcultures continue to take off and organized chatrooms sniff around the scripts, it's just a matter of time before these clever crowds find everything. I'm already getting scooped and I'd rather write about this than something hard so that's it — everything must go! The script analysis asteroid has hit and The Sixth Extinction is on!
Our first casualty is Space Quest IV, a 1991 classic with plenty of well known easter eggs and a devoted fanbase. This brings us to our next Sierra subculture: the ever expanding universe of the Space Quest Historian. Last time we got in too deep (starring Omar Epps) with the King's Quest speedrunners (speedrunners?!) but this time I'm afraid I didn't do any embedded journalism. Sorry, I blew the budget on animated GIFs. It would be wrong to summarize a life's work with no research. On the other hand, paragraphs do need sentences. From what I've gathered though, a lanky gentlemen of the Danish persuasion is uncompromisingly keen on Space Quest. I'm sure there's much more to it but frankly that's all I need to hear — I'm sold! SQHistorian's community* was kind enough to pass on a copy of the leaked SQ4 beta that we'll see in a bit. Thanks, homies!
With that brief introduction out of the way, please enjoy this new batch of Space Quest IV easter eggs and oddities. At least, they all seemed new to me at the time. The important thing is that Frank Black was right: sometimes to catch weird software, it takes weird software.
Look at the bar sign five times (floppy disk versions)
Look at the unreadable sign in the bar staircase five times to get the full Quality Assurance credits, but only in floppy disk versions. Secret credits always seemed strange to me, isn't the point of giving credit so that it's not a secret? King's Quest V and Police Quest III do this too. Shawn Mills' excellent book The Sierra Adventure was released last year and gives context. Sierra credited QA leads but not the full roster of testers. Richard Aronson, the lead programmer on Conquests Of The Longbow, successfully lobbied Ken Williams to change that.
These secret credits aren't a secret anymore; last year this egg went public. I've been scooped!
Smell the "O" in SOFTWARE
Here's a QA shoutout that's in every version: smell the "O" in the SOFTWARE sign. The Cutting Room Floor noted this text but misdiagnosed it as "debug messages left behind". So close! At least it shores up my thesis on the limits of resource browsing.
Taste the blue box eighteen times
There are three floating boxes of software in the display window. Taste the blue box on the right eighteen times for a Go Beavers! message. It's easier if you turn down the Detail slider before entering this room, otherwise the box is a moving target.
I suppose the Route One explanation is that someone went to Oregon State University, but I Choose To Believe they were into Beringia.
Smell the upper-left square and face south (floppy disk versions)
The software clerk gives you the middle finger and laughs behind your back. Click Smell on the upper-left square inside the software store for an Ah! Yeaa! message and then turn your back on him by facing south. He'll eventually give you the business as long as you're not too close to the door. As a former child soldier of the RadioShack empire, I'm appalled.
Thanks to the leaked beta, we can see that this was originally intended to occur during normal gameplay. In the beta the "birdy" script was programmed to randomly activate with low odds whenever you were facing precisely 180 degrees south. This internal heading determines which animation frame is drawn but it isn't something you can observe. 180, 173, 199 degrees, they all look the same, so the exact heading is effectively random. Players would have gotten the bird on rare occasions but they would have had trouble deliberately reproducing it. I can't believe anyone thought this would ship — flipping the bird was pretty edgy for 1991. It didn't even go over well in 2007. Presumably someone deemed this unacceptable and the fun had to be secured behind a secret click that no one would do. The odds were increased accordingly and the 180 degrees requirement was relaxed. By the next year the whole thing was removed from the CD version.
When my tools flagged the birdy script two years ago I was surprised I couldn't find any public information on it. That vulgar art should have stood out to at least one fan with a resource viewer, and yet it was news to the experts I privately showed. Still, I made a note that this egg was the most likely to be discovered. Sure enough, one year later SQHistorian's crew picked up the scent and a slick video followed. "I've been scooped!" I cried, but as the video continued I quickly recovered. "It's okay... it's okay... I can still make this about me."
New Rising Sun is the godfather and grandmaster of fixing Sierra games. Any script patch you've ever downloaded to fix a timing bug was a NRS patch. I aspire to follow in those footsteps. NRS' magnum opus is the Space Quest 4 Update which combines the best elements from all versions, fixes a Berta of bugs, and adds missing code for an entire easter egg room. That last one has implications that betray some serious mad science. Last year NRS released a new version after fifteen years! The second half of SQHistorian's video shows off a mall puzzle that the new update fixes, and this is where I got giddy. This is an entire sequence that's so off the beaten path that not only had he never seen it, neither had Sierra's QA testers — it's riddled with typos and bugs that would immediately freeze the CD version. I know this well! A year earlier I discovered and fixed it in ScummVM so that it was playable for the first time. I was proud because it unlocked a dozen dialogue recordings that couldn't otherwise be reached, including narration by Space Ghost himself: Gary Owens. If that somehow led to NRS learning of this and fixing it too then the circle is complete and I'm a happy camper. It could be a coincidence, but I Choose To Believe!
Taste the upper-right square (most floppy disk versions)
Click Taste on the upper-right square inside the software store to trigger a police chase in most floppy versions. A mall shopper runs across the screen from an all swimming, all shooting Sequel Police. Now this is a good egg! There's no text and it uses existing art so there's nothing unique to find when leafing through the resources. You'll only find this one by sluicing the scripts. Good luck though, because it's hidden within bland objects with names like "talk2".
There's a hazard with easter eggs — they're obscure features that escape review and testing. Their very survival often depends on complete secrecy. This produces rarely executed code that has what bugs crave. Larry Osterman tells of several buggy easter eggs that Microsoft shipped before the practice became a fireable offense. If just one egg introduces that kind of risk, what happens when two overlap? And cue next paragraph...
Triggering the police chase and birdy easter eggs at the same time breaks the game. Smell the left wall, stand near the counter, then taste the right wall. The chase walks you south and now both eggs can run at once. If the clerk gives the bird then the chase gets interrupted and you never regain control. I don't know if this counts as a case study, but ScummVM has patches for five script bugs involving Sierra easter eggs. Now that I've spilled the tea I'm free to fix this one too.
Let's make a timeline! The police chase was created before the beta leaked in January 1991. The first release was in March and by December, after many more versions had shipped, Sierra noticed the bug. The Amiga port included a fix but the chase was removed from the French localization and all subsequent versions.
Get out your debugger and beat the game... or maybe just enjoy this GIF?
Floppy versions contain alternate credits that finally give software developers the top billing they deserve. These Programming Studs only appear at the end of the game if an unused global variable is set, so never, but they're still a good example of what can turn up in a sluicebox. Here in the future we can unlock "studScript" with one command in the ScummVM debugging console:
vv g 169 1
Normally the application programmers who write all the game scripts are confined to a single card after the animators and artists. Now the studs come first and they each get their own moment. I can't help but notice that the systems programmers don't get this treatment. They're the ones who designed the scripting language and wrote the interpreter and tools in C and Assembly. Professor Laine Nooney obtained Sierra org charts with names and pay levels and the systems folk generally made more than the studs. What's the moral of this story? Attend Laine's streams! (And be quick on the PrtScr!)
Look at the Stunt Flyer icon in the leaked beta
In 1991, The Humble Guys released a leaked beta of SQ4 two months before it was finished. This would have terrible to play, and it's not even completable, but it's a fascinating artifact. We rarely see a full snapshot of a Sierra work in progress and this one shows just how much they accomplished during the final months of development. Thanks, pirates! Thanks, whomever betrayed everyone's trust! You don't have to be on the right side of history to be on the right side of historians.
I couldn't find the beta on the open internet so I asked around and our SQHistorian friends passed it along in... dear lord, July?? Where did the... nevermind. I hoped the beta would provide interesting context for the other eggs. I was also anxious to throw it in the hopper and see if anything else came out. Twenty minutes later I was guffawing over a temporary inside joke that fell squarely within the Dennis Miller Ratio.
Inside the super computer, click Look on the Stunt Flyer icon for a prank error message followed by "Just kidding, Guys!". "Not an object: $0" is a very real error message that programmers and testers would have encountered all the time during development. How do I know? I encounter this error all the time! Sending a message to a non-object, which usually means a null dereference, is a common fatal outcome of the script bugs that we fix in ScummVM. I love that someone went to the trouble of styling this thing to approximate the interpreter's real error window. It took a while, but this joke found its target audience and it landed.
Turns out I could have saved some time, maybe, if I'd just watched SQHistorian's beta video from a few months earlier where he toured all the rooms with the included debugger and clicked on Stunt Flyer. Oops. Oh well, I probably would have missed the significance anyway, and this one really does deserve its own GIF.
That's all I got on Space Quest IV! Not too bad for a well worn game with a lot of eyes on it. I don't think there are any more easter eggs in there but you go write you some weird software and see what turns up. As for the rest of the games: I'm emptying the queue, so scoop me if you can!
Wait!! I mean... maybe don't??