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!

Nine Hours, Nine Persons, Nine Doors

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Nine Hours, Nine Persons, Nine Doors

Also known as: Kyokugen Dasshutsu Ku: Jikan Ku Nin Kyū no Tobira (JP), Zero Escape: Nine Hours, Nine Persons, Nine Doors
Developer: Chunsoft
Publishers: Spike (JP), Aksys Games (US)
Platform: Nintendo DS
Released in JP: December 10, 2009
Released in US: November 16, 2010


CodeIcon.png This game has unused code.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
MovieIcon.png This game has unused cinematics.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.
RegionIcon.png This game has regional differences.


PrereleaseIcon.png This game has a prerelease article
NotesIcon.png This game has a notes page

In Nine Hours, Nine Persons, Nine Doors, the main character, Junpei, is abducted and wakes up on an old ship. He and eight other people whom have also been abducted, are then forced to play a game where the penalty for breaking the rules is death. Suffice to say, it's a real blast!

Hmmm...
To do:
  • Lots of map oddities found by Polderjoch: 1, 2, 3, 4, 5, 6, 7, 8 (more analysis)
  • Version differences

Sub-Pages

Read about prerelease information and/or media for this game.
Prerelease Info
Miscellaneous tidbits that are interesting enough to point out here.
Notes
999 US deck bottom label.png
Unused Graphics
Want to know what the map of the Bottom Deck looks like?
999 Test 2 menu.png
Debug and Test Novel Sections
Remnants of what was used to test the game's engine.
999 US Minor Hidden Menu a21d Clover.png
Hidden Menus
Disabled menus that let the developers jump to any point in the story and choose story arcs more easily.

Removed Music

The prefixes used for some tracks miss some numbers out, suggesting some tracks were removed:

m10_bgm_e_06
m12_bgm_d_05
m24_bgm_d_09
m26_bgm_e_14

Interestingly, m11 was left in the The Nonary Games version:

(Source: Original TCRF research)

Odd Sound File Name

There is one sound file found in the game that has an odd name compared to other sound files. Its name is m07_bgm_e_03_old.bgm. The odd part is the fact that it has “old” in its name. This hints that a newer version of this sound file had once existed. As it is, there aren’t any newer versions of the file on the ROM. Either the newer version of the file got deleted and the developers went back to using the old version or the developers quickly changed their minds and never bothered developing a newer version to begin with. As for what this sound file actually is, it is called “Tranquility” from the 999 music soundtrack. It is used for the last conversation between Junpei and Akane right before the Knife Ending. It doesn’t get any more tranquil than that...

(Source: Cuber456 (Discovery))

Text and String Files

Hmmm...
To do:
There are other DAT files in the root/etc directory that also appear to be unused and are in a similar format. List them and the strings that they contain.

These files are found in the root/etc directory that go unused. Most of these files are composed of strings.

game_text.ini

While this file does initially get loaded at boot, the game doesn't appear to do anything with it and it's quickly overwritten. Evidence of it being unused is supported by the game operating normally when all the text in this file is replaced with a single / character.

Original Text File English Translation
// ------------------------------------------------------------------
// SKP GAME TEXT LIST
// ------------------------------------------------------------------
//口パクしない文字
NoMouthAnime = 「」『』<>〈〉()〔〕[]《》【】… 、。?ー―

GetItem = q0.$i0を手に入れた!

SelectItem = どのアイテム?
// ------------------------------------------------------------------
// SKP GAME TEXT LIST
// ------------------------------------------------------------------
//Glyphs to not lip-sync to
NoMouthAnime = 「」『』<>〈〉()〔〕[]《》【】… 、。?ー―

GetItem = You got q0.$i0!

SelectItem = Which item?
(Source: Cuber456 (Text Rip), Bast (Translation))

The file is different in The Nonary Games, and the Windows version of said game has two versions of the file.

PlayStation Vita Windows (000093c5.cpp) Windows (000011a2.cpp)
zenKana = 。、…をぁぃぅぇぉゃゅょっあいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわん
hanKana = 。、・ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン
TEXT_NOONE = 主観
TEXT_UP = 上
TEXT_DOWN = 下
TEXT_LEFT = 左
TEXT_RIGHT = 右
TEXT_OPEN = 「
TEXT_CLOSE = 」
MES_TOP = 」』>〉)〕]、。、。?!ー’”ァィゥェォッャュョゎァィゥェォッャュョンン》】ヽヾゝゞ〃々ぁぃぅぇぉっゃゅょャュョゎ
MES_TAIL = 『「(〔[<〈《【
MES_STOP = 」』>〉)〕]。。’
// ------------------------------------------------------------------
// SKP GAME TEXT LIST
// ------------------------------------------------------------------
//口パクしない文字
NoMouthAnime = 「」『』<>〈〉()〔〕[]《》【】… 、。?ー―

GetItem = q0.$i0を手に入れた!

SelectItem = どのアイテム?
zenKana = 。、…をぁぃぅぇぉゃゅょっあいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわん
hanKana = 。、・ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン
TEXT_NOONE = 主観
TEXT_UP = 上
TEXT_DOWN = 下
TEXT_LEFT = 左
TEXT_RIGHT = 右
TEXT_OPEN = "
TEXT_CLOSE = "
MES_TOP = 」』>〉)〕]、。、。?!ー’”ァィゥェォッャュョゎァィゥェォッャュョンン》】ヽヾゝゞ〃々
MES_TAIL = 『「(〔[<〈《【
MES_STOP = 」』>〉)〕]。。’
// ------------------------------------------------------------------
// SKP GAME TEXT LIST
// ------------------------------------------------------------------
//口パクしない文字
NoMouthAnime = 「」『』<>〈〉()〔〕[]《》【】… 、。?ー―

GetItem = q0.$i0を手に入れた!

SelectItem = どのアイテム?
zenKana = 。、…をぁぃぅぇぉゃゅょっあいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわん
hanKana = 。、・ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン
TEXT_NOONE = 主観
TEXT_UP = 上
TEXT_DOWN = 下
TEXT_LEFT = 左
TEXT_RIGHT = 右
TEXT_OPEN = 「
TEXT_CLOSE = 」
MES_TOP = 」』>〉)〕]、。、。?!ー’”ァィゥェォッャュョゎァィゥェォッャュョンン》】ヽヾゝゞ〃々ぁぃぅぇぉっゃゅょャュョゎ
MES_TAIL = 『「(〔[<〈《【
MES_STOP = 」』>〉)〕]。。’
(Source: Original TCRF research)

debug.dat

Looking at debug.dat with a hex editor shows that it contains strings of text related to debugging. It doesn't appear that this file can be called directly by the game as it isn't listed in the ARM9 binary or global.ini. At this point in time, it is unknown if it can somehow be properly loaded in-game.

Debug Menu
Scene Check
Escape Check
Mini Game
GRAPHIC
Sound Check
Graphic
Chara Check
BG Check
Item  Check
Movie Check
Stage Setting
Item Select
Flag Setting
Stage Start
Stage Setting In Game
Item Select
Flag Setting
Novel Debug Menu
Return Game
Save&Load
Debug Setting
Reset
Global Flag Setting
End Game
Infomation
Escape Debug Menu
Return Game
Save&Load
Debug Setting
Reset
End Game
Item Select
Flag Setting
Global Flag Setting
Infomation
Debg Setting
BGM
SE
DebugView
MessageSkip
TouchTest
Infomation
PageLabel
BGM
SOUND0
SOUND1
SOUND2
SOUND3
(Source: Cuber456 (Text Rip))

debug_c.dat

The strings in this file are all in Japanese. Most of the strings share the theme of emotions and would probably have been displayed alongside character graphics to ensure the correct graphics were being displayed at the intended times. In other words, this file was used for character debugging which explains why the file is called debug_c.dat where the "c" probably stands for character. Like the previous file, it is unknown if it can somehow be properly loaded in-game.

Original Japanese English Translation
キャラ選択無効ポーズ
00:基本
01:呆れ
02:怒る
03:悲しい
04:笑い
05:真剣
06:驚き
07:愉快
08:照れ
09:怯え
10:動揺
11:提案
12:懸念
13:寒い
14:悩む
15:主張
16:自慢
17:強気
18:豹変
19:モーション付き1
20:モーション付き2
21:モーション付き3
22:モーション付き4
23:モーション付き5

モーション1回コマ無効目パチ1回コマ無効口パク
1回コマ無効背景選択無効会話表示無効有効立ち位置中左右
Character selection invalid poses
00:Standard
01:Amazement
02:Anger
03:Sorrow
04:Laughing
05:Serious
06:Surprise
07:Happiness
08:Embarrassment
09:Startled
10:Agitation
11:Suggesting
12:Fear
13:Dull
14:Worry
15:Insistence
16:Pride
17:Confident
18:Sudden change
19:Motion related 1
20:Motion related 2
21:Motion related 3
22:Motion related 4
23:Motion related 5

Motion 1 - Frame cycling has invalid eye-closing,
invalid mouth open/closing,
invalid background,
invalid conversation movement,
invalid left/right/middle standing positions
(Source: Cuber456 (Text Rip), Bast (Translation))

999: The Novel exclusive

Cacti speak Japanese.
...But what does it mean?
This game has text or audio that needs to be translated. If you are fluent with this language, please read our translation guidelines and then submit a translation!
Japan USA/Europe
フラグのON/OFFを選択してください。

フラグON

フラグOFF

そのまま

はじめから

途中から

M10a

M20a

M30a

M40a
this is a pen and absord was distinys.123456789 123456789 123456789 1234567 1234

123456789 123456789 123456789 12345678

system all clean. system stand by! is thunder voltex is people was then most internet?

1234567890123456789012345678901234567890

a01 contains what seems to be a debug menu in the Japanese version and nonsense/badly translated text in the USA/Europe version.


		JumpScript("A01b")

/*
	float DEFAULT_WAIT = 10.0
	int a = 100
	/int b = a + 1 * 123
	DebugLog( "Debug Log\n覇王翔吼拳\n未登録の文字はでない\n" + "変数a:" + a )
	a = a * 100
	bool z = 100 == 200
	DebugLog( z )
	DebugLog( "変数a/2:" + ( a / 2 ) )
	SetBG( "bg_sample_960_640" )
	//Event( "FillOut" , 60 )
	WaitSec( 3.0 )
	SetText( 0, "オラオラオラオラオラオラオラ\nオラオラオラオラオラオラオラ\nオラオラオラオラオラオラオラ" )
	SetText( 2, "無駄無駄無駄無駄無駄無駄無駄\n無駄無駄無駄無駄無駄無駄無駄\n無駄無駄無駄無駄無駄無駄無駄" )
	WaitSec( DEFAULT_WAIT )
	JumpFile( "a02" )
*

a01 #3852 contains some more test messages. The equivalent file in USA/Europe version is a01 #3851.

Japan USA/Europe
これよりサウンドのテストを行います。

BGM(再生中)

BGM(停止)

SE(再生)

以上になります。

このままメインソースに戻りますか?他のチェックを行いますか?

はい

いいえ

では、どのチェックを行いますか?

Talk&Text

Flash

EarthQuake
a = 200
SetBG( "evcg_960_720" )
	//Event( "FillOut" , 60 )
SetText( 0, "this is a pen!" )
WaitSec( 3.0 )
SetText( 1, "あいうえおかきくけこ\nさしすせそたちつてと" )
WaitSec( 3.0 )
JumpFile( "a01" )

Found in a02. Like with a01, this contains debug menu stuff in the Japanese version and nonsense in the USA/Europe version.

(Source: Original TCRF research)

Unused Functions

DebugAuto

A function that is only found in the test5.fsb file and is otherwise completely unused. When enabled, any text shown is sped through and this is done regardless if it is the first time the player has seen the text or not. When in escape rooms, the computer will randomly select items or objects of interest making it nearly impossible to play. The effects of “DebugAuto” can be seen in-game, at any part of the game, by using the following codes. One code is for enabling and the other is for disabling. Only turn on one code at a time.

Effect Japan US
Turn on DebugAuto Effects 2220BA84 00000001 22207184 00000001
Turn off DebugAuto Effects 2220BA84 00000000 22207184 00000000
(Source: Cuber456 (Codes))

Sound Test

An interesting function found in start.fsb which is responsible for loading the game's title screen is "Sound Test". It suggests that some sort of sound test might be possible to load in the game from this file. At the moment, it has yet to be loaded if the coding for it still exists.

(Source: Cuber456 (Discovery))

Missing Novel Sections

There is a file in the ROM called global.ini, which contains a list of strings that seem to relate to various functions within the game. In particular, there is a list of function names that actually match file names in the root/scr directory. Most of the files in the root/scr directory hold the information to load novel sections, puzzle/escape rooms and the credits. The interesting part is that there are two function names, "~Test" and "~D01d", which are listed in the global.ini file but don't have corresponding files in the root/scr directory. The absence of these two files is confirmed by another file called novel.dat, which lists what files in the root/scr directories are novels.

D01d File

The mere existence of the function ~D01d is even more interesting than ~Test. The first thing to note is that the file name has the syntax of visual novel sections of the game. For example, look at the group of functions responsible for loading the first puzzle and novel sequences for when Junpei is on deck D.

~A01
~A01b 
~A01d 
~A01e

The first function is the call to load the puzzle room for the third class cabin. The rest of the functions load novel sections for this point in the game. In this case, the novel sections would be the intro of when Junpei wakes up in the cabin, when Junpei remembers being grabbed by Zero and then when Junpei is able to escape from the cabin respectively. Other puzzle and novel sequences use this format too. Take notice of how the functions for the novel sections use the prefixes b, d, and e on the end. The novels sections that involve puzzles are always played in this "b d e" order. Notice that the function ~D01d has the letter d attached to the end. Given this information; this could be a hint that a novel section and a puzzle/escape room were cut from the game.

There are a few oddities however and some other things to point out. The first to note is the letter at the start of the file name for visual novel sections. The letters used for visual novel sections in game are A, B and C. The letters seem to represent story paths. For example, following all the way down the B path will result in the Safe Ending for the game while following all the way down the A path once the B path is completed will result in the True Ending for the game. The C path always results in a bad ending as well as straying from one path to another after the first/second class cabin escapes. The D path goes unused entirely as ~D01d is the only file syntax to reference it.

The oddities don't end there. All novel and puzzle sections have numbers in their titles. Simply put, these numbers represent how far down a path that particular section is. Look at the puzzle sections for path A (True Ending).

~A01  // 3rd Class Cabin
~A11  // 2nd Class Cabin
~A12  // Kitchen
~A21  // Operating Room
~A31  // Chartroom
~A32  // Captain's Quarters
~A41  // Library
~A42  // Study

The numbers increase the further the game progresses. The situation with the missing D01d file is that its numbers place it around the novel and puzzle sections for the 3rd Class Cabin.

(Discovery: Cuber456)

In Zero Escape: The Nonary Games, this is listed under a "Test" heading in a file that doesn't exist in the DS version called novel.ini, but maybe it was just put there because it isn't used anymore.

(Nonary Games discovery: Original TCRF research)

Other Tidbits

The last bit worth mentioning is that the file op.fsb that is also found in the root/scr directory doesn't appear to have a similar function name on the global.ini list or on the novel.dat list. It is unknown why this is and trying to force the game to load the file only causes the game to crash. One thing to note about this file is that it has a string reference to test2.fsb which means that, after this file did whatever it was supposed to do, it would then load test2.fsb.

(Source: Cuber456 (Discovery))

999: The Novel / The Nonary Games Assets Oddity

It seems that the developers were unable to find some of the original assets, as some minigames use resized DS graphics, rather than graphics based on the original high-resolution assets.

(Source: Original TCRF research)

Flash Demo Music Oddity

See also: test4.fsb.

The demo uses an alternate version of the track "Unary Game" that has louder beeping at the start. This was later used in 999: The Novel (the downgraded iOS port) and in The Nonary Games.

Regional Differences

Game Startup

The publisher logos and title screens were changed between the Japanese and US versions.

Japan US
Startup Screen Spike Aksys Games
Title Screen The title screens... ...are different

3rd Class Cabin

While all the puzzles in this room are present in both versions of the game, the way to figure out the number combinations that open the blue and red suitcases is different. This is due to the fact that the graphics that are on the picture of the cruise liner, the memo from the bed and the note from the bulletin board were changed. These changes are the result of localization.

Japan US
Picture of an Old Cruise Liner 999 picture of an old cruise liner Japan.png 999 picture of an old cruise liner US.png
Memo from the Bed 999 memo from bed Japan.png 999 memo from bed US.png
Note from the Bulletin Board 999 note from bulletin board Japan.png 999 note from bulletin board US.png

In the Japanese version, the memo from the bed and the note from the bulletin board have two colored katakana on them which correspond to one of the suitcases. The way to figure out the number combinations is to look at the first katakana and match it up with the katakana written on the back of the one on the picture of the cruise liner which will reveal a two digit number. That number corresponds to the first half of a number combination to a suitcase. Doing the same for the second katakana will reveal the second half of a number combination to a suitcase.

In the US version, four different shapes are written on the back of the memo from the bed and the note from the bulletin board. The first two shapes are in one color and the last two shapes are in a different color. Putting the shapes of the same color together from the two pieces of paper will reveal the number combination to that respective suitcase. To get the number combinations from the shapes, match the shapes to the shapes written on the back of the picture of the cruise liner.

The number combinations for the blue and red suitcase in the Japanese version, 1121 and 1115 respectively, differ from the US version, 0263 and 7485 respectively. They were most likely changed in the US version so that the same shapes weren't used since the number "1" appears three times in the Japanese number combinations.

(Source: Zero Escape Wiki, Ben Bateman Interview, Cuber456 (Screenshots))

Version Differences

Acactussayswhat?
Please elaborate.
Having more detail is always a good thing.
Careful, you'll lose an eye.
This page or section needs more images.
There's a whole lotta words here, but not enough pictures. Please fix this.

The game was later ported to modern platforms in a combination bundle with the sequel in the form of The Nonary Games. Aside from obvious tweaks such as control scheme changes and increased resolution, some other changes were made, the most obvious one being that the game had voice acting added. The port also added a flowchart, letting players skip parts they've already seen. It also tracks the missable key sub scenes in the nodes and lets the player restart the node from that point when on the correct route.

Finale

The finale was redone since it used both screens of the DS for a storytelling effect. Instead the game switches viewpoint whenever something in each scene happens.

The final puzzle was entirely scrapped and redone. The DS version used a sudoku puzzle, while the port has a grid with swapable tiles. The port also adds a second stage to the puzzle where the player has to enter a password.