If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

Façade

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Façade

Developer: Procedural Arts[1]
Publisher: InteractiveStory.net[2]
Platform: Windows
Released internationally: July 5, 2005[3]


AnimationsIcon.png This game has unused animations.
GraphicsIcon.png This game has unused graphics.
SoundIcon.png This game has unused sounds.
DebugIcon.png This game has debugging material.
DummyIcon.png This game has unusual dummy files.


NotesIcon.png This game has a notes page

Façade is a game about visiting two old friends, Trip and Grace, only to find that their marriage is in shambles. You can choose to save their relationship, break them up for good, act like a drunkard, or get thrown out by saying the word "melon", for some reas--

Okay, that's it, I think you need to leave. We'll be fine, you just have to go.

Unused Graphics

From the lands of Clipart...
A graphic exists for an ashtray that isn't used anywhere in the apartment. It was probably going to be Trip's since Grace talks about his "fancy cigars and fine wine".

Facadedrink.png
A low-quality photo of an alcoholic drink is also not seen in the apartment. It is simply called drink.bmp.

Throwdrink facade.png
An unused cursor icon called throwdrink.ico implies you could once do just that. Looking at animEngineDLL.dll with a hex editor reveals that you could have thrown your drinks at Trip and Grace, and it would have been written down in the event logs the game generates. The logged event is listed as (%s throws drink at %s.) within the .dll file. It is unknown why this interaction was scrapped.

FacadeCursorWave.gif
A series of unused cursor icons listed as wave0.ico to wave7.ico implies you could have waved to Trip and Grace. As with above, it is unknown how this interaction behaved or why it was scrapped.

Debugging Material

Front-end

Logging

animEngine Logging

The game actively writes messages to a mailslot named \\.\mailslot\WinLog and a debugger attached to the game (if any, through OutputDebugStringA) during runtime.

To see the logs through the mailslot, compile this utility (tested with Visual C++) then start it along with the game.

(Source: Original TCRF research)
Event Logging

To make the game write event logs, hold Ctrl before the loading screen is shown. Logs reside in util/sources/facade/eventlogs with the filename format AI Log [day] [month] [date] [hour] [minutes] [seconds] [year].txt and is in the same format as the back-end's console output.

Hmmm...
To do:
Add a screenshot

This will also make the game say "Debug" on the loading screen.

(Source: Original TCRF research)

Menus

Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: How can we hack the front-end to display the menu? Are they even functional?

There are 4 dialog boxes belonging to a hidden debug menu in the front-end's executable. There is a Face & Head editor and a Script editor.

Soundtrack

Holding Ctrl right before the title track plays will cause the game to use Billy Gomberg's soundtrack (the ones under the folder mp3_2), regardless of whether the game was completed (a stageplay was created) or not.

(Source: Original TCRF research)

Back-end

Console Window

Facade-BackendConsoleWindow.png

While you are playing the game, the back-end will continually output dozens of messages to a console window that pretty much explains what it's up to. Normally, this console window is hidden, but you can force the console window to be visible using an external program like Process Hacker.

If you're lucky enough and all the planets align, for some reason in some circumstances it's possible to see messages from the back-end without needing to resort to using external tools, but the downside is you'll experience some serious graphical issues in the process.

Character Debugger

Hmmm...
To do:
Further document this and try to figure out a patch for the characters that doesn't entirely break everything.
Good god, this user interface hasn't aged well.

The game's characters have a hidden debugging window that allows you to view, modify, and debug everything a character does on the back-end's side, but accessing it is not an easy task.

Drama Manager Monitor

Facade-BackendDramaManager.png

The Drama Manager essentially orchestrates the dramatic part of the whole game. It has a hidden debugging window that can be enabled and accessed by patching the Main.class file the back-end uses to start up. When you start the game, you get a window with several sections. The window comprises of three sections: a list of working memory instances, a graph detailing the story arc (including an indicator of where you are in the story), and a section related to all the various possible events.

By default, this menu is disabled by a boolean stored in the back-end's Main.class file. Provided below is a patch that re-enables it.

Download.png Download Façade - Drama Manager Monitor Patch
File: Facade-DramaManagerMonitorPatch.7z (info)


Working Memory

The first section, Working Memory, allows you to freely browse and even modify all the various things that are kept in the back-end's memory. You can also add additional things to memory by right clicking and clicking "Add WME".

Story Arc

The second section, Story Arc, as previously mentioned before is a graph of the story arc thus far. The blue line in the graph indicates the current place in the story. As the story progresses, the graph automatically updates to reflect the place and tension in the story. There isn't much interaction that can be done here.

Beats

The back-end refers to events that occur within as "beats". The final section comprises of multiple subsections referring to them. It allows you to effectively control what happens in the game.

  • The first section is for events that have not occurred yet and may get used as the story progresses.
  • The second section is for events that have a chance of occurring at that moment in time. In each list entry it shows the probability for that event occurring, measured in decimals. You can force a certain event to occur by clicking on an option and clicking "Choose beat".
  • The third section is for events that are actively occurring. Likewise with the section section, when it specifies which event is occurring it also specifies the probability of that event occurring. You can choose the outcome of the event by clicking one of the two buttons.
  • The fourth and final section is for events that have already occurred. When listing events it will also include the outcome of them.

"Beta" Build Number

Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: It's apparently also printed to stageplays or event logs if the "debug mode" is triggered, check if it's so.
Beta build %s
8 (7.9.05)

Located at 0x10177ce4 in animEngineDLL.dll is a beta build string presumably leftover from development.

(Source: Original TCRF research)

Dummy Files

In the game's installer, there are 8 dummy files named dummy1.txt through dummy8.txt, which are each almost exactly 100 MB in size and contain nothing but zeroes. After the game is installed, they are immediately deleted by speexdecode.bat, the batch script that decompresses the game's dialogue voice files. They seem to reserve space for the decompressed voice files, which are in total roughly 800 MB in size. Interestingly, while the compressed voice files are all dated February 4th, 2006, these dummy files and speexdecode.bat are dated February 20th, 2006.

Mentions of Unused Animations

The animation index (.aindex) files for Trip and Grace mention a few unused animations, although it is currently unknown if there is any method to display them:

  • Trip's .aindex file mentions a testing animation labeled tr_test.
  • Trip's .aindex file also lists tr_fixdrink_blender, tr_fixdrink_openbottlecap, tr_fixdrink_pourbottle, tr_fixdrink_pullcork, and tr_fixdrink_stir as actions related to making drinks, and none of them are performed by him.
  • Grace's .aindex file mentions an animation labeled gr_sit. This would have been used when Grace invites the player to sit on the couch with her. However, she just stands in front of the couch instead of actually sitting on it, making this animation unused.


Removed Audio

In the backend, class facade.util.MusicDefs defines a music track named oneOnOne (ID 3). However, it is never played, and the music-playing routine in the frontend lacks code to handle the track's ID.

(Source: Original TCRF research)

References

  1. Façade: AI indie PC game - Playabl Studios, 2005
  2. Sex, Lies, and Videogames - The Atlantic, Nov. 2006
  3. Façade (Video Game 2005) - IMDB