Deja Vu (Mac OS Classic)
This game has unused code.
This game has a prerelease article
|Oh dear, I do believe I have the vapors.|
This page contains content that is not safe for work or other locations with the potential for personal embarrassment.
Such as: A well-stocked swear filter.
With its intricate pixel art universe where every object is mouse-controllable, the inaugural MacVenture game Deja Vu was like nothing seen before.
- 1 Sub-Page
- 2 Revisional Differences
- 3 Dual-Scale Objects
- 4 Unused Graphics
- 5 Unused Text
- 6 Credits
- 7 Easter Egg
- 8 Unused Pronoun
- 9 Developer Message
- 10 Unused Code
- 11 Debugging
- 12 Build Date
There are three known versions of the game. Only the 1992 one has a standard version number, which is 2.5.
The releases can be distinguished by the MacVenture engine's hidden self-identification command: highlight the
Self button and ask yourself
What version?. The game will state whether it is a debugging, demo, or release version, and which one:
|1985||A mysterious voice whispers in your ear, "This is a release version, number 28, of scenario number 1."|
|1986||A mysterious voice whispers in your ear, "This is a release version, number 59, of scenario number 2, filter version 500."|
|1992||A mysterious voice whispers in your ear, "This is a release version, number 86, of scenario number 1, filter version 507."|
The 1986 version's "scenario number 2" is a typo. "Scenario number 2" refers to the second MacVenture game, Uninvited.
ICOM's address and phone number were updated.
In the initial release, the text window has a blank title bar while you're playing an unsaved game. As of 1986, it shows the name
1992 saw further UI changes:
- Windows were originally maximized by double-clicking their title bars. The grow box in the lower-right corner would be inverted (white on black) until the title bar was double-clicked again. This functionality was replaced with standard Mac OS zoom boxes in 1992.
- Command-key shortcuts were added for Open, Save, and Quit.
- The Save dialog was redesigned:
The 1992 version replaced the synthesized sound effects with digitized samples. (Due to the complicated MacVenture sound format, the following are line-in recordings from a Macintosh Plus.)
|Out of Bullets (1985-86)|
|Out of Bullets (1992)|
The funeral march was also redone, bringing it closer to the original Chopin:
Although the phone line in Miss Vickers' office is disconnected, her phone will respond to any use of the letter Q, which was skipped on most older telephones. The message indicating this varied slightly between revisions:
|You can't dial "Q".||You can't dial Q.|
The fake telephone used to access the hidden door in Siegel's office has no reaction to the letter Q.
In the 1980s versions, using any of these twelve words will get you chided for your "profanity" or "crude and vulgar language":
|asshole, bastard, cunt, damn, fuck, idiot, jerk, moron, prick, shit, smegma, suck|
The 1992 release added another 44 terms for a total of 56 (the most esoteric, "golden bozos", comes from the same Steve Martin Saturday Night Live monologue that popularized its synonym "hooters"):
|beat off, bitch, blow job, blowjob, blow me, butt, butthead, butthole, cock, eat me, fag, faggot, fart, fucked, fucker, fucking, gay, geek, golden bozos, golden showers, homo, hooters, jerkoff, jism, jiz, kiss off, lesbian, lesbo, motherfucker, penis, pinhead, piss, pussy, putz, retard, retarded, retardo, scum, scuz, spooge, tits, vagina, weasle, whimp|
Note that the misspelling of the last two words means that their proper spellings go unrecognized.
Two of the files in the 1985 version are called Déjà Objects and Déjà Execution. The revisions have Déjà Object and Déjà Random instead.
The Luger has two sprites: a large one for when it's sitting at the front of the gun shop counter, and a regular-sized one that avoids visually overpowering the rest of your inventory. So do the other guns: you can trade them in for credit, and they'll appear on the counter at the same scale as the Luger.
But that's not all. Three of the items found in your coat at the beginning of the game - the sunglasses, monogrammed handkerchief, and pack of cigarettes - also have larger forms, which can only be seen by taking them out at the gun shop.
|Gun Shop||Anywhere Else|
|Gun Shop||Anywhere Else|
|Gun Shop||Anywhere Else|
Given this, it seems the original idea was to make objects appear larger in the game window than in your inventory. The final game limits this functionality to the Gun Shop room, most likely so the guns look right on the counter.
The close-up of Sugar Shack after she shoots you is made up of two elements: an image of her frowning, and a pasted-over smile. Neither the smiling nor frowning versions are ever seen as apparently intended, because the smile is superimposed one pixel lower than it would take to line up with the frown. The result is an ambiguous 'Mona Lisa scowl'.
Compare the animated mockup at left to the final:
The poster of Ace triggers a flashback cutscene whether he's still amnesic or not, which overrides this terse description:
|It's an old poster of you, 'Ace' Harding, in your boxing days.|
The back door and visible tire of Siegel's car have custom descriptions that are ignored in favor of generic ones ("It looks like a back door"):
|The back door of the Mercedes seems to be welded shut, apparently to keep those who sit in back from just stepping on out.|
That explains why it's permanently stuck, and is the sort of trick you'd expect from a mobster whose bar doubles as a low-budget Bond villain lair.
|The tire looks like it needs a good swift kick. You look like just the man to do it.|
With no way in the final game to remove, damage, or even examine the tire, its implementation as a separate object would seem to be altogether pointless.
Finally, the open hood can't be examined because popping it sets off the car bomb. Here's what you would have read:
|The hood is open. While you're driving, it doesn't look cool, and that makes it difficult to pick up girls.|
The street mugger and his assorted injuries all carry descriptions, but the injuries aren't selectable and trying to examine the mugger results in immediate death by gunshot.
|Mugger||The mugger looks serious.|
|Black eye [left]||Wow! What a shiner.|
|Black eye [right]||It looks very painful.|
|Fat lip||The mugger's lip is really swollen.|
|Bloody nose||Maybe you should try to hit him again to see what else you can break.|
|He's very big, and he doesn't look well-mannered.|
...which explains why trying to look closer only gets you knocked out.
|She is dressed like a hooker.|
Another character who'll attack before you can examine her.
|Alligator [alive]||Hurry, he looks hungry!|
|Alligator [dead]||The gator's lights are definitely out.|
Not only do you get eaten instead of receiving the first description, but you're given no chance to examine the dead alligator before being whisked back to the screen you came from.
|The bum takes the money and says, "Joey's hit man's been lookin' for you. I got word that he's waiting to plug you in your office."||The bum gladly takes the money and says, "Joey's hit man has been lookin' for you. I got the word that he's waiting in your office."|
There's an unused version of the bum's tip with slightly different wording.
Pete's All Nite Gun Palace
|The clerk will not take <source.pfx>.|
You get generic "no effect" messages if you try to barter at the gun shop.
|OUCH! It really hurts to hit a bulletproof window!|
This should probably be the result of trying to punch a cab driver, but all you get is a generic failure message (e.g. "The cab driver seems unaffected.")
Ace Harding's Office
|This man does not look pleased with you. He may have bad intentions.|
|You can't; you're too far away.|
|He blows you away.|
|He blows you away.; you were too slow on the draw.|
Several strings are associated with the hit man, but if you enter the office he shoots you dead before you can try anything. (The "too far away" message is probably in response to trying to punch him.)
There's also an unused description for Ace's signage when the hit man's silhouette no longer darkens the window:
|The window is clearly labeled, for those who read English.|
|The knocker has no effect. It seems that no one is home.|
The butler will unfailingly answer the door knocker...until you sock him, after which you can no longer use the knocker because the game will skip directly from the mansion lawn to the vestibule.
|Mr Sternwood. I have your wife. If you want her to be sent back in little bite-sized bits, then either call the police, or just sit back and do nothing. But if you want to deprive me the pleasure of breaking in my brand new industrial strength hacksaw, it'll cost you $20,000 worth of Benjamin Franklins. I'll give a day to collect it together and put it in a black, unlocked briefcase. Then you're to leave the house alone, go for a long walk, look for a secluded area, and if I don't show up in five minutes, look for another one. You won't know when, or where, or how, but I'll be keeping tabs on you. By the way, be sure to bring the briefcase with you.||It's a ransom note. The lettering is made up of newspaper cutouts. It reads,|
Your wife is in our possession. You have 24 hours to collect $20,000 in $100 bills. If you contact the police, she's dead. Be standing at the corner of Peoria and Elm at exactly 12 midnight tomorrow. Be sure to have the ransom in an inconspicuous briefcase. There, you'll be contacted with further instructions."
A longer, jokier version of the ransom note.
|You can't open the window; it is stuck.|
|As you close the window, you hear it click into a locking hold.|
These don't seem to apply to any window in the game.
All four mirrors draw on a shared set of properties, including descriptions for before and after you recover your memory. That means that you never see the unique text for the mirror in Siegel's apartment:
|As you look into the mirror you notice an ugly mug staring right back at you.|
Or the one in the Sternwoods' guest room:
|In the mirror you see the face of a man who wastes his time staring at himself in mirrors.|
Yet another class of items whose unique descriptions are suppressed: open elevator doorways.
|Siegel's office||Outside the elevator you see an office.|
|Weird room||There is a weird room outside the elevator, just waiting for some fool to enter.|
|Stanford Arms lobby||Outside the elevator is the lobby.|
|Siegel's penthouse||Outside the elevator, there is a room, I surmise!|
Talking to someone who doesn't have an answer for you should prompt one of these reactions:
|[Person] seems startled. [S/he] probably didn't hear what you said because [s/he] was daydreaming or something.|
|[Person] grunts in response. [S/he] doesn't seem to be interested in idle chit-chat.|
|[Person] studiously ignores you. [S/he] is being quite rude.|
Instead, people use the same set of failure-to-communicate responses as inanimate objects, even when these make no sense in context. ("The clerk can't hear you", "You can talk to the clerk all you want, but if he answers ...")
|You're under arrest, Jack! As the cops slam you to the floor and slap on the cuffs you hear one of them say, 'We've been looking for you all night!" They search through your belongings. They eventually come up with enough evidence to pin you to a murder! If only you stayed ahead of the cops; if only you moved a little faster; if only you could start all over again! Hey, I think we can arrange that!|
Being arrested before your memory is restored leaves you a hospitalized vegetable, and being arrested afterward triggers a summary of your trial and how the evidence stacked up for or against you. Either way, this generic ending doesn't show up.
|Stop thief! You're under arrest! Petty crime doesn't pay, especially when it leads to the big time. After taking you to the station it is discovered that there is enough evidence to pin your hide to a murder! The arresting cops congratulate themselves for their first big catch. You've made them feel very happy. You wish you could be so happy. We do too. We're gonna give you another chance... to start all over again!|
You can elicit various reactions by ripping off the newsboy, the cabbies, and the gun seller, but none of them impact the ending.
|Big trouble! The police have nabbed you. You've been arrested. You'd done alright up till now, but you made one fatal slip-up. You failed to make the most crucial evidence into a hard copy, so to speak. Now you can't use it, and it costs, 'cause there's a whole pile of evidence that stands against you and there's nothing you can do about it ... except start again.|
This hint points at needing to shade the incriminating notepad with a pencil, but it doesn't appear even if you've taken every necessary step to win except that one.
|Big trouble! Not for you, though, but for Sternwood and Vickers. On the basis of the evidence that you've amassed, the police have taken them away. You've done an excellent job, Ace, and under the worst conditions you've ever encountered. Congratulations, you're one hell of a private eye, a real man's man, tough as nails, quick on the draw, and smart enough to beat the greatest odds (except on the roulette wheel). For the exceptional job you've done, the city of Chicago has seen fit to give you the award for Citizen of the Week. This award is suitable for printing out and framing.||You're in the hands of the police. They're very glad to see you. The evidence you've brought to them proves to be interesting, especially in the courtroom where you eventually wind up. In the course of the highly publicized trial concerning the kidnapping of Mrs. Sternwood and the murder of Joey Siegel, three bits of evidence come to light: The diary you found in Vickers' bungalow, and the blackmail letter and timetable that you found in Sternwood's bedroom.|
These three items, put together, paint the picture of a conspiracy by Sternwood and Vickers to eliminate Mrs. Sternwood and Joey Siegel, and to make you take the fall for it. The diary, WITH the blackmail letter, provides strong evidence of a motive for such actions. The timetable indicates how they may have done it. Sternwood and Vickers are grilled for hours on the witness stand. Under the weight of the evidence, and from the skilled pressure tactics of your lawyer, Vickers breaks down and admits to their crime. Congratulations Ace!
An early, and completely different, draft of the victory ending. (Instead of a "Citizen of the Week" award, the finished game grants a diploma from the Ace Harding School of Investigation.)
The animated "magic lamp" about box misspells Terry Schulenburg's name as "Schulenberg". The initial release contains an unused basic about box that spells his name correctly:
This resource was deleted in the revisions, but the typo in the actual credits wasn't corrected.
A very obscure Easter egg exists near the beginning of the game.
First, go out into the hallway by the women's washroom and take the fly on the doorframe into your inventory.
What, you never noticed the fly? Here it is, highlighted in red:
To click it, you need to position the black tip of the mouse pointer directly over that pixel.
Next, take the fly with you into the women's toilet stall.
Open the toilet and place the fly into the toilet window.
Now open the Mac's Control Panel and set the system date to 1/23/45 at 12:34:00 PM. Close the Control Panel.
Operate, and the toilet (not the flush handle).
You'll be transported to an altar where the Holy Grail awaits you. (Except in the 1986 edition, where it's mysteriously nowhere in sight.)
You can take and open the Grail, but nothing fits inside it. Neither the altar nor the Grail have any associated strings or code, nor is there any way to return from this location as it has no exits.
STR# 132 defines the four pronouns that can be assigned to an entity in the game world. Guess which one never is:
This is one of a few places the developers poke fun at their boss, ICOM founder Tod Zipnick, along with the Todd Zipman urine sample and "Zip is a dip" washroom graffiti.
The creators aimed this line at anyone who managed to decrypt the game's text:
|If you can read this, you've just wasted a hell of a lot of time.|
They didn't foresee that one player's feat of reverse engineering would permit their games a commercial revival 30 years later, or they might have greeted him with an ASCII high five.
Speaking of Sean Kasun's efforts, the last two opcodes documented in his reverse-engineered MacVenture spec are apparently never invoked.
|Get Fibonacci $e6||Push the result of opcode $e7 onto the stack.|
|Calculate Fibonacci $e7||Pops N from the stack. Calculate the Nth fibonacci number. Save it for opcode $e6.|
He remarks, "I swear those last 2 are a joke. I've never seen them actually used."
Text exists for a feature that reports the properties of an object in the game world using natural language.
|$5c5||) is in <target.pfx> (|
|$5c6||). <source.pfx.cap> has graphics that are|
|$5c8||; <source.indir> has a size of|
|$5c9||and a weight of|
|$5ca||. The description is:|
|$5cb||. There is no description.|
On encountering an error, the game will attempt to report what it was doing at the time.
These are the possibilities:
- doing something important
- unpacking data map
- getting boot volume
- looking for data disk
- starting a new game
- opening another game
- allocating memory
- checking handles
- reading data file
- unpacking graphics
- making text
- looking for a font
- cleaning up
Another five were removed in the 1992 revision.
- filtering: stack overflow in
- filtering: stack underflow in
- filtering: nth (primitive) reached too deep in
- filtering: swap (primitive) reached too deep in
- filtering: the text kludge lives in
The following is visible in a hex editor at the beginning of the 1986 application. (Rez was a resource compiler included in the Macintosh Programmer's Workshop from Apple.)
This file was created by Rez V1.0B1, compiled Monday, May 19, 1986 7:12:42 AM
The actual creation and modification dates in that revision span June and July.
The MacVenture series
|Mac OS Classic||Deja Vu • Uninvited • Shadowgate|
|NES||Deja Vu (Prototypes) • Shadowgate (Prototype) • Uninvited|
|Game Boy Color||Shadowgate Classic • Deja Vu I & II: The Casebooks of Ace Harding|
|Windows||8-bit Adventure Anthology: Volume 1|