Beyond: Two Souls
| Beyond: Two Souls |
|---|
|
Developer: Quantic Dream
|
| 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: Undetailed Barbie doll-esque nudity. But still nudity. |
| Oh wow. Sometimes, you have no idea how morbid the things in these pages can be. This page contains content that is not safe for life, whether it be you or anyone in proximity to you. Such as: Disturbing unused audio from the aftermath of an attempted rape. |
Beyond: Two Souls is the story of a traumatized Elliot Page and his invisible "friend".
Contents
Sub-Page
| Prototype Info |
Scrapped Chapters
First Steps
This chapter, which featured a baby Jodie interacting with Aiden for the first time, was intended as the initial gameplay tutorial. When it was replaced with "The Experiment" as the tutorial, Quantic Dream intended to release it as bonus DLC, evident by the game files containing code checking for a "FirstStepsAddon". Text files confirm that it was meant to occur after "Broken" and before "The Experiment" in the game's play order.
A fully playable version of this chapter exist in a 2012 test build of the game, and can be viewed here.
The interaction triggers, sound effects, variables, and objects list can all be found in the game files:
Interaction Triggers
JodieSitAndLookAiden
ZoneBaloonNoBlast
ZoneSteamFather
ZoneJodieFall
ZoneAmbianceExterieure
ZoneAmbianceRDC
ZoneAmbianceJHORoom
ZonePictoBlastCadres
ZonePictoBlastChair
ZonePictoBlastJodieBed
ZonePictoBlastToyBox
ZonePictoBlastWoodTrain
ZoneExitPicto
ZoneTutoLookJodie
ZoneTutoWalk1
ZoneTutoWalk2
ZoneTutoWalk3
ZTutoAidenInRDC
ZTutoAidenNearFather
ZoneReminderManif2
ZoneReminder3
ZoneJodieOutOfRoom
ZonePlushToy
ZoneAidenHalwayToArtMo
ZoneAidenNearSusan
ZoneCenterRoom
ZBlockAidenParentRoom
ZAidenBlockZone02
ZAidenBlockZone03
ZAidenBlockZone04
ZAidenBlockZone05
ZAidenBlockZone06
ZoneExitingParentsRoom
ZoneEnterparentsRoom
ZoneCollisionSusan1
ZoneCollisionSusan2
ZoneCollisionSusanPhone
ZoneCollRattle
ZoneCollTutoWalk
ZoneCollXylo
ZoneXylophonePlay
ZoneSusanTakeSqueakToy
ZoneSusanGiveSqueakToy
ZoneJodieGetUp
ZoneTeddyBear
ZonePlayRattle
ZoneTeat
Sound Effects
IW_0301_FIRSTSTEPS_SFX_3D_SBlastDesk_Fall
IW_0301_FIRSTSTEPS_SFX_M_sHugJodieBear_HugTeddyBear_Grab_Plushl
IW_0301_FIRSTSTEPS_SFX_3D_sFatherReactKettle_Sit_Chair
IW_0301_FIRSTSTEPS_SFX_3D_OpenCorridorDoor
IW_0301_FIRSTSTEPS_SFX_3D_ColDyn_WoodCubes_On_HardFloor_C_Light
IW_0301_FIRSTSTEPS_SFX_3D_Blast_Drawing
Variables
QDR._0301_FIRST_STEPS_Var.iCompteurInteractionsJodie = 0
QDR._0301_FIRST_STEPS_Var.iCompteurRaccourci = 0
QDR._0301_FIRST_STEPS_Var.bEnterTutoWalkZone1 = false
QDR._0301_FIRST_STEPS_Var.bEnterTutoWalkZone2 = false
QDR._0301_FIRST_STEPS_Var.bEnterTutoWalkZone3 = false
QDR._0301_FIRST_STEPS_Var.bTutoControlDone = false
QDR._0301_FIRST_STEPS_Var.bTutoWalkFinished = false
QDR._0301_FIRST_STEPS_Var.iTutoLookTrigValueTest = 0
QDR._0301_FIRST_STEPS_Var.bTimerTutoLookStarted = false
QDR._0301_FIRST_STEPS_Var.bTutoSqueakFinished = false
QDR._0301_FIRST_STEPS_Var.bTutoXyloDone = false
QDR._0301_FIRST_STEPS_Var.bTutoBearDone = false
QDR._0301_FIRST_STEPS_Var.bTutoCrossWallDone = false
QDR._0301_FIRST_STEPS_Var.bTutoBlastLaunched = false
QDR._0301_FIRST_STEPS_Var.bTutoParentsBedroomDisplayed = false
QDR._0301_FIRST_STEPS_Var.bJodieOutOfRoom = false
QDR._0301_FIRST_STEPS_Var.iNumberActionToAiden = 3
QDR._0301_FIRST_STEPS_Var.bSwitchAidenReenabled = false
QDR._0301_FIRST_STEPS_Var.iCounterBlast = 0
QDR._0301_FIRST_STEPS_Var.bCutsceneLaunched = false
QDR._0301_FIRST_STEPS_Var.bJodieEnterSqueakZone = false
QDR._0301_FIRST_STEPS_Var.bSusanIsOnSqueakZone = false
QDR._0301_FIRST_STEPS_Var.bJodiePlayedSqueakToy = false
QDR._0301_FIRST_STEPS_Var.bSusanLegUp = false
QDR._0301_FIRST_STEPS_Var.bSusanLegUpCYC = false
QDR._0301_FIRST_STEPS_Var.bHasAlreadyLegUp = false
QDR._0301_FIRST_STEPS_Var.bSusanLegAlreadyActive = false
QDR._0301_FIRST_STEPS_Var.bSusanDialInterrupted = false
QDR._0301_FIRST_STEPS_Var.iPhoneDialCue = 1
QDR._0301_FIRST_STEPS_Var.bSusanDialLoop = false
QDR._0301_FIRST_STEPS_Var.bSusanTookRattle = false
QDR._0301_FIRST_STEPS_Var.bSusanSitted = false
QDR._0301_FIRST_STEPS_Var.bSusanMoveToStandUp = false
QDR._0301_FIRST_STEPS_Var.bTimerFinallaunched = false
QDR._0301_FIRST_STEPS_Var.bJodieIsOnTheCarpet = false
QDR._0301_FIRST_STEPS_Var.bStopCamera = false
QDR._0301_FIRST_STEPS_Var.bTeatInMouth = false
QDR._0301_FIRST_STEPS_Var.bTimerSwitchAidenLaunched = false
QDR._0301_FIRST_STEPS_Var.bAidenInRoom = false
QDR._0301_FIRST_STEPS_Var.bAidenOutside = false
QDR._0301_FIRST_STEPS_Var.bAidenRDC = false
QDR._0301_FIRST_STEPS_Var.bSqueakThrowed = false
QDR._0301_FIRST_STEPS_Var.iToySqueezed = 0
QDR._0301_FIRST_STEPS_Var.fAidenPitch = 0
QDR._0301_FIRST_STEPS_Var.flRotateLeft = 0
QDR._0301_FIRST_STEPS_Var.flAidenRotateRight = 0
QDR._0301_FIRST_STEPS_Var.bBallonDisable = false
QDR._0301_FIRST_STEPS_Var.bTimerPlusStarted = false
QDR._0301_FIRST_STEPS_Var.bTimerMoinsStarted = false
QDR._0301_FIRST_STEPS_Var.iCompteurTutoMVTAiden = 0
QDR._0301_FIRST_STEPS_Var.iCompteurMVTTutoCamera = 0
QDR._0301_FIRST_STEPS_Var.iCompteurBlastsZoneCadres = 0
QDR._0301_FIRST_STEPS_Var.iCompteurBlastsZoneChair = 0
QDR._0301_FIRST_STEPS_Var.iCompteurBlastsZoneBed = 0
QDR._0301_FIRST_STEPS_Var.iCompteurBlastsZoneToyBox = 0
QDR._0301_FIRST_STEPS_Var.iCompteurBlastsZoneWoodTrain = 0
QDR._0301_FIRST_STEPS_Var.bMugBlasted = false
QDR._0301_FIRST_STEPS_Var.bTimerEnableSwitchLaunch = false
QDR._0301_FIRST_STEPS_Var.bFinalTimerLaunched = false
QDR._0301_FIRST_STEPS_Var.iCompteurFourActions = 0
QDR._0301_FIRST_STEPS_Var.bFirstRDCVisit = false
QDR._0301_FIRST_STEPS_Var.bJodieOutOfRoom1stTime = false
QDR._0301_FIRST_STEPS_Var.bJodieAlreadyTryOutOfRoom = false
QDR._0301_FIRST_STEPS_Var.bJodieOutZone = false
QDR._0301_FIRST_STEPS_Var.bJodieValidateSwitch = false
QDR._0301_FIRST_STEPS_Var.iActionReminderDone = 0
QDR._0301_FIRST_STEPS_Var.iAidenBlasting = 0
QDR._0301_FIRST_STEPS_Var.bPictoAffiche = false
QDR._0301_FIRST_STEPS_Var.bMugReminder = false
QDR._0301_FIRST_STEPS_Var.iItemNearFatherBlasted = 0
QDR._0301_FIRST_STEPS_Var.bLevitPlushToyGetUp = false
QDR._0301_FIRST_STEPS_Var.iAidenBlastFather = 0
QDR._0301_FIRST_STEPS_Var.bKettleBlasted = false
QDR._0301_FIRST_STEPS_Var.bRadioBlasted = false
QDR._0301_FIRST_STEPS_Var.bKitchenLampBlasted = false
Objects
JodieBaby
Susan
John
ArtMobileToy
Fridge
Curtain
CurtainB
JodieBed
GiraffeLamp
RoomLamp
KitchenLamp
KitchenTable
Mug
Chair
Toybox
Desk
Commode
BabyGym
BedChest
Plush
Xylophone
XyloStick
Kettle
Radio
Doudou (French for "security blanket")
Pacifier
Phone
WoodTrain
Balloon
ToyElephant
SqueakyToy
Rattle
BabyDrawingA
BabyDrawingB
JohnChair
JohnMug
JohnPaper
AuraJodie
AuraSusan
AuraJohn
Welcome to the CIA
There were several training exercises removed from the final version of this chapter. These are intact (albeit unlinked) on the original PS3 release of the game, but were deleted entirely from subsequent PS4 and PC versions.
"1203_HARD_TRAINING_FOREST_PUMPS": An additional training exercise in the forest, instructed by Vince. This exercise took place in a cut area labeled "CIA_FOREST_WINTER".
"1204_HARD_TRAINING_LEARNING": Jodie would be taught how to speak and understand Japanese. Despite being numbered after the "Forest Pumps" exercise, it was meant to occur before it, evidenced by her shorter hair length during this exercise.
"1205_HARD_TRAINING_FIGHT_2": A second fighting lesson with Vince. This was meant to occur after what would have been the second "Learning" exercise (which was retained in the final version).
"1206_HARD_TRAINING_AIDEN_2": A second exercise focusing on use of Aiden, instructed by Nick. During this sequence, Aiden would again be tasked with moving objects from a distance, this time with cars instead of barrels. This would also be timed, unlike the first exercise. This was meant to occur after the final fighting lesson.
"1207_HARD_TRAINING_GUN_FIGHT_2": A stealth exercise where Jodie would have to sneak up on Nick. This was likely intended to teach the player how to utilize the takedown mechanic. It was meant to occur after the above exercise.
It was also originally possible to succeed during the exercise where Jodie is performing a split in the dojo. In the final game, she will always injure her leg.
Unused Dialog
Audio
Like Other Girls
There are some disturbing voice clips in the game's files that are used in the November 2012 build, in which Jodie would be held onto the pool table like in the final build, looping the situation as the audio plays to provoke the player into quickly reacting. Should the player not act, the scene could also time out so Nathan and Cole can come in and prevent further things from happening, while Jodie lashes out at Aiden for not intervening. In the final game, Aiden always comes to the rescue and prevents the abuse from occurring. If the player doesn't leave the bar before the attempted abuse, a tiny bit of the removed abuse scene can be seen at the very end of the game, when Jodie is at the final part in Black Sun.
| The following content is |
|---|
|
|
The Party
In the scene where Kirsten (or Brenda as she's called in the debug mode) opens her birthday gifts, she only opens Jen's gift before opening Jodie's, however, the full dialog shows her opening Emma's gift as well.
Text
Black Sun
After the Hauntings chapter, and the briefing at the DPA, when you sit down with Ryan, there's some unused dialog to one of the options. If there's audio for this is currently unknown.
When you select Regrets at the second option, you will hear this:
https://www.youtube.com/watch?v=MK7i_BQ4qFU&t=2m
The dialog for this part is as follows:
{S}{*1}I shouldn't have accepted that mission.{*2}I was only thinking about my freedom, and that was stupid.{*3}That was really, really stupid...
The last sentence is missing in the game, for the better though.
Development Text
Every single function name, constant name or value and just about any other dev related text is still readable from the precompiled Lua Dynamic Communicator (DynCom) chunks.
A Dynamic Communicator is a block of events, parameters and attributes for a certain script function in the game. These are formatted as precompiled Lua "function chunks". The values of these "settings" are stored either compressed (as a segs entry, which is a split up ZLIB archive), or uncompressed (as a QZIP entry, which is funny, because "ZIP" normally indicates a compressed file entry). The name of these blocks is COM_CONT, which is short for Dynamic Communicator Container. Aside from storing just values as Lua functions, modified versions of Dynamic Communicators are also used for storing the "actual" scene scripts, model data, animation data, (very small amounts of) audio, video (like the sport scenes and cartoons on the in-game TVs), textures, dialog sequence text, and more.
Here are the most notable strings (constants) in the precompiled Lua chunks found so far:
| Source File | DynCom Block Offset | Lua (Relative) Function Chunk | String |
|---|---|---|---|
| BigFile_PS3.d01 | 0x6123C800 | #2 | [ARI] ForceSwitchJodie Done !! |
| BigFile_PS3.d01 | 0x6123C800 | #3 | [ARI] ForceSwitchAiden > YOU SHOULD NOT BE HERE !!! /ari call |
| BigFile_PS3.d01 | 0x6123C800 | #10 | [SCRIPT][ARI] fSequenceParameters> STEALTH CONFIG !!!! we go in cover |
| BigFile_PS3.d03 | 0x19131800 | #20 | [SCRIPT] fDefineGameplay> GMResumeGameplay mais Jodie n'était pas en PAUSE donc je ne relance pas le VariableConnector
(but Jodie was not in PAUSE therefore I will not restart the VariableConnector) |
| BigFile_PS3.d03 | 0x19131800 | #39 | [ARI] fDefineGameplay> Cas Impossible !! prevenir ARI !!
(Impossible Situation !! notify ARI !!) |
| BigFile_PS3.d03 | 0x19131800 | #39 | [ARI] fDefineGameplay> On est revenu en Jodie, pas la peine de pauser le gameplay
(We returned to Jodie, no need to pause gameplay) |
| BigFile_PS3.d03 | 0x19131800 | #43 | SetGenericMotionKitWithVariableConnector |
| BigFile_PS3.d03 | 0x19131800 | #43 | [SCRIPT] fDefineGameplay> Try Start Variable Connector Controller |
| BigFile_PS3.d03 | 0x7269800 | #2 | [ARI] fPlayAutomatedSequence> EnableCameras, Enable Interaction !!!! |
| BigFile_PS3.d03 | 0x7269800 | #5 | [ARI] fPlayAutomatedSequence> Disable Interaction d'abord !!!!
(Disable Interaction first !!!!) |
| BigFile_PS3.d03 | 0x7269800 | #6 | [ARI] fPlayAutomatedSequence> DisableCameras, Disable Interaction !!!! |
| BigFile_PS3.d03 | 0x7269800 | #11 | [ARI] /////////////////////////////////////////////////////////////////////////////////
[ARI] YOU SHOULD NOT BE HERE> Events non ignorés lors d'un Kill (YOU SHOULD NOT BE HERE> Events not ignored during a Kill |
| BigFile_PS3.d03 | 0x7269800 | #27 | [SCRIPT][ARI] ---- fPlayAutomatedSequence> OnResume> Nothing |
| BigFile_PS3.d03 | 0x7269800 | #30 | [SCRIPT][ARI] ---- fPlayAutomatedSequence> OnFinish> UNREGISTER ignored, MPAR already Started |
| BigFile_PS3.d03 | 0x7269800 | #45 | [SCRIPT][ARI] ---- fPlayAutomatedSequence> OnStop> ETRANGE ON NE DEVRAIT PAS ETRE ICI
(WEIRD SHOULD NOT BE HERE) |
Inside the (decrypted) main executable EBOOT.ELF are many development-related strings. Here are the most notable ones found so far:
| Offset | String |
|---|---|
| 0xD7C2B0 | Default type, no reaction |
| 0xD7C2D0 | The character is supposed to have a reaction, but no steps |
| 0xD7C310 | The character has a reaction, can make few steps but stays up |
| 0xD7C350 | The character has a reaction, can put his knees/hips/hands on grownd but finally stays up (note the typo) |
| 0xD7C3B0 | The character falls to the ground but will get up later |
| 0x00DBAF3C | iam-trigger |
| 0x00D86BDC | lazy lazy coder |
| 0x00D80384 | Out of memory while calling edgeZlibAddInflateQueueElement. The game will crash soon ! |
| 0x00DE8E98 | 0x3850b752-0x30e46f10:2013-10-09.Physics.SCEE_QuanticDream_BeyondTwoSouls_PS3 |
| 0x00DE8EE6 | 0x451a0608-0x4daede4a:2013-10-09.Animation.SCEE_QuanticDream_BeyondTwoSouls_PS3 |
| 0x00DE8F37 | 0x16a72dbc-0x1e13f5fe:2013-10-09.Cloth.SCEE_QuanticDream_BeyondTwoSouls_PS3 |
| 0x00D98FD8 | MenuDemp (On this position there's also the MenuProduction, MenuGame and MenuE3 strings, though this one is new) |
| 0x00D90249 | You have to use a CHARACTER instead! |
| 0x00D90271 | The object will not be visible! |
| 0x00D90331 | (perhaps an area catalog? don't forget to specify the root entity in this case) |
| Various | HEAVY_RAIN_BrainCSPlaceholder, ChronicleBigFile_PS3, PS2_PAD_DEFAULT_NB_BUTTON, KEYBOARD_DEFAULT_NB_KEYS |
And there are many, many more strings. In fact, over 22000 strings!
| To do: Upload the complete output of extracted strings? |
Initalization Script
| Download Beyond: Two Souls code
File: BeyondTwoSouls-source.zip (33 KB) (info)
|
There's a pretty big, raw script hidden in the game's BigFile_PS3.dat file at 0x5F800. If this script is actually being used or not is currently unknown. The script defines a ton of "Dynamic Communicators" for various functions of the game. Aside from that, and many other initalization stuff it does (like defining every "story-changing" variable), it also defines the different options that can be used while booting the game. Most of these debug options can be controlled from runtime.sdat. Part of this script consists of reading the values from the .sdat file, and then setting various variables accordingly.
For example, on line 5654 of this script there is a "semi"-switch statement which checks for the following values in runtime.sdat's BUILDSONY key:
- GAME
- ANAEL
- PROD
- E3
- GAMEUNLOCK
- PR
| To do: Find out what each setting does; PROD is documented below. |
Leftover Debug Mode
runtime.sdat
NOTE: Changing these values only affects versions pre-patch 1.02.
By decrypting the runtime.sdat file, found in root\USRDIR\, a standard INI file is outputted. Notable entries include:
Cheat = 0 DebugMenu = 0
QA Menu
After changing the DebugMenu entry in the runtime.sdat file, re-encrypting and replacing the file in the root\USRDIR\ folder, press L3 in-game to display a "QA Menu". Enabling any of the options will do as it says on the tin, and screenshots are stored in root\USRDIR\ in TGA format. The "GLOBAL", "DIALOGS" and "ANIMATIONS" submenus can be cycled with L1 and R1.
Using the "Free camera", it is possible to see...more of Jodie's model during the shower scene than what is normally shown. The same can also be said for Aiden at another point in the game.
| The following content is |
|---|
| Download Debug Mode Examples
File: Debug Mode Examples.zip (343 KB) (info)
|
| Download Modified runtime.sdat
File: Modified runtime.sdat.zip (343 KB) (info)
|
Cheat Menu
You can enable the cheat menu by setting either:
BUILDSONY=PRODin runtime.sdat, orQDR.Infraworld_Var.BootCheat=4in BigFile_PS3.dat
It provides access to all chapters and special production environments, such as the "Sandbox Sound Mode".
Further Settings
Setting UseCinemaRatio=0 in runtime.sdat will remove the cinematic black bars on the top and bottom of the screen.
Regional Differences
The European and Japanese versions toned a couple instances of the more excessive violence from the game, including Jodie ramming a pole into a scientist's neck and Ryan Clayton's torture scene.
- Games developed by Quantic Dream
- Games published by Sony Computer Entertainment
- Games published by Quantic Dream
- PlayStation 3 games
- PlayStation 4 games
- Windows games
- Games released in 2013
- Games released in October
- Games released on October 8
- Games with unused areas
- Games with hidden developer messages
- Games with hidden developer credits
- Games with hidden development-related text
- Games with unused sounds
- Games with unused text
- Games with debugging functions
- Games with regional differences
- NSFW articles
- NSFL articles
- To do
Cleanup
Cleanup
Cleanup
Cleanup > To do
Games > Games by content > Games with debugging functions
Games > Games by content > Games with hidden developer credits
Games > Games by content > Games with hidden developer messages
Games > Games by content > Games with hidden development-related text
Games > Games by content > Games with regional differences
Games > Games by content > Games with unused areas
Games > Games by content > Games with unused sounds
Games > Games by content > Games with unused text
Games > Games by content > NSFL articles
Games > Games by content > NSFW articles
Games > Games by developer > Games developed by Quantic Dream
Games > Games by platform > PlayStation 3 games
Games > Games by platform > PlayStation 4 games
Games > Games by platform > Windows games
Games > Games by publisher > Games published by Quantic Dream
Games > Games by publisher > Games published by Sony > Games published by Sony Interactive Entertainment > Games published by Sony Computer Entertainment
Games > Games by release date > Games released in 2013
Games > Games by release date > Games released in October
Games > Games by release date > Games released in October > Games released on October 8
Hidden categories > Pages missing date references
Hidden categories > Pages missing developer references
Hidden categories > Pages missing publisher references