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

The Owl House - Witch's Apprentice

From The Cutting Room Floor
Jump to navigation Jump to search


Title Screen

The Owl House - Witch's Apprentice

Developer: Workinman Interactive[1]
Publisher: Disney Games
Platform: HTML5
Released in US: January 10, 2020[1]


CodeIcon.png This game has unused code.
EnemyIcon.png This game has unused enemies.
GraphicsIcon.png This game has unused graphics.
MusicIcon.png This game has unused music.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.


Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: 1) Several debug functions are still referred to in the game's code; find out how to access them. 2) Some unused objects and animations exist; mock them up or find a way to make them appear in-game.

The Owl House - Witch's Apprentice is a 2D platformer based on the Disney Channel cartoon The Owl House.

Unused Graphics

Menu Items

item_frame_half

TOH WA item frame half.png

A bar featuring a less-polished version of the UI aesthetic seen in-game.

collections_locked

TOH WA collections locked.png

This sprite would appear over any relic quest that was unavailable at the time, due to its corresponding level not yet having aired. Now that all of the relics have been unlocked, this sprite is inaccessible without modifying the system date.

collections_locked

TOH WA collections unlocked.png

An unlocked version of the padlock in collections_locked. This sprite was never seen in-game; instead a golden exclamation point is used to denote any available relic quests.

preload_0

TOH WA preload 0.png

A gray circle referred to in the code as "debug_button".

Market Minigame

Shoppers and early UI

TOH WA market 0 cropped.png

The lower bodies of two shoppers from the "Sell, Sell, Sell!" minigame (which are usually covered by the counter) can be seen in this sheet, plus some unused UI elements. The solid and empty bars are referred to as "market_meter_backing" and "market_meter_overlay" respectively, however a different meter that more closely resembles the UI aesthetic is used in-game. A solid white arrow can be seen to the left of the unused meters, referred to in the code as "market_selection_arrow".

More shoppers and some unused UI

TOH WA market 1.png

The rest of the shoppers can be found on this sheet, as well as an unused solid yellow bar named "market_meter_fill".

Enemies

obstacle_jar_1

TOH WA obstacle jar 1.png

The jar enemy's sprite sheet contains 3 sprites for a tongue and 3 sprites for that tongue's outline. The tongue is referred to in a "chomp_tongue" animation, but neither the tongue itself nor the "chomp_tongue" animation ever appear in-game. The enemy also has an "idle_wiggle" animation that is called in the game's code, but never plays due to a programming error.

obstacle_jar_2

TOH WA obstacle jar 2.png

There is also an entirely unused second jar enemy, complete with an atlas file, bones, and even animations copied from obstacle_jar_1 then adjusted to take into account this jar's eyeball and lack of teeth (With the exception of "chomp_tongue").

obstalces_cauldron

TOH WA obstacles cauldron.png

Although this cauldron is fully rigged, animated, and even referred to in the game's code, it never appears in a level. Although it may not look much like an enemy, the game code that refers to this object is the same as the code for enemies that are used in the game. Interestingly, this is the only enemy sprite sheet that starts with "obstacles_" rather than "obstacle_".

obstacles_cauldron_bubble_particle

TOH WA obstacles cauldron bubble particle.png

Bubble particles associated with the above cauldron enemy.

Unused parts of NPCs

king_z

TOH WA king z.png

Inside the guard's sprite sheet, there's this cartoon Z. The sprites and animations for King sleeping are stored alongside the guard's files, but this Z isn't used with those animations.

mouth_open

TOH WA mouth open.png

Similarly to king_z, this sprite appears on Eda's sprite sheet, but is not used in any animations.

portal_door

TOH WA portal door.png

While in-game the portal door is only seen standing open without moving, the sprite sheet contains pieces that could be used to animate the door opening and/or closing. On top of that, the game's code makes references to animations for the door opening and closing, but these animations are never visible during gameplay.

Unused Sounds

Dialogue Taken Directly from the Show

Name Audio Transcript
sfx_eda_quest_complete
Eda: Nice!
sfx_hooty_finally
Hooty: Finally, I get to be a part of something!
sfx_hooty_hi
Hooty: Hi Luz!
sfx_hooty_intro
Hooty: Hoot hoot!
sfx_hooty_outro
Hooty: Hoot!
sfx_luz_gasp
Luz gasping.

A handful of Luz's sound effects are voice lines and sounds ripped directly from the first few episodes, and these unused sound effects follow suit.

Original Dialogue

Name Audio Transcript Associated quest
27_PREF_RPG_LUZ
Luz: Hang on, one sec. Quest 3
29_PREF_RPG_LUZ
Luz: Does this mean you'll teach me a spell?
30_PREF_RPG_EDA
Eda: Something just as good. Here, take this.
37_PREF_RPG_LUZ
Luz: Hang on, one sec! Quest 4
44_PREF_RPG_LUZ
Luz: One sec! Quest 5
52_PREF_RPG_LUZ
Luz: On second thought... Quest 6
67_PREF_RPG_LUZ
Luz: Hang on. Quest 8
71_PREF_RPG_EDA
Eda: Sure, whatever. Quest 9
72_PREF_RPG_LUZ
Luz: You don't have a cauldron? What kind of witch are you?
73_PREF_RPG_EDA
Eda: No back-talk. Head out into the forest and get me that cauldron.
74_PREF_RPG_LUZ
Luz: I'll be right back...
84_PREF_RPG_LUZ
Luz: One sec. Quest 10
91_PREF_RPG_LUZ
Luz: Hang on. Quest 11
98_PREF_RPG_LUZ
Luz: Be right back! Quest 12
107_PREF_RPG_LUZ
Luz: One sec. Quest 13
114_PREF_RPG_LUZ
Luz: Be right back. Quest 14
121_PREF_RPG_LUZ
Luz: One sec! Quest 15
129_PREF_RPG_KING_13PCT_PITCH_7PCT_TC
King: NOO! Ending
129_PREF_RPG_LUZ
Luz: NOO!

Most of these are simply alternate "cancel" dialogue for various missions that have been replaced by one single "Gimme a sec" that's used in every level, but some are entire conversations that either replaced or just completely cut from the game. All of the game's dialogue is sorted by which level it's played in, giving some hints as to what these unused conversations were intended to be like.

Sound Effects

Name Audio Description/Notes
sfx_potion_hit
Heavy poof sound.
sfx_portal
Magical whooshing sound. This sound is called to play alongside the portal's entrance animation, but like the portal's animations, this sound effect is never noticeable in-game.
sfx_pickup
A light "plucking" sound effect, much higher-pitched than the pickup sound effect used in game. According to the original MP3's header information, this sound effect is "phwoop03" from the SoundRangers.com stock sound library.
sfx_mimic_bite
Clacking and suction sounds. An alternate version of this sound effect, mimic_bite_2, adds a wood creaking sound to the beginning of this sound and is used in-game.

Music/Short stingers

Name Audio Description/Notes
sfx_start
A stinger that sounds similar to the ones often used at the beginning of an episode of the show.
sfx_amiss
Mysterious-sounding stinger. This stinger is loaded once alongside the title screen music and again alongside the player's sprite, but there isn't any code that plays it.
music_hub_2
A background song that turns into a peaceful melody before abruptly cutting off. Like the other songs used in the game, this one is taken from the music of the first episode.
sfx_failed
A downbeat stinger, possibly an alternate game over sound effect. A pitched-up version of this stinger is used in the first episode of the show.

Unused Text

config.xml

<config>
     <!-- CODE UNLOCK -->
     <unlockEnabled>true</unlockEnabled>
     <!-- Set whether or not to allow the use of the code unlock screen -->
     <unlockCode>00000</unlockCode>
     <!-- Set the code unlock number here, should be less than 10 digits and you can use the number 0 -->
     <!-- ACHIEVEMENTS -->
     <achievements enabled="true"/>
     <!-- LOCALIZATION -->
     <localization>
          <region>en</region>
     </localization>
</config>

A config file whose contents cannot be accessed or changed in-game. While a code unlock screen exists in the game's code, neither said screen nor an achievement system are accessible through normal gameplay.

translation.xml

Short gameplay-related strings

Name Text Notes
common.orientation_landscape
Please flip back to Landscape mode.
A string that would tell mobile players to switch to landscape mode. This was likely removed due to the Disney Now app forcing the phone into landscape mode while playing this game, rendering this string unneccessary.
common.yes
Yes
Several strings likely used in debug menus. Only common.back is referenced in the game's code, and only within the unused code entry screen.
common.no
No
common.next
Next
common.back
Back
common.continue
Continue
common.close
Close
common.x
X
Exactly what it says in the name. While the game does have a Check/X menu option, that option uses custom sprites rather than text using some font.
common.debug_text
TEST ID: {0}
It's unclear what exactly the test this line was referring to is, but {0} is a placeholder used multiple times in the translation file for where a variable number should be.
common.debug_level
{0}
This line appears to be used in a debug function named "_CreateLevelTestButtons", acting as the label for each button created with the function.
common.qa
QA
Two lines that were connected to QA in some way. The first line goes unused, but common.qa_qeek is used in a debug function that creates 19 buttons, likely creating a debug menu to access each of the 19 weekly relic levels for QA testing.
common.qa_week
WK<br>{0}
splash.title
Owl House
The code calls for this line to appear instead of the game's title and logo if the region isn't set to
en
in the config.xml file.
Hmmm...
To do:
Find out how to change regions to prove this does happen.
splash.tap_anywhere_skip
Tap Anywhere to Skip
Likely replaced by the skip button that allows you to skip through the game's opening cutscene.
splash.click_anywhere_skip
Click Anywhere to Skip
splash.play
Play
Likely replaced by the "[Tap/Click] Anywhere to Play" message used in the final game.
splash.printable
Printable
It's unknown what this could've been used for.
end_game.play_again
Try Again
Likely replaced by the "[Tap/Click] to Continue" message used in the final game.
gameplay.score
{0}
Three lines that seem to refer to a form of scoring other than the rank and the "Collect things" systems. Out of these three, only gameplay.score is referred to in the game's code, but it is never seen during gameplay.
gameplay.points
Points: {0}
gameplay.miniscore
Score: {0}
market.counter
Items Left: {0}
An early version of a counter to be used in the "Sell, sell, sell!" minigame. in the final version, a progress bar like the one in most other levels is used instead.
collectible.locked
Check back next week!
This message would appear when attempting to play a relic quest that was unavailable at the time, due to its corresponding level not yet having aired. Now that all of the relics have been unlocked, this message is inaccessible without modifying the system date.
debug.debugfield
{0}
Another variable line that exists in a debug function, but this one's name doesn't give much of a hint as to what it's supposed to do.

Unused tutorial text

Name Text
dialogue.tutorial_firstplay
Welcome to The Game!<br>CLICK to continue
dialogue.tutorial_firstplay_mobile
Welcome to The Game!<br>TAP to continue
dialogue.tutorial_firstplay2
Just sit back and relax!<br>SWIPE right to continue.
dialogue.tutorial_firstplay3
Let the ball guide you!<br>CLICK here to<br>end this tutorial.
dialogue.tutorial_firstplay3_mobile
Let the ball guide you!<br>TAP here to<br>end this tutorial.

Text referring to some sort of tutorial, presumably one that would appear when starting the game for the first time. The game does contain tutorial messages within level 1 and a brief tutorial after the first level to explain the hub, but this text is not used in either of them.

Test conversation

Name Text
dialogue.test_conversation_name
First Conversation
dialogue.test_npc_dialogue_1
This is a fairly long test dialogue box, with no line breaks, so we can try to wrap.
dialogue.test_npc_dialogue_2
This is a shorter follow-up sentence.
dialogue.test_npc_dialogue_3
Can you help me by collecting 6 Hex-em Hold-em cards in Bonesborough?
dialogue.test_player_dialogue_1
Sure, I love Hex-em Hold-em!
dialogue.test_player_dialogue_2
If I have to...
dialogue.test_player_dialogue_3
Maybe later.
dialogue.test_npc_response_1
Thanks for being so helpful. Head out the door on the right! [Trust +20]
dialogue.test_npc_response_2
Head out the door on the right. [Trust +5]
dialogue.test_npc_response_3
No problem, see you later!

A series of unused test messages. The most interesting piece of this is the [Trust +X] tags at the end of two of the responses, possibly implying some sort of "trust" system that was cut from the game. It's also worth noting that the dialogue refers to "Hex-em Hold-em," but the name of the game in the show (and in the final version of the game) is "Hexes Hold 'Em." It's unclear whether this was an error or if the name was changed sometime while the game was being developed.

Shop/inventory

Name Text
inventory.buy
Buy
inventory.shop
Shop
inventory.currency
$
inventory.next_rank
Next Rank:
inventory.item.unowned
-
inventory.item.name.default
Item Name
inventory.item.name.sword
Master's Sword
inventory.item.name.shield
Tower Shield
inventory.item.name.candle
Azure Candle
inventory.item.name.gloves
Gauntlets
inventory.item.desc.default
Item Description
inventory.item.desc.sword_1
Attacks deal +10% damage
inventory.item.desc.sword_2
Attacks deal +20% damage
inventory.item.desc.sword_3
Attacks deal +30% damage
inventory.item.desc.shield_1
Block 10% of damage
inventory.item.desc.shield_2
Block 20% of damage
inventory.item.desc.shield_3
Block 30% of damage
inventory.item.desc.candle_1
10 ft light radius
inventory.item.desc.candle_2
15 ft light radius
inventory.item.desc.candle_3
20 ft light radius
inventory.item.desc.gloves_1
Carry light items
inventory.item.desc.gloves_2
Carry heavy items

One of the most interesting sections of unused text in the files, referring to some sort of shop and inventory system. This is so far detached from the gameplay of Witch's Apprentice that it's questionable if this code was ever intended to be in this game or if it was simply a holdover from some other game the developers worked on.

Acheivements

Name Text
acheivement.unlocked
ACHIEVEMENT UNLOCKED
acheivement.points
{0}
acheivement.name.level2
Level 2
acheivement.desc.level2
Reach level 2
acheivement.name.level5
Level 5
acheivement.desc.level5
Reach level 5
acheivement.name.score100
100
acheivement.desc.score100
Get 100 points
acheivement.name.score1000
1000
acheivement.desc.score1000
Get 1000 points
acheivement.name.codeunlocked
Code Mode
acheivement.desc.codeunlocked
Use the code to unlock new game features
acheivement.name.firstplay
Baby Steps
acheivement.desc.firstplay
Play the game once

A list of several achievements. Achievements are referred to in the config.xml file and in one line of code (as part of a function that parses the config.xml file), but are not present in the game.

Leaderboard

Name Text
leaderboard.you
You: 
leaderboard.top
Top
leaderboard.leaderboard
High Scores
leaderboard.submit_score
Submit Score

Text referring to an unused leaderboard system. Likely intended to work alongside one of the cut scoring systems.

Code Entry

Name Text
code.code_button
Code
code.code_copy
Code Unlock
code.ender_code_header
Enter Code
code.code_key_enter
Enter
code.code_key_0
0
code.code_key_1
1
code.code_key_2
2
code.code_key_3
3
code.code_key_4
4
code.code_key_5
5
code.code_key_6
6
code.code_key_7
7
code.code_key_8
8
code.code_key_9
9
code.invalid_code
Invalid Code
code.valid_code
Levels Unlocked!

Text for some sort of code entry system. The game actually has a sizable amount of code related to this screen, but it's inaccessible in-game.

Unused Code Entry Screen

TOH WA CodeScreen.png

The aforementioned code entry system, opened in-game. Despite the lines above that are dedicated to adding labels to the buttons, due to some typos in the code none of these labels actually appear. All of the buttons have no noticeable function beyond animating when pressed, with the exception of the back button, which closes the menu.

Using the keyboard to type codes is also supported, but like the buttons, there's no feedback that this does anything. By using the keyboard to type in the code set in the config.xml file (00000 by default) and pressing ↵ Return, the unused flag BOOL_CODE_UNLOCK will be set to true. The flag will not be set if the same code is entered by pressing on the corresponding buttons.

Unused Debug Screen

TOH WA DebugScreen.png

A very barren debug screen. Although the line at the bottom claims that the game version is 1.0.0, this screenshot was actually taken in version 1.05.

References