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

Undertale

From The Cutting Room Floor
Jump to navigation Jump to search
This page is a translated version of the page Undertale and the translation is 25% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎català • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어

Title Screen

Undertale/ja

開発元: Toby Fox
プラットフォーム: Windows, Mac OS X, Linux, PlayStation 4, PlayStation Vita, Nintendo Switch, Xbox Series X
発売日: September 15, 2015 (Windows, macOS), July 17, 2016 (Linux), August 15, 2017 (PlayStation 4, PlayStation Vita), September 18, 2018 (Nintendo Switch), March 16, 2021 (Xbox Series X/S)


このゲームには、以下の要素が含まれています。

AreasIcon.png 未使用のエリア
DevMessageIcon.png 非表示の開発者メッセージ
GraphicsIcon.png 未使用のグラフィック
ItemsIcon.png 未使用のアイテム
MusicIcon.png 未使用の音楽
SoundIcon.png 未使用の効果音
TextIcon.png 未使用のテキスト
DebugIcon.png デバッグ機能
SoundtestIcon.png 非表示のサウンドテスト
RegionIcon.png 地域による違い
Carts.png バージョンによる違い


PrereleaseIcon.png このゲームのプレリリース版の記事

What are you doing?(何をしてるのかな?)

Looking for secrets?(ヒミツ探し?)

Don't put your nose where it doesn't belong.(ここには何もない…… 探し回っても意味ないよ。)

Or you might learn something you DON'T like...(“知りたくないコト” を見つけちゃうかもしれないしね……)

Hee hee hee. (ひひひ……)

Undertale公式ホームページのHTMLコードより。

UNDERTALEは、「誰も倒さなくていい」インディーRPGゲーム。MOTHER 2ゆめにっき洞窟物語などに影響を受けており、キャラクター達の興味深さやサウンドトラックの相互性、そしてスタンダードなRPGゲームに対する巧妙な比喩的表現などから、批評家からも絶賛されている。熱狂的なファンに愛されており、一時期はこのゲームの話題を見ないことのほうが珍しかった。

Sub-Pages

Read about prototype versions of this game that have been released or dumped.
Prototype Info (untranslated)
Read about prerelease information and/or media for this game.
Prerelease Info
Miscellaneous tidbits that are interesting enough to point out here.
Notes (untranslated)
Undertale toby dog.gif
Debug Mode
Unfortunately, there are no insects to be found in this mode.
Undertale-unused spell sprite 2.png
Unused Graphics
There are so many dogs in this game! There's even UNUSED dogs!
Undertale room tundra rollsnow.png
Unused Rooms
From candy pedestals to talkative NPCs.
Undertale-spr wordfall4 0.png
Unused Text
I WAS NEVER ONE TO BEPIS.

開発者のメッセージ

スプライトのリッピングへの警告

バージョン1.00

Undertale Note.png

スプライトシートをネット上にアップロードしないでください。
ここにある変なものはほぼ全てゲーム内で実際に使用していて、皆にはゲームのストーリー付きで見てほしいから。
最初の1年は待ってほしい。
Spriter's Resourceとかのためにリッピングしてても、スプライト作成を楽にするのが目的なら良いよ。
Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: Is the sprite's name like this in data.win?

abc_1111には、スプライトをリッピングする人、特に『Spriter's Resource』のユーザー達に向けた、「スプライトシート全体のアップロードは一年待ってほしい」という趣旨のメッセージが含まれている。

Undertaleのような『Game Maker』製のゲームは各スプライトや文字を個別のファイルとして保存せず、大きなPNGファイルのスプライトシートにスプライトを複数格納する仕組みを採用している。よって、スプライトシートをアップロードしたい場合、一番手っ取り早い方法はスプライトシートをそのままアップロードすることだろう。だがそれにより、ネタバレを含む全てのスプライトがそのままアップロードされてしまう。

The odd filename was chosen to force it to the top of an alphabetical file listing and make its presence more obvious...which does no good, as the file listing is only visible if the sprites are separated by their internal names. Oops. This was replaced in later versions.

Version 1.001

Undertale Note Version 1.001.png

 
俺の一番嫌いなものを
   教えてやろう。
</div>

それは "bepis" さ。

あの色、
 あの匂い、
  あの味、
   あの舌触り…

お前、
 よだれが
  出てるぞ...

バージョン1.001では、先述のリッピングへの警告が "bepis" についての少々卑猥なメモに置き換わっている。これは、EarthBoundのムーンサイドにいる、プレイヤーが好きな食べ物を嫌う男のセリフを元にしたものである。 Toby Fox氏はEarthBoundのファンであり、Undertaleは同ゲームに深く影響を受けている。"Bepis" とは "Pepsi"(ペプシ)のおかしなスペルミスであり、Undertale開発者達はそれをネタにしたようだ。

この新たなテキストの意味のなさや、先述した「アップロードしないで」というメッセージの削除から、スプライトシートのアップロードの許可が下りたと捉えることができる。それに加え、この悲しそうな本文のメールからもそう読み取れる。

警告「ゲームを台無しにしないで!」

abc_123_a.ogg

''Hello. He-he-he-he-have some respect and don't spoil the game.
It's impossible to have mysteries nowadays, because of nosy people like you.
Please keep all of this between us.
If you post it online, I won't make any more secrets.
No one will be impressed.
It will be your fault! He-he-he-he-ha-he-he-ha-he-he.''
こんにちは。He-he-he-he…… 尊敬の心を持ち、ゲームを台無しにしないでほしい。
君のようなセンサク好きな人たちのせいで、今じゃヒミツなんて作れやしない。
これは全て、ボクとキミとの間に留めておいてほしい。
もしキミがネット上に投稿でもしたら、これからは隠し要素を作らないようにする。
誰も驚きもしなくなるんだ。
君のせいでね! He-he-he-he-ha-he-he-ha-he-he……

これは8つのテキスト読み上げソフトの声を用いて作成された、ネット上にゲームの “秘密” を投稿しないように伝える音声ファイルである。そんな酷いこと誰が――…… おっと……

先程も記述したように、このおかしなファイル名は、ファイルをアルファベット順で表示した際に一番上に表示させ、このファイルの存在をもっとはっきりと表させるためである。ゲームのフォルダー内に存在する他のOGG形式の音楽や効果音のファイルの名前は、すべて "mus_" と "snd_" のいずれかで始まる。

このファイルはバージョン1.001で更新され、音声のほぼ全てが削除された。

Toby Fox氏のメッセージ

Hmmm...
To do:
Changes to this post-1.001.
Part of this game's charm is the mystery of how many options or secrets there are.
If you are reading this, please don't post this message or this information anywhere. Or doing secrets will become pointless.
By the way, most of the seemingly unused text/files are used.
If you can find the in-game context for an asset, you can show it off.
But if you can't, it probably means you haven't looked hard enough.
Anything truly unused I'll probably post myself, later.
Living in a world like this, where people can simply cheat out the answers from the code...
your impatience has REALLY damaged you, hasn't it?
このゲームの魅力の一部は、選択肢や秘密が何個あるのかという謎です。
これを読んでいたら、どうか、このメッセージや情報をどこにも投稿しないでください。隠し要素の意味がなくなってしまいます。
ちなみに、未使用に見えるテキストやファイルのほとんどは実際は使用されてます。
アセットがゲーム内のどこで使用されたのか分かる人はドヤってもらって構いませんが、分からない人はもう少し細かく探してみてください。
本当に未使用なものは、おそらくいつか自分で投稿します。
みんなが簡単にソースコードから答えをカンニングできる時代……
その忍耐力、こんな時代じゃ今までつらかったでしょう?

このメッセージは、スクリプト "attention_hackerz_no_2" に含まれている。同スクリプト内の変数 "demonx"、"demony"、"demonz"、"demond" には、それぞれメッセージが設定されている。 メッセージの内容はご想像通り、クラッカーに向けた警告である。このスクリプト名により、メッセージは内部のストリング一覧のはじめに表示され、存在に気づきやすくなっている。

バージョン1.001では、このメッセージが次に変更された。

Greetings.
You have made yourself completely clear.
Understood.
I, your humble servant, will follow you to the utmost...
どうも。
あなたは自分自身を完全に理解しました。
よろしい。
私...あなたの謙虚な下僕があなたを追いまわすだろう...

先述した変数の名前も "demona"、"demonb"、"demonc"、"demond" に変更されている。 不思議なことに、バージョン1.00のメッセージの1行目は関連付けられている変数と共に残されているものの、名前設定時のイースターエッグを操作するスクリプトである "scr_namingscreen_check" 内に移動されている。

未使用の音楽

mus_kingdescription

ゲームオーバー時の音楽『ケツイ』をオーケストラナイズしたもの。ファイル名から推測するに、アズゴアに関係のあるシーンで使われた可能性が高そうだ。

mus_dance_of_dog

イヌが踊っている(?)エラー画面でのみ流れる、ファンキー・アンド・リフレッシュな音楽。エラー画面を表示させる一番簡単な方法は、セーブデータを壊すこと。

mus_sigh_of_dog

イヌが寝ているエラー画面でのみ流れる、ファンキー・アンド・リフレッシュではない音楽。エラー画面を表示させる一番簡単な方法は、セーブデータを壊すこと。

mus_star

Star Foxで使用された楽器で構成されている。同ゲームの他の音楽には "Mario Paint" や "Final Fantasy VI"、"Chrono Trigger"、"Mega Man X"、"EarthBound" などで使用された楽器で構成されたものが複数存在するため、この音楽が唯一特殊というわけではない。

Toby Fox氏によると、この音楽はゲーム内キャラクター『マジク』のオーブがHP回復になった際に使用される予定であったが、ゲーム内ロケーション『コア』のBGMがバトル中も流れ続けるため実装が難しいと判断し、没になったらしい。

mus_f_part3

フラウィーのボス戦音楽の別バージョン。20秒以降はシーンのトランジション用(だが、トランジション時にはこの音楽は再生されず、同パートに似た効果音が再生されている)であり、開始パートは通常プレイでは聞くことはできない。

mus_f_finale_1

『フィナーレ』の未使用の開始パート。mus_f_finale_1_lが代わりに再生されるため、この音楽が再生されることはない。『フィナーレ』開始パートのシンプルなショートバージョン。実際は、タマシイ達に回復されても戦いは即時に開始されず、ゲームが再起動される。

mus_piano

Undertale DemoでNルート中にトリエルを殺した場合、ゲームの最後に再生される。サウンドトラック内の最後の曲として登場する(タイトルは『おやすみなさい』)が、製品版では登場しない。

mus_ruinspiano

『いせき』の、ゆっくりとしていてしんみりするピアノアレンジバージョン。『ひとつのエンディング』開始パートのスローバージョン。

mus_birdsongの秘密のループバージョン

ウォーターフェルにて、トリに川の向こう側へ運んでもらう際の音楽はmus_birdsongであるが、一度ループした後フェードアウトして終了してしまう。このファイル自体はループが可能であるもの、通常プレイでは終了パートが少しカットされる。

未使用の効果音

mus_sfx_a_swipe

大声(メタトンのもの?)。

mus_sfx_ahh

フラウィが「あぁ」と言っている。

mus_sfx_voice_triple

フラウィが「トリプル」と言っている。

mus_silence

Audio file that's, obviously, silence.

snd_curtgunshot

A generic gunshot sound.

mus_f_wind1

An unused longer loop of mus_f_wind2.

mus_f_newlaugh_low

An unused lower pitch variant of mus_f_newlaugh.

mus_woofenstein

An unused longer loop of mus_woofenstein_loop.

Removed Sounds

obj_rainbowbolt_realgen references a sound with the file path music/sfx/sfx_menu_error.ogg, which doesn't exist and is never played by the object anyway.

(Source: Original TCRF research)

タイトル画面のイースターエッグ

Undertale-Activity Level.png

タイトル画面で、ShiftキーまたはXボタンを5回押すことで、この画面に行くことができる。 各テキストの表示条件は…… Activity Level A = Nエンド後。 Activity Level B = Pルート完了後。 Activity Level C = サンズとの戦闘を2回、または殺害した場合。 条件を一つもクリアしていない場合は "No Information(情報なし)" と表示される。 同スクリーンでBALLとキー入力をすると、音声が再生される。

未使用バトル

RG03とRG04

ACTions

   * Check         * Whisper
   * Touch Glove


   * Error

At the very end of the ACT menu strings is this yet again generic error message, a placeholder for the ACT options of the fight against Asriel's true form.

RG03 and RG04

バトルID「76」のゲームファイル内には、別のロイヤルガードの二人である、RG03とRG04との完成済みのバトルセットアップが入っている。RG03とRG04はアンダインとの電話中に話題が上がっており、特定の日にRG01とRG02と入れ替わっているらしい。にもかかわらず、アートブックによると、自然に入れられる場所がなかったという単純な理由のためにカットされたらしい。

Their battle revolves around them being old friends who had a falling out, and the Pacifist solution is to get them to make up. The guards themselves are slightly incomplete, both using Aaron's defeated sprite as a placeholder, along with not having unique bullet graphics and unique bullet patterns for ACTing, unlike 01 and 02.

Gaster

Gaster has a complete set of stats in the code, all ridiculously high (to the point an enemy given these stats is borderline impossible to damage and getting hit insta-kills Frisk) and consisting only of numerous 6s. They are as follows:

   HP: 666666 
   AT: 66666         DF: 66666
  EXP: -6666       GOLD: -6666

その他の未使用のエンカウント

ID 敵 #0 敵 #1 敵 #2 エンカウント時のメッセージ 日本語(ほぼすべて公式) コメント
1 TestFroggit
テストフロギー
TestFroggit
テストフロギー
TestFroggit
テストフロギー
* TestMonster and its cohorts draw near!
* テストモンスターと そのなかまが にじりよってきた!
TESTROOMで現れる。この翻訳は唯一公式に翻訳されていない。
14 Vegetoid
ベジトイド
Loox
ルークス
* Vegetoid and Loox attacked!
* ベジトイドと ルークスが おそってきた!
31 Chilldrake
いきがりバード
Chilldrake
いきがりバード
* Chilldrakes flutter forth!
* いきがりバードが パタパタとんできた!
33 Icecap
ヒョー坊
Snowdrake
オワライチョウ
* Icecap and Snowdrake pose like bad guys.
* ヒョー坊と オワライチョウは ワルっぽいポーズをとった。
33 Icecap
ヒョー坊
Chilldrake
いきがりバード
* Icecap and Chilldrake pose like bad guys.
* ヒョー坊と いきがりバードは ワルっぽいポーズをとった。
前記したエンカウンターの、オワライチョウが殺害されていた時用のバージョン。
34 Jerry
ジェリー
* Jerry clings to you!
* ジェリーに つきまとわれている!
61 Final Froggit
ファイナル・フロギー
* Final Froggit was already there, waiting for you
* ファイナル・フロギーが まちかまえていた。
The encounter message is incorrectly formatted if spawned in-game, with the comma appearing on its own line.
63 Whimsalot
ナキムシャ
* Whimsalot rushed in!
* ナキムシャが かけつけた!
69 Bomb
ばくだん
* Defuse the bomb!
* ばくだんを かいじょしろ!
This Bomb is a unique unused enemy that lacks a time limit but otherwise behaves like the used dog-Bomb.
79 Vulkin
かざんちゃん
Vulkin
かざんちゃん
* A strange parade blocks the path.
* きみょうな しゅうだんに ゆくてを ふさがれた。
127 Whimsalot
ナキムシャ
Parsnik
パースニック
* Whimsalot and Parsnik appeared.
* ナキムシャと パースニックが あらわれた。
131 Parsnik
パースニック
Astigmatism
ランシー
* Not only potatoes have eyes.
* “め”に どくが あるのは ジャガイモだけじゃない。
133 Astigmatism
ランシー
Migospel
ミ=ゴスペル
Moldessa
カビヨ
* Looks like a real party.
* これぞ まさに “パーティ”だ。
134 Whimsalot
ナキムシャ
Parsnik
パースニック
Moldessa
カビヨ
* Party from Hell.
* じごくの “パーティ”だ。

未使用の攻撃

サンズ


Sans' battle has some unused attacks. They, along with used attacks, are handled in the obj_sansb_body object.

Vertical Platforms - The attack is handled by obj_vplatgen. It has bones along the bottom, with platforms randomly placed and scaled scrolling from top to bottom. Some platforms wave from left to right slightly as well. To dodge, you are to stay on the platforms and not fall to the bottom into the bones. There are 3 variantions to this attack, controlled by obj_vplatgen's (0-indexed) type variable, type 1 to type 2 are simply sped up versions of type 0. Type 2 is directly accessible as attack type (variable a_type) 9 in obj_sansb_body. There's also a unused 6th Alarm event to the generator objects, which spawns randomly positioned bones in the middle of the screen to dodge every 50 frames. Because the platforms are randomly generated in size and position, it can be impossible to avoid getting hit.

Vertical and Horizontal Bones - Fixed bullet patterns with bones coming from positions vertically and horizontally. To dodge, you must maneuver around the bones. Accessible as attack type 10 in obj_sansb_body. There also exists a variantion, accessible as attack type 11 in obj_sansb_body, which is faster and has a different pattern. There is also a "hell" variantion of the first kind of the attack, accessible by setting the hell variable in obj_sansb_body to true, which is harder.

Random Gaster Blasters Variant - The sprites for the blasters are squished to be thin, much like one of the final version's variants, although this time the blasters spawn and shoot faster. This can be seen if a obj_gasterbl_gen is spwaned with type 0, which is not utilized by any coded attack in obj_sansb_body.

Final Attacks Variants - There is also "hell" variants of some of the final attacks. The attack where you have to short hop in between a gap in bones (attack type 1) and the one where you hop over a small white bone with a long blue one right after (attack type 3) is faster when the hell variable in obj_sansb_body is set to true. The platforming attack with bones and platforms scrolling across the screen horizontally has a variant where the platforms scroll slower, which is type 0 of obj_3platgen.

Worth to note that there exists an unused pitch for Megalovania in the code, which is also demonstrated in the video in result of the usage of the skip debug variable. Here's the related code, in the Create event of obj_sansb:

if (skip == true)
{
    con = -1
    with (mypart1)
        bounce = 1
    obj_borderparent.visible = true
    global.msg[0] = scr_gettext("obj_sansb_90") // * Skipped ahead.
    global.mnfight = 3
    global.myfight = 0
    global.faceemotion = 0
    normalfight = 1
    obj_heart.visible = true
    global.flag[271] = 1
    caster_loop(global.batmusic, 0.95, 0.95) // <-- here
}
(Source: Lil'Alien)

Mettaton EX

The Mettaton EX battle has some unused attacks. These can be seen if obj_mettattackgen is spawned with the respective attack types set in a global variable called global.attacktype.

Hmmm...
To do:
Explain better

Attack type 1 - Columns of boxes

Attack type 2 - Columns of boxes weaving from left to right

Attack type 3 - Some arms weaving from left to right?

Attack type 4 - Literally just legs

Attack type 5 - Activated legs weaving from left to right

Attack type 6 - Boxes and bombs scattered everywhere

Attack type 7 - Boxes and bombs scattered everywhere, but faster

Attack type 8 - Tightened bullet board, bombs appear from left and right

Attack type 9 - Less tightened bullet board, bombs appear from left, center and right

Attack type 10 - Columns of boxes and bombs approaching fast. The pattern is replayed after a while

Attack type 11 - Columns of blocks that go upwards when shot

Attack type 12 - Columns of blocks that go upwards when shot, plus sparkle bullets which only appear in the Alphys Lost Soul fight in the final game

Attack type 13 - A lot of mini Mettatons throwing hearts

Attack type 14 - Another lot of mini Mettatons throwing hearts

Attack type 15 - Mini Mettatons throwing sparkles

Attack type 16 - Mini Mettatons throwing sparkles again

Attack type 50 - Some arms with moving yellow block?

Attack type 51 - Fast disco ball

Attack type 52 - Boxes and bombs scattered everywhere, again; also kinda fast

Attack type 55 - Yet again, literally just legs

(Source: Lil'Alien)

イヌのエラー画面

ウザいイヌが登場するエラー画面は2つ存在している。エラー画面は、ロードしようとしたセーブファイルが破損していたり、セーブファイルを改造し、存在しない・行くことのできない部屋に行こうとしたなど、予期せぬ出来事が発生した際の「エラーハンドラー」として表示される。

エラー画面の片方(左の動画)の音楽には "mus_dance_of_dog" がランダムなピッチで使用されており、もう片方には "mus_sigh_of_dog" が使用されている。

Unused Items

ID Name Short Name Serious Name Description Use Text
2 Croquet Roll CroqtRoll CroqtRoll Heals 15 HP

Fried dough traditionally served with a mallet.

Normal:

You hit the Croquet Roll into your mouth.

Serious Mode:

You ate the Croquet Roll.

5 Rock Candy RockCandy RockCandy Heals 1 HP

Here is a recipe to make this at home:

1. Find a rock

You ate the Rock Candy.
6 Pumpkin Rings PunkRings PmknRings Heals 8 HP

A small pumpkin cooked like onion rings.

You ate the Pumpkin Rings.
8 Stoic Onion StocOnion Onion Heals 5 HP

Even eating it raw, the tears just won't come.

Normal:

You ate the Stoic Onion. You didn't cry...

Serious Mode:

You ate the Stoic Onion.

9 Ghost Fruit GhostFrut GhstFruit Heals 16 HP

If eaten, it will never pass to the other side.

You ate the Ghost Fruit.
18 Puppydough Icecream PDIceCram Ice Cream "Puppydough Icecream"

Heals 28 HP. Made by young pups.

Note: This item's name is too long to show up properly when using a dimensional box. The use text has no Serious Mode variantion.

Mmm! Tastes like puppies.


(Source: rawr.ws)

Unused Item Drop

In the internal monster setup code, there are mentions of item rewards and the chance for an item to drop. This never happens within the game, leaving these global variables unused: itemrewardid and itemrewardchance. Below is an example of the variables in the code.

global.monstername[myself] = scr_gettext("monstername_3") // monstername_3 = "Froggit"
global.monstermaxhp[myself] = 20
global.monsterhp[myself] = 20
global.monsteratk[myself] = 4
global.monsterdef[myself] = 1
global.xpreward[myself] = 10
global.goldreward[myself] = 20
global.itemrewardid = 1
global.itemrewardchance = 50

Old Toriel Dusting Data

scr_getvapordata contains a piece of ASCII pixel art of Toriel's death sprite, spr_torielboss_kneelsmile2, (mostly) composed of 0s (representing black) and 1s (representing white). Along with other data contained in the script, this was meant to be interpreted by an old version of the game's sprite duster, obj_vaporized, which produces dust particles according to it; the final game instead uses obj_vaporized_new like all monsters other than Undyne and Glad Dummy. (The following representation of the data cuts it to lines with 72 characters each, which is half of 144, the original sprite's width.)

000000000000000000000000000110000000000000110000000000000000000000000000
000000000000000000000000001100000000000000011000000000000000000000000000
000000000000000000000000001110111111111110111000000000000000000000000000
000000000000000000000000110001111111111111000110000000000000000000000000
000000000000000000000011111111111111111111111111100000000000000000000000
000000000000000000000111101111110111110111111011110000000000000000000000
000000000000000000000111101111111111111111111011110000000000000000000000
000000000000000000001111101101110111110111011011111000000000000000000000
000000000000000000001111100111000111110001110011111000000000000000000000
000000000000000000001111100111111111111111110011111000000000000000000000
000000000000000000001111110011111011101111100111111000000000000000000000
000000000000000000000111110001111111111111000111110000000000000000000000
000000000000001111000111111000110100010110001111110000000000000000000000
000000000000111110001011111000001111111000001111101000000000000000000000
000000000000111100001000000000000000000000000000001000100000000000000000
000000000001111100001000000110000011100011110000001000111000000000000000
000000000011111110000000000001110010010111100000001000111100000000000000
000000000011111111111111110111000111000000000000010100111110000000000000
000000000111111111111111111011111111100000000000100100011111000000000000
000000000111111111111111111100111111100100000001000100011111100000000000
000000000111111111111111111110011100001110000010000100011111110000000000
000000000011111000000000000111000000000000000100000100011111111000000000
000000000011110010000001111000000011100000001000011000011111111000000000
000000000000100100000000000110000000000000100011100110001111111100000000
000000000000000100000000000000100000000010001110010010001111111110000000
000000000000001000000000000000000011110000111101000001000111111110000000
000000000000001000000000000000110000000111111000000001000111111111000000
000000000000001000000000000001111000111111000000000001000111111111100000
000000000000010000000000000011000011000000000000000000100111111111100000
000000000000010000000000000100000000000000000000000000100111111111110000
000000000000010000000000000000000000000000000000000000100111111111110000
000000000000010000000000000000000000000000000000000000100111111111111000
000000000000010000000001111000000000000000000000000000100111111111111000
000000000000001000000000000000110000000000000000000000100111111111111000
000000000000000111111111111100000000000000000000000001001001111100011100
000000000000011111111111111111110100000000000000000010000111111111100110
000000000000011011101110000000000000111111111111000000011100011101101100
000000000000000000000000000000000000000000000000000000000000000000000000
2
(Source: Original TCRF research)

Obscured Assets

Snowdin Building Mockups

Placeholder Snowed Inn Lobby

Hidden under the image for the Snowed Inn lobby is a mockup of the rooms layout made of the Snowdin tiles.

Undertale room tundra inn placeholder.png

Placeholder Snowed Inn Rooms

Like the lobby, there is a placeholder layout for the rooms in Snowed Inn, featuring some not so comfortable beds...

Undertale room tundra inn 2f early.png

Placeholder Librarby Inside

A mockup of the inside of Snowdin's Librarby, being made of snow and bits of trees.

Undertale room tundra library placeholder.png

Early MTT Hotel Outside

Hidden under the MTT Hotel outside image in the respective room (room_fire_hotelfront_2) is an early version of the hotels outside, being made up of tiles instead of being one image. The ground tiles are placeholders, using the ice cave ground, a tile that was used as a placeholder throughout the entirety of Hotland.

Undertale room fire hotelfront 2 early.png

Early CORE Entrance

Hmmm...
To do:
Relocate this somewhere, this doesn't seem to fit here.

Undertale room fire precore hidden area.png

Hidden in the right side of the room for CORE's entrance (room_fire_precore) is what seems to be a placeholder version of the entrance, made of Hotland assets. Yes, the background (should) loop like that in the game.

(Source: Underminers Discord)

Oddities

Annoying Dog's Sale Price

The Annoying Dog can be sold for 999G and haggled up to 1251G (the highest sale price of any item in the game!), but it will disappear if taken out of the room it spawns in, so this can never be seen on a normal playthrough.

Mettaton's House

Mettaton's bed, upper walls, and TV have collision, but it's impossible to get in that section of the room.

Death By Glamour Speed

Mettaton EX's battle theme, Death By Glamour, is played at 0.95x speed after the pre-battle intro cutscene, but plays at 0.97x speed instead if Mettaton's dialogue is skipped; this is the value set in scr_battlegroup, the script that defines all of the encounters in the game. The version in the OST plays at full 1x speed, matching neither of these.

Inu Slots Coin Donation Saving

When you save in the Xbox One version, the game stores the value of flag 299 (the amount of coins you donated to the casino Dog Shrine) to global.xbox_coins_donated, then writes the latter into the save file. When you load, the number is read into the latter, and only to the latter for some utterly baffling reason. What's more, the global variable doesn't appear to be used otherwise.

(Source: Original TCRF research)

Toy Knife Room Name

The room in the Ruins where the Toy Knife can be found is internally called room_ruins18OLD. This is the only instance of a room labelled as old being used, and there's no non-old version of the room.

Internal Sound File Names

Hmmm...
To do:
Make the explanation simpler.

There are alternate file names for some sounds and music in the game's code, in the format music/*.ogg, from the phase of development where the game used GameMaker 8 and played external sounds and music through an extension. When the game was migrated to use GameMaker: Studio, it was changed to use GameMaker's native sound system for that instead. So to not change already existing code using the sound extension, compatibility scripts were made, one being caster_load, which converts the filenames that were originally used to pointers to GameMaker sounds by calling scr_getmusindex.

(Source: Original TCRF research)

Music/Sound Metadata

As with the demo, music/sound files have some metadata. The ENCODER field seems to be always overwritten by GameMaker: Studio, but there's still some information from FL Studio's LAME encoder.

(all OGG files, v1.08)
Name Content
encoder Lavc56.12.101 libvorbis
(all OGG files, v1.11)
Name Content
encoder Lavc libvorbis
(all WAV files, v1.08)
Name Content
ISFT Lavf56.14.100
abc_123_a.ogg (v1.001+)
Name Content
encoded_by LAME in FL Studio 10
TBPM 140
date 2016
snd_ballchime.ogg
Name Content
encoded_by LAME in FL Studio 10
TBPM 251
date 2015
mus_computer.ogg
Name Content
SOFTWARE FL Studio 10
mus_wrongworld.ogg ("Wrong Enemy ?!")
Name Content
encoded_by LAME in FL Studio 10
TBPM 224
date 2015
mus_mysteriousroom2.ogg ("Premonition")
Name Content
ENCODED BY LAME in FL Studio 10
BPM (BEATS PER MINUTE) 115
DATE 2014
mus_express_myself.ogg ("Last Goodbye")
Name Content
encoded_by LAME in FL Studio 10
TBPM 180
date 2015
snd_hit, snd_victor
Name Content
IART Don Ralke; Sherman Bros.
ICRD 1972
INAM Snoopy, Come Home
snd_spearappear
Name Content
ICRD 2013
snd_wrongvictory
Name Content
ICRD 2014

The "Snoopy, Come Home" metadata refers to the fact that both snd_hit and snd_victor are sampled from the song "Snoopy, Come Home" from the eponymous soundtrack, which Toby seemingly took from an online rip of the original vinyl without changing the metadata.

(Source: Original TCRF research)

Developer Oversights

Mettaton EX Battle Essay

Mettaton EX has an "essay" question where you can type in text and have him comment on it. Unfortunately, typing "x" or "z" ends the essay unless CTRL is held down, leaving some words (in most playthroughs) untypable. This was corrected in the PlayStation 4, PlayStation Vita, and Nintendo Switch versions of the game, as they use an on-screen keyboard.

The following words can't be triggered:

  • sexy
  • foxy
  • tantaliz (covers both "tantalizing" and "tantalize")

Naming the Fallen Human

In the PlayStation 4 and PlayStation Vita versions of the game, entering the name "Gaster" will result in a crash, rather than the intended restart of the game.

(Source: Twitter)