🎊 Happy 2025, TCRF! 🎊
Pizza Tower
Pizza Tower |
---|
Developer: Tour De Pizza[1] This game has unused animations. This game has a development article This game has a prototype article This game has a prerelease article This game has a notes page This game has a data page This game has a bugs page |
Pizza Tower is a game inspired by the Wario Land series, featuring fast-paced gameplay, smooth squash-and-stretch animations, and... pizza. Lots and lots of pizza.
With the game's lengthy and open development timeline, old assets being reused, features that would get reused and scrapped anyway, and a whole bunch of builds that the public got to play before release (with the possibility of more stuff not being found yet), there's more to unpack here than a stack of pizza boxes.
IT'S PIZZA TIME!
To do:
|
Contents
- 1 Sub-Pages
- 2 Unused Playable Characters
- 3 Console/Debug Controller
- 4 Unused Modes, Mechanics & Options
- 5 Unused Inputs
- 6 Blue Afterimage
- 7 Obscured & Unseen Sprites
- 8 Unused Audio
- 9 Music Without Purpose
- 10 Unused Pizza Granny Tutorial Text
- 11 Unseen Vigilante Cows
- 12 Internal Names
- 13 Oddities
- 14 Project File Name
- 15 Process Name
- 16 Unused Halloween Update Level Editor
- 17 Version Differences
- 18 References
Sub-Pages
Development Info |
Prototype Info |
Prerelease Info |
Notes |
Data |
Bugs |
Main
Unused Rooms The tower's unexplored hallways. |
Unused Enemies Weenies, cars, bombs, you want it? |
Unused Objects Ancient objects from simpler times. |
Unused Code The code left on the baking room floor. |
Unused Graphics The leftovers that were never reheated. (Note that there are many gifs that will load at once.) |
Build-Specific Leftovers Stuff from before the pizza was delivered. |
Revisional Differences We hope you like updates to the credits and Swap Mode, with some language fixes on the side. |
Other
Heat Meter Something's cooking on my meat heater. |
Room Names They sure were placing their holders. |
TV Text Bubble In the end, they stopped yappin'. |
Unused Playable Characters
During the development of Pizza Tower, McPig repeatedly toyed with the idea of multiple playable characters. A total of six characters - Peppino, the Noise, Snick the Porcupine, the Vigilante, Pepperman, and Gustavo and Brick - were playable at different points of the game's development, though one (Snick) was never intended to be playable in the final game and two (Pepperman and the duo of Gustavo and Brick) were level-specific rather than universally playable.
The game would ultimately launch with only two playable characters (Peppino and Gustavo and Brick), with Noise being re-added in the Noise Update in March 2024. All the scrapped characters are, however, leftover to some extent, in varying degrees of completeness.
The Noise (Pogo Moveset)
The Noise was playable from the March 2019 Patreon build up to the September 2021 playtest build. He was removed around the time of the Eggplant Patreon build in 2022, before being added back post-launch in March 2024 with a new moveset.
The new Noise does not, however, replace the old Noise, as the two use different character values. Because of this, the old Noise is still left over, and his moveset is completely different. He can only dash by grabbing and sliding, entering a dash using his skateboard after the slide ends, though this doesn't seem to be intentional. Instead of dashing when pressing the dash button, he jumps around on a pogo stick and builds infinite speed until he hits a wall. While bouncing the player can hold Jump to bounce higher or down to bounce lower. After bouncing a few times, he'll start blinking white, which indicates that you're able to use his jetpack. With his jetpack, he can do superjumps both up and sideways, during which he's able to move left and right or up and down depending on which way you're facing. He also does wall jumps instead of wall-running. Attempting to grab a wall will launch him upwards very quickly, which is an unintended side effect of the game giving the player a speed value of 10 when starting a wall run, though this may have inspired how the used version bounces off walls in the final game.
He originally only had his palettes from the 2020 builds implemented, and his normal palette was inaccessible due to changes to how palettes work, instead using his Pepper Pizza palette by default. He also wouldn't respawn outside of level gates normally, instead getting stuck out of bounds. Both of these issues were fixed in the Noise Update, as changes were made to accommodate for the used version of the Noise that also happened to fix the old Noise's issues.
Note that post-Noise Update, the old Noise will crash the game when dashing or using his jetpack due to his Mach 3 code being removed.
The Noise (Peppino Moveset, Pre-Noise Update Only)
In addition to Pogo Noise, a version of the Noise with the same moveset as Peppino was also present in pre-Noise Update versions of the game. Rather than having his own character value, he shares one with Peppino, being enabled when the variable ispeppino is set to false and the script scr_characterspr is used to change his graphics to the Noise's. He lacked graphics for some moves, resulting in him reverting to Peppino's graphics until the action is over. This version of the Noise was later used for the new Noise in the Noise Update, but new code was added to Peppino's scripts to access the Noise's moves and block off some of Peppino's if ispeppino is set to false.
The Vigilante
The Vigilante was playable from the April 2020 Patreon build up to the September 2021 playtest build. Like the Noise, he was removed around the time of the Eggplant build in 2022; unlike the Noise, Tour De Pizza does not plan to re-add the Vigilante, stating in July 2022 he required too much work.
In prerelease builds, the Vigilante used a gun instead of a dash and could throw dynamite. He had a few limitations, as he was locked in Mach 3, couldn't break through metal blocks (only possible with dynamite), couldn't use transformations (which would only harm him) and, unlike the other characters, had a health system. He started with 100 HP, lost 25 by taking damage, and gained 1 by collecting toppings and 20 for each big collectible. Besides his regular gameplay animations, none of his animations for the updated HUD were ever created. A good chunk of his animations were recycled in his boss fight.
In the final game, playing as the Vigilante will expose some of Peppino's graphics when doing specific moves. He can no longer throw dynamite, as the game used a fourth face button for this, which is no longer implemented (although it's possible to re-enable it). His moveset is partially functional, building on Peppino's with the ability to use your gun by holding Down and pressing Attack, though he won't be able to get far into levels that heavily rely on transformations or metal blocks.
Note that just like the old Noise, the Vigilante will crash the game when reaching Mach 3 in post-Noise Update builds due to his Mach 3 code being removed.
Pepperman
Pepperman was planned to be a playable character only in Refrigerator-Refrigerador-Freezerator, much like how Gustavo and Brick are only playable in Gnome Forest and The Pig City. His character value was "M" because "P" was already occupied by Peppino. The idea for Pepperman to be playable was quickly scrapped because McPig thought it would be odd to restrict half of the playable cast to specific levels.
Pepperman's moveset was very basic, as he could only dash by pressing the Dash button, ground pound, and taunt mid-air. He had no special abilities or transformations besides that, and was never officially playable in any released build as he was scrapped very early into the implementation process. Almost all animations that were created for him were recycled for his boss fight.
In the final game, Pepperman is in a broken state. He can't pass through many obstacles and his animations sometimes freeze. He can harm enemies, but can't bounce on them. Going through doors is also unusually fast and no gates close behind him.
Console/Debug Controller
A simple debug mode in the form of a console exists in the game's files, and can be re-enabled by adding the parameter -debug to Steam's startup options, or the application's desktop shortcut. Another alternate method includes modifying the data.win with UndertaleModTool (not with a text editor such as Notepad) and finding obj_debugcontroller_Create_0 in the code tab. From there, go to the disassembly tab to change pushi.e 0 to pushi.e 1, and then save. With the modified code saved, pressing F5 will now enable an object titled obj_debugcontroller and reveal a console with various preset commands.
For any commands expecting a true or false statement, you can also enter 1 or 0. Do note that misspelling "true" and/or "false" will make the game crash.
Another thing to note is that certain commands may alter and/or wipe your save data, as mentioned in the descriptions of certain commands below. Please use them with caution!
- alltoppins - Grants the player all the Toppins together at once. They'll spawn right behind the player as per usual, though the Mushroom will appear behind the Pineapple, rather than in front of the Cheese.
- bossinv - Makes the player invincible during boss battles. The player will still get hit, but not lose any health. As a bonus, any hits taken while invicible don't count towards the Chef Tasks and rankings, however the "You've hurt (character) # times..." message will still appear, and the damage statistic will still count up how many hits the player has taken. Using the command again will disable invincibility.
- destroyice - This command is specifically meant for Refrigerator-Refrigerador-Freezerator to unmelt parts of the stage, which'll destroy every instance of obj_iceblock and will stay destroyed for the remainder of the level.
- editor - Sends the player to the editor room (rm_editor), and spawns the object intended for custom level creation (obj_editor). This command was previously disabled until the Halloween Event (v1.0.594) update, although it currently only crashes the game due to obj_editor lacking a line of code.
- givekey - Gives the player a key. The key is invisible, but it will still float around the player and will also still be able to unlock doors.
- hardmode [true/false] - Toggles the scrapped hard mode feature. Using the command to disable it won't make Snick.exe disappear, unless the player moves to another room.
- hidetiles [true/false] - Toggles the visibilty of all the tiles present in the current room.
- kill_boss - Instantly defeats whichever boss the player has engaged in a battle with. This command peculiarly doesn't give a P rank if used, and may cause minor sound glitches if the command is used when a boss is in an animation that utilizes a sound effect. This command was added in v1.1.0.
- loadtest - Executes two commands, being showcollisions 1 and player_room rm_testing4 A, which will warp the player into a testing room. As said testing room is actively used with each revision, the game may crash. Before v1.1.25, the player could've optionally executed this command by pressing F8 on their keyboard.
- lockcam - Locks the camera in place. Using this command again will re-enable camera movement.
- noclip - Stops all movement, removes the player's current transformation and also grants them the ability to fly through walls, using either the arrow keys on their keyboard or the joystick/D-Pad on their controller. Pressing or holding the Dash button will make the player fly faster, and pressing either the Jump or Grab button will disable noclipping.
- othertest - Spawns the player into an unused test room, however it will warp them immediately into the softlock room afterwards, which is used when backtracking to the beginning of Tricky Treat while in the Ghost transformation. The game will then close itself after a short while. This command was added in v1.0.594.
- panic [time (optional)] - Activates Pizza Time. The time must be set in milliseconds, so a value of 30, for example, will roughly amount to 3 seconds of escape time. By default, the value is 4000, which roughly amounts to 5 minutes and 31 seconds worth of escape time. Using the command again will disable Pizza Time, though this will not kill Pizzaface if he's already spawned in. (Do be mindful about using this command during the intro cinematic. If Pizzaface is spawned here and the player gets caught, the first save file will be overwritten, effectively deleting it).
- player_room [room name] [door letter] - Teleports the player to the specified room and door letter (A to G). If no door letter exists, the player will spawn on the same coordinates of the previous room they left from.
- player_set_state states.[state] - Set the player's transformation state to one of five selected states:
- normal - Regular.
- knightpep - The knight from Pizzascape.
- firemouth - The firemouth from Oregano Desert.
- cheesepep - The sticky cheese from Oh Shit!
- ratmount - Gustavo, though he'll spawn without Brick, but can be regained if activating this state in either a secret or the soundtest room.
- roomcheck - Rapidly cycles through every playable hub, level and boss room in the game to check if no rooms were to crash the game at any point. Peculiarly, unused rooms, such as forest_4, war_4 and war_5 are included in the cycle, while tower_peppinohouse and characterselect aren't. Once the check passes, the player will end up in the hub entrance during Pizza Time with a P rank, and will also be rewarded the "Face Off" Chef Task and corresponding Steam achievement, if not unlocked.
- Do note this command won't corrupt or automatically delete the player's corresponding save file, however it will make it unable to delete through normal means. There is a way to fix this, though. All the player needs to do is beat a level on the save they used the command on.
- set_boss_hp [value] - Sets how much health a boss has. This command will crash the game if used in the Fake Peppino boss fight. This command was added in The Noise Update (aka v1.1.0).
- set_combo [value] [time (optional)] - Sets how much of a combo is built up. The default time value is 60, which is equivalent to 6 seconds of leeway.
- set_game_speed [value] - Changes how fast or slow the game runs, from a petrified 0fps, to a maximum of 2x the normal speed, with the default value being 60. Do note that the game will crash if the player attempts to enter a negative number (like -60, for example). This command was added after The Noise Update (v1.1.0).
- showcollisions [true/false] - Toggles the visiblity of the objects for solids, slopes, platforms and breakable blocks.
- show_debug_overlay [true/false] - Toggles GameMaker's debug overlay in the top left-hand corner that displays an FPS counter, along with a resource monitor and two additional numbers.
- showhud [true/false] - Toggles the visiblity of the HUD during gameplay. If this command is used in the hub world, the HUD will not show up.
- switch_char - Changes Peppino into The Noise, and vice versa. This command was added in the Halloween Event Update (aka v1.0.594). It should be worth mentioning that before the Noise Update, using this command would turn Peppino into Pogo Noise.
- test_p_rank - Automatically gives all the credentials to receive a level's P rank, with an escape time of 40 seconds, the player in the 2nd lap, all secrets found, the level's treasure, a purple combo of 99, and the required score threshold. This functions identically in boss battles. Added in The Noise Update (aka v1.1.0).
- unlock_boss_key [1/4] - Grants the player the boss key required to visit the next world. The number (1 to 4) represents what world the key is meant for.
- unlock_toppins <level_name_ini> - Unlocks all five Toppins for one of the 19 levels. The changes are saved immediately to the selected save file. Do note that in order for the command to work, the internal names of the levels will need to be typed, such as "entrance" for John Gutter, or "plage" for Crust Cove, as an example. Typing in the in-game names will not work.
Some deprecated commands exist too. However, they will not work unless the game is modified further.
- camera_zoom [zoom value] [speed] - Sets the camera's zoom amount and the speed it should zoom at. Oddly enough, not a single function in the game ever uses this.
- giveheat - Adds an extra row of heat to the Heat Meter from the 2021 - Eggplant builds, not the Heat Meter that's turned on in hard mode.
- gateswitchmax - An unknown command that simply crashes the game when entered into the console. Perhaps this command would've been used for switchable gates.
- throwarc - It's not known what this command was meant to be. It's related to a global variable of the same name, but it's not linked to anything.
Unused Modes, Mechanics & Options
Co-op
To do: Swap Mode is not the same as this co-op mode, with Swap Mode greatly limiting one character to a follower while this mode lets both characters act freely, but still check if anything from this mode was added or removed during Swap Mode's development. |
Two-player co-op for the main campaign was planned and worked on several times throughout the game's development from mid-2019 to mid-2021. Co-op would've involved both players either helping each other along the way or duking it out. Hitting the other player will spawn a flag above their body and make them the lead, and whoever got the highest score would get the rank, though there were no penalties besides that. With the game's fast nature, to prevent both players from going off-screen constantly, a tumble mechanic was added exclusively to this mode where both players get locked into Mach 3 when they run into each other. The animation was later reused for the phase transition cutscenes during The Noise's boss battle.
What's left of co-op is in a very broken state. Both players can spawn, but actions such as running off-screen and respawning will crash the game. A handful of objects, enemies and bosses have even been programmed to support co-op, but is otherwise inaccessible. Why the mode was scrapped is unknown, though it's likely because the mode didn't really work well with the game's speed and window size.
Hard Mode
Some basic work was done at some point to add a hard mode to the game. Even though it goes unused, you don't even need to modify the game itself to access it. Enable the debug console (mentioned above) and type hardmode true (or hardmode 1) in the command window.
Enabling hard mode will display an earlier version of the scrapped Heat Meter and spawn Snick.exe around the player, a character that was intended to only show up in the SAGE 2019 demo. After some time passes, Snick.exe will start dropping random enemies on the ground, much like Fake Santa. With each two enemies killed, the meter goes up. Once the meter hits its max, Snick.exe may start spawning as much as four enemies at a time. Once the player takes damage, the meter will go down and the player will need to kill more than 2 enemies to get the meter back up. Keeping up momentum will prevent Snick.exe from spawning enemies, as he's only able to spawn them if he's not in a solid object.
Some other ideas for hard mode were shared, such as making the actual Heat Meter mechanic a hard mode exclusive, but all of these plans fell through as this mode was quickly subjected to be scrapped.
Scaling Modes
In the options screen under the video category, there was originally an extra option for screen scaling with the option to pick from three modes; "Fit", a default option that resizes the screen but remains the 16:9 aspect ratio, "Pixel Perfect", a mode that shrinks the screen down to a 960x540 image when windowed, and "Expand", which expands the usual 960x540 window size to whatever one wishes. The Pixel Perfect option even exists in the October playtest build, but the entire option was removed from the final release with the latter of the two options both having their own issues.
The Pixel Perfect option doesn't keep a 960x540 resolution when the aspect ratio isn't 16:9. This causes things such as the on-screen UI to look squashed, and any special screens that may display (such as the pause screen, title cards or Gustavo & Brick switch cards) won't overlap the whole screen.
The Expand option's problems are visible when playing the game. Parts of the screen that weren't supposed to be visibile now are, backgrounds that aren't supposed to loop vertically now do, title cards aren't centered and the title screen/save select menu is broken. Despite this, some liberties were taken to fully develop this option as the Technical Difficulty screen is centered, the pause screen is properly formatted and most of the on-screen UI elements are properly separated.
Fit | Pixel Perfect | Expand |
---|---|---|
Enabling these scaling modes doesn't require the need to modify the game's files. The game checks on startup for a variable titled "scale_mode" in any of the three save files, though never writes this in them at any point. To enable it, simply add that variable under the group that reads "[Option]" with either one of three numbers:
- 0 - Fit (default).
- 1 - Pixel Perfect.
- 2 - Expand.
Unused text that was meant to go in the options screen exists too.
Variable | Text |
---|---|
option_scaling | SCALING |
option_scaling_fit | FIT |
option_scaling_pp | PIXEL PERFECT |
option_scaling_expand | EXPAND |
Unused Inputs
Both of these can be re-enabled by adding them to scr_initinput and scr_getinput.
Shoot
"key_shoot", mapped to the A key by default, was an input used mainly for the shotgun, revolver and the playable Vigilante's dynamite during development. It was first introduced in the Western v1 build and used all the way up until the Octobe22 build. When re-enabled, the only moves that it'll still work with are Gustavo's kick move and the Vigilante's dynamite.
Chainsaw
"key_chainsaw", mapped to the V key by default, was an input used for a scrapped chainsaw move that was never normally usable in any released builds, although player states for it still exist in every build since April 2021. It has no function when re-implemented due to the code to start the chainsaw being removed, but it does function if the player is in one of the unused states relating to the move, assuming they've fixed all the missing sprite-related crashes beforehand.
Blue Afterimage
Present in scr_afterimage is a function called "create_blue_afterimage" that, as its name suggests, creates a blue afterimage behind the player. This afterimage was used from December 2021 all the way up until late December 2022, and was used for many actions such as punching, ground pounding, throwing enemies, riding the weenie mount, attacking with Mort, and more. For unknown reasons, every instance of it was either replaced with the Mach 3 afterimage or removed in the final game. The afterimage was scrapped so late that it can still be seen in the trailer and gameplay gif on the game's Steam page.
Obscured & Unseen Sprites
These sprites aren't completely unused, but they can't regularly be seen or they're shown in very niche situations in the game's campaign. Sometimes debug mode or modifying the game is required to see them.
Stunned Pizzahead
Pizzahead's 2nd phase has some otherwise unused functionality where he can take away the player's transformation if he ever bumps into them. However, if Pizzahead is walking and hits Peppino while in the Knight transformation, he'll show an unseen stunned animation for three seconds and then continue where he left off. This happens because an older version of the boss fight once utilized the Knight transformation for an enguarde attack (an attack that still exists in the game's files as a sketch), but the code that checks if the player is in a specific transformation was not removed.
The sprite on display was meant to be reused as a stun animation for phase 3 as seen in the Octobe22 Build, where Pizzahead can be stunned by hitting him with Gustavo, but ended up being unused anyway as in the final game Gustavo is hit away and stops appearing when Pizzahead is present.
Final Hallway Background
The title card for The Crumbling Tower of Pizza uses a separate room to display the card. However, if the code that displays the title card is disabled and graphic_42571A09 is removed, a background of Pizzaface with the five Toppins can be seen, with some leftover tiles from the level itself being near the bottom of the screen. Parts of the background can be seen in Floor 5's Chef Task room, though most of it will still be obscured.
Hidden Metal Block Sprite
All hidden metal walls in the game have an unused idle sprite that's obscured by tiles. This wall with a face was originally meant to replace the metal wall that appears in the final game, though people didn't like it very much, and it was later reverted. The hidden walls didn't have their sprites changed however.
Hidden Collision Sprites
Like hidden metal walls, all types of collision are invisible without the use of the debug console. Each platform has a unique design, and the purple platform icon was used in a separate object named obj_vigilanteplatform.
To view the walls and collsion in-game, enable the console and use the command showcollisions true.
Peppino Clinging at a Wall
While this animation technically isn't unused, the circumstances are so specific that is seen very rarely, or by mistake. Peppino has to start a wall climb at a very low speed, which can occur in levels with grind rails: you have to jump near a wall right after landing on the rail so not to build up speed.
It was introduced in the Eggplant build, where wall climbing was reworked, alongside the new wall climb sprite. Since the Octobe22 build, the game always gives you enough speed when starting a wall climb, so it never shows up normally.
Ancient Cheese Hidden Layers
In Ancient Cheese, the rooms ruin_9 and ruin_10 both have a disabled layer titled Tiles_BG. Re-enabling them reveals tiles that fill in the empty out of bounds areas. These weren't used in any known builds.
Hidden Layer Disabled | Hidden Layer Enabled |
---|---|
Hidden Layer Disabled | Hidden Layer Enabled |
---|---|
Hidden Intro and Ending Assets
Bases
In the rooms Finalintro and Endingroom, there lies hidden graphics that are the base for the respective intro and ending screens. When the Noise Update came around, spr_towerending_base was changed to feature the Noise in his campaign, rather than Peppino's.
spr_towerintro_base
spr_towerending_base (Pre-Noise Update) | spr_towerending_base (Post-Noise Update) |
---|---|
Old Intro
Also left over in the rooms Finalintro and Endingroom is the old intro used in builds such as the SAGE 2019 Demo and the October 2022 Playtest build, however they are obscured by the actual intro and ending graphics respectively.
Finalintro | Endingroom |
---|---|
Something minor yet interesting to note is that in the Endingroom, the moon is offset by -100, as found in the background information in the files.
Full Noise Balloon
The Noise Balloon, which serves as the background for the second phase of the Noise boss fight, appears noticeably incomplete when viewing the sprites by themselves. This was very much intended, as the boss arena would hide the negative space anyway. It's also a trick that dates back to the old days of cel animation, as usually the whole of one thing wouldn't be drawn if it was set to be hidden behind things like a foreground element, or the camera boundaries.
Unused Audio
Music
Spaghetti
Filename: mu_medievalremix
Spaghetti is a remix of Cold Spaghetti that played during the first indoor section of Pizzascape for most of the game's development, last heard in the Eggplant Patreon build. The version heard here is an outdated version called "Cold Spaghetti Remix" on SoundCloud; the final version, which was never implemented in any build, can be found here. The track was removed by the time of the October playtest build because the devs wanted Hot Spaghetti to play for longer, and it wasn't included in the game's OST.
The object that handles the game's music still has code for changing the music in the section where this track was meant to play, but it was changed to make Hot Spaghetti play instead.
Unused Take of Unearthly Blues
Filename: PTentrance
A part of an earlier rendition of Unearthly Blues that uses older samples and a much, much louder guitar. The song fades out at an earlier point too. Notably, PTentrance is the filename for Unearthly Blues in the August 2020 music/source code leak, though the version heard here doesn't match the track from the leak.
Time's Up
Filename: mu_timesup
This was the original Time's Up theme when Pizzaface caught up with the player. It got replaced with Your Fat Ass Slows You Down. However, the "stomp" sound effect from this file is used in the "timesup" event for the FMOD project. This theme was reused in Peppino's death sound in the Doom 2 mod "Bring Your Own Class", which was made by McPig in collaboration with members of the Pizza Tower Discord, albeit cut off.
Partially Unused Music
The Noise
Filename: 62_BONUS_The_Noise
The Noise, the music that plays on the "Noise Unlocked" screen, is normally cut off only 2 seconds in, leaving the rest of the track unused. This is the same track used for the scenes were the Noise activated Pizza Time, specifically as it was shown in the Halloween demo. The full track can be heard in the game's OST.
Pillar John Revival Music
Filename: music_null'
The music that plays during the scene where Pillar John is revived by collecting all the treasures is actually from 33 seconds into the full track, leaving everything before it unused. This track originates from the party room in the Halloween Demo, where self-inserts drawn by members of the Pizza Tower Discord danced. This track was not included in the game's OST.
Pizza Pie-ing
Filename: Pizza_Tower_-_Pizza_Pie-ing_slight_remaster
Pizza Pie-ing, the music that plays while the Tower collapses at the end of the game, normally fades out completely 18 seconds into the track. The full track is much longer, as it was originally created for the circus portion of the scrapped city level, and can be heard in the game's OST.
Okay Campers, Rise and Shine!
Filename: PIZZA_TOWER_THyrzzryzryEME_SONG
Okay Campers, Rise and Shine!, the music that plays during the Fake Peppino chase at the end of his boss fight, is supposed to have an ending 1 minute into the track, but it can't be heard in-game under any circumstance (even if the player survives for that long) as the track is set to loop before the ending plays. The ending also isn't present in the OST release, where the song fades out instead of having a proper ending.
The ending is actually the guitar riff from Pizza Mayhem, the game's original opening theme. This track's filename is particularly interesting, as while Pizza Mayhem's filename in the game's files is "58 Pizza Mayhem", its filename in the August 2020 music/source code leak was "PIZZA_TOWER_THEME_SONG", which was modified for this track's name.
Move It, Boy!
Filename: 64_BONUS_Move_It,_Boy
Move It, Boy!, the music that plays on Swap Mode's character select screen, has a 30-second intro (which includes the "Move It, Boy" sample that gives the track its name) that is never heard in-game, as the song cuts immediately to the "ARE YOU READY?!" sample upon starting Swap Mode. The intro can be heard in the game's OST.
Sound Effects
Enemy Screams
Filenames: sfx_scream1, sfx_scream4, sfx_scream7
Some early enemy screams that were recorded by members of the Pizza Tower Discord as part of a screaming contest. These had a rare chance of playing after defeating an enemy, rather than scaring them before taking them out. Out of the ten winning screams, only three are left in the final game, titled sfx_scream1, sfx_scream4 and sfx_scream7 recorded by MegapiemanPHD, Sledge and RJ in order.
Be aware of some loud audio as this screaming contest does, in fact, have screaming.
Shotgun Load
Filename: sfx_shotgungot
A different variant for loading a shotgun. This sound effect was used for a majority of the game's development and replaced pretty late.
Music Without Purpose
These tracks were intended to be used at different points throughout the game, but most were reduced to being just bonus tracks that can be unlocked in the sound test.
Choosing the Toppings
Filename: 59_BONUS_Choosing_the_Toppings
Choosing the Toppings was intended to be the theme for the (scrapped) level editor. It's not in the sound test, but it is included in the game's original soundtrack release, and it can be heard when waiting for funiculi holiday to finish during the credits.
Pizza Mayhem
Filename: 58 Pizza Mayhem
Pizza Mayhem was originally intended to be the game's opening theme with vocals by Bernadette "Kyoobot" Perez, but ultimately got replaced with Time for a Smackdown. Although the track can be heard in-game through the sound test and was included in the OST, it never plays at any point during the main campaign.
An instrumental version is included as well.
Filename: Pizza_Tower_OST_-_Pizza_Mayhem_Instrumental
Two used tracks still feature references to Pizza Mayhem: Time for a Smackdown incorporates some leitmotifs, and the melody plays in I Need a Noise at the 3:30 mark. And as mentioned above, the guitar riff was featured in the unused ending of Okay Campers, Rise and Shine!.
Unused Pizza Granny Tutorial Text
tutorial19
After starting a Super Jump, you can also dash forward in the air by pressing [G]! Give it a try!
In the October playtest build, another wall was meant to immediately follow the second super jump, to show off how players can exit out of one and into a Mach dash. It was likely removed so that the tutorial wouldn't have any disruption with the overall speed flow.
tutorial_lap
Har, har! Enter this portal when the pillar has been taken down... If you dare! You will have to do another loop around the level, so be sure to have the time for it!
In the same build, John Gutter was originally intended to have a Pizza Granny in the lapping room instructing the player on how to do laps. It was probably removed as not only is lapping very straight forward in itself, but it was also likely removed when Pizza Grannies were added to the main hub.
Unseen Vigilante Cows
On the offscreen sides of the Vigilante and Pizzaface fight, there exist two cows outside the arena. These cows would spawn in and run across the screen, hurting the player in the process. These cows don't seem to be used in any builds, so this could be a lost remnant of the fight that was put in later in development, but was never fully implemented.
Internal Names
Levels
The names for each of the game's levels in the files differ from what's seen in-game. These internal names were also used for the level select before the final names were decided upon.
Internal | In-Game |
---|---|
entrance | John Gutter |
medieval | Pizzascape |
ruin | Ancient Cheese |
dungeon | Bloodsauce Dungeon |
badland | Oregano Desert |
graveyard | Wasteyard |
farm | Fun Farm |
saloon | Fastfood Saloon |
plage | Crust Cove |
forest | Gnome Forest |
space | Deep-Dish 9 |
minigolf | Golf |
street | The Pig City |
industrial | Peppibot Factory |
sewer | Oh Shit! |
freezer | Refrigerator-Refrigerador-Freezerator |
chateau | Pizzascare |
kidsparty | Don't Make a Sound |
war | WAR |
tower_escape# | The Crumbling Tower of Pizza |
Not to mention that various other areas in-game that aren't levels also have internal names of their own.
Internal | In-Game |
---|---|
tutorial | Tutorial |
tower | The Hub World |
trickytreat | Tricky Treat |
secret_entrance | Secrets of the World First Room |
boss | Various boss fights |
Even unused levels have internal names of their own! However, the names are a bit more obvious to what the levels are. The "floor#_room" levels are missing floor1_room, as the floor1_room rooms were all renamed to "desert" sometime between the April 2021 Build and the Rework Build to match the other used levels' naming scheme.
Internal | In-Game |
---|---|
strongcold | Strongcold |
dragonlair | Dragon's Lair |
golf_room | Golf (2019 Demo version) |
city | City |
mansion | Mansion |
desert | Oregano Desert (Pre-Eggplant version) |
ufo | Space Pinball (Pre-Rework version) |
pinball | Space Pinball |
beach | Pineapple Beach (Crust Cove Pre-Eggplant version) |
kungfu | Kung-Fu |
factory | Factory (Peppibot Factory Pre-Eggplant version) |
kidsparty | Kid's Party (DMAS April 2021 version, same filename but numbers rooms differently.) |
top | Top |
exit | Exit |
hub | Scrapped hubs |
rm_testing | Testing rooms |
PP_room | Old tutorial |
floor2_room | Mansion (2019 version) |
floor3_room | Factory (Peppibot Factory 2019 version) |
floor4_room | Sewer (Oh Shit! 2019 version) |
floor5_room | Freezer (Refrigerator-Refrigerador-Freezerator 2019 version) |
Music
Some of the file names for the music found the the game's .bank files contain either early names or other notable details.
Internal Track Name | Track Name | Notes |
---|---|---|
Pizza_Tower_-_Entrance_Secret_V1.wav | An Entrance Secret | John Gutter's secret theme. |
Pizza_Tower_-_Dungeon_Freakshow_v222.wav | Dungeon Freakshow | It's unlikely that this track really had 222 revisions. |
Pizza_Tower_OST_-_Pumpin_Hot_Stuff.wav | Pimpin' Hot Stuff | Although this track also goes by Pumpin' Hot Stuff, Pimpin' Hot Stuff is the name used in the game's sound test. |
Pizza_Tower_OST_-_Way_of_the_Italian.wav | Way of the Pig | Way of the Italian was this track's original name from when it was planned to be used for the scrapped Kung Fu level, being renamed when the track was repurposed for Gustavo's section of The Pig City. Oddly, the original name is used in the game's sound test. |
pizza_tower_-_industrial_hub.wav | Fridays | Floor 5's hub theme. Although floor 4 has a theme of industrialization, "industrial_hub" is used for the name of floor 5's theme. |
39 Don't Preheat Your Oven Because If You Do The Song Won't Pla.wav | Don't Preheat Your Oven Because If You Do The Song Won't Play | Pretty much the same, but has a 39 at the beginning and is missing the Y in play. |
pt_scary_ambient_draft_1.wav | (No official name) | This is the track used in the hall before the final boss. "draft 1" implies more drafts of it were made, but no more drafts are known to exist. |
Final_The_Runner_10_15_2023_Halloween_Event_2023(1).wav | The Runner | Timestamped at October 15 2023, 8 days before the Halloween update released. (1) implies that the file was at one point moved to a folder that already had a file with the same name. |
Secret_Lockin_v1a.wav | Secret Lockin' | The level theme for Secrets of the World. "v1a" could imply the existence of a B (or second) revision of the theme. |
World_Wide_Noise_v6_yo_how_many_times_am_i_just_gonna_keep_chan.wav | World Wide Noise | Noise's lap 2 theme. Six revisions could have existed before, as implied by "v6". Also, ClascyJitto asks how many times she's gonna have to change the name but gets cut off mid-sentence. |
Pizza_Tower_OST_-_Doise_At_the_Door(1).wav | Impasta Syndrome | Has a completely different name. (1) implies that the file was at one point moved to a folder that already had a file with the same name. |
UNEXPECTANCY_CLASCYJITTO_I_GATCHA_PASSWORD_REMIX_v2.wav | Unexpectancy [CLASCYJITTO GATCHA REMIX]/Unexpectancy, Part 3 Remix | Has 2 official names. "Unexpectancy [CLASCYJITTO GATCHA REMIX]" is used in the bonus soundtrack album (albeit capitalized differently and doesn't use square brackets), and "Unexpectancy, Part 3 Remix" is used in the soundtest room. |
byebyethere_remix_2_new_mix.wav/noisefinalescape.wav | I Need A Noise | The music for Noise's final escape in The Crumbling Tower of Pizza. Oddly, there are 2 versions of this track with different filenames, though they seem to be identical. The first file labels it as a second remix of Bye Bye There, implying the existence of an unreleased Bye Bye There remix. |
New_Noise_Resolutionz_v4 | New Noise Resolutionz | Noise's credits theme. "v4" implies that four other revisions existed at one point. |
lario noise.wav | (No official name) | The jingle used for the Noise's version of Gnome Forest's titlecard. This filename stands apart from the rest of the filenames for the titlecards, as it references the lario meme that became popular shortly after the game's release. Lario seems to have become a joke among the developers, as "lario" is the name of the Gnome Peppino emote on Steam and Gnome Forest's secret music was renamed to "Everybody Wants To Be A Secret", a reference to the music in the meme. |
It's also worth noting that the filenames for roughly 1/3 of the music and sound effects are formatted with a much more traditional naming scheme for their respective purposes, having either "mu_" or "sfx_" followed by one or two words describing their purpose or contents. Those files were likely taken directly from the game's project files during the game's conversion to using FMOD Studio for its sound, while the other files were likely taken from an archive without being renamed, as the names don't matter as much as if they were imported into GameMaker Studio 2.
Inputs
The grab key is internally called "key_slap". This is a remnant from late 2018 builds, when Peppino instead attacked by slapping.
The Mach Run key is internally called "key_attack". This is a remnant from Early Test Build, where the player's only method of attacking was Mach Running.
Oddities
Filenames
Objects
- The object that triggers the Clown transformation is called obj_skateboard in the files. This is due to earlier versions of the game previously using this same object (with a different sprite) to initiate a Skateboard transformation, of which is similar in gameplay to the Clown transformation.
- The object name for the cows in Oregano Desert are named obj_donkey, probably because of their gimmick of kicking the player around.
- The dangerous outlets sprinkled throughout the game are refered to as obj_spike in the object list of the game's code. This is because in very early builds, the sprite for them was a spiky ball of cheese, rather than an electrical outlet.
- The giant outlets the Ghost King can possess in Pizzascare are named obj_knighttrap. This is because they're a modified version of a scrapped hazard from the Rework Build, where the Ghost King possessed knight armor that jabbed at the player.
- Banana peels are referred to as obj_slipnslide in the files, most likely because in older builds, the player would slide on the ground after touching the peel. This was changed later in development, and now the player will just slip on the banana peels instead.
- The Pepper Pizza found in Refridgerator-Refridgerador-Freezerator is known internally as obj_noisejetpack, as it was originally a jetpack move given to the player by the Noise, as seen in the Eggplant Build.
- Pizza Grannies are known as obj_tutorialbook.
Graphics
- Many of Pillar John's sprites are internally referred to as hungrypillar. This is because in the Halloween Demo and Demo 2, when Pillar John was first introduced, the player had to feed him the Toppins instead of destroying him to activate Pizza Time.
- The sprites for the uppercut move are internally referred to as breakdanceuppercut. This references the unused breakdance move from the Beach and Forest build.
- The sprites for the Snowman enemies seen in Refrigerator-Refrigerador-Freezerator refer to it as newpizzice. This is because The Pizzice enemies originally had the behaviour of the Snowmen, but were replaced by the Snowmen in the April 2021 build. The Pizzice was eventually brought back with its own unique behaviour in the Eggplant build, which would be the same behaviour they used in the final game.
- Most of Crust Cove's assets (minus the gate graphics) are listed under the name beach, even though plage is the level's prefix. "Beach" is the name of the unused beach level that became Crust Cove.
- The autumn pattern is internally referred to as bat, indicating it was to be themed as such.
- The eyes pattern has a different internal name too, and is referred to as flesh.
- The sprites for the Noise's Drill ability refer to it as divebomb, implying they were equivalent to Peppino's diving ground pound before the Noise was stripped of his dive completely.
- The sprite for the boombox that shows up as the player breakdances after holding the taunt key is referred to as beatbox.
Other
- In the game's save data and level gate assets, The Crumbling Tower of Pizza is listed under the name exit despite all rooms for the level using the tower prefix. "Exit" happens to be the name of an unused final level that was the precursor to The Crumbling Tower of Pizza.
- The string names for the things Pizza Grannies say are referred to as garbage, likely due to the odd and often nonsensical things they say.
- In the game's FMOD files, Peppino and the Noise's escape themes are all part of the same event, likely to allow easily switching between the tracks in Swap Mode. However, there's an unused event that only has the Noise's escape themes, set up with parameters and everything. This event is stored in the variable "panicmusicN" in obj_music's create event, but is never used. obj_music also uses a variable called "panicmusicID" to store which escape theme event is playing, and references this variable every time it needs to check or make changes to the escape event, but this variable is only ever set to "panicmusicP", which stores the used escape theme event mentioned before. These indicate that Peppino and the Noise's escape themes were originally separate events, but were merged into one for Swap Mode, instead deciding which escape theme to play via a parameter in the event itself, "isnoise".
Leftovers from Older Builds
- The knight transformation retains some functionalities from older builds that can't be seen through normal means:
- The player will begin sliding if they touch an ice block or a block in Refrigerator-Refrigerador-Freezerator, a leftover from Peppino's Xmas Break.
- The player will phase through grind rails in levels that feature them, a leftover from the April 2021 Mansion.
- The player can kill the Grandpa Pepper in The Pig City's first room, also a leftover from the April 2021 Mansion.
- It's possible to break the ice blocks in Refrigerator-Refrigerador-Freezerator when in the firemouth transformation, a remnant from old versions of the level that featured the transformation.
- The Grandpa Pepper in The Pig City's first room is normally immortal and can't be killed unless the player is The Noise, but as Peppino, the player can kill him using the knight and ghost transformations via hacking. As mentioned above, the knight transformation killing him is a remnant from the April 2021 Mansion; the Ghost transformation killing him is a leftover from the Eggplant Build.
- Other transformations, those being the firemouth, Mort's swing attack, the barrel, the rocket, sticky cheese, and the shotgun, won't work, as there were never any situations in which the player would've encountered the Grandpa Pepper in them. If the player uses a forced invincibility powerup such as the Weenie or Pepper Pizza, the Grandpa Pepper will instead deal no damage and will also have its punching animation frozen if the player touches it.
Musical Oddities
- If the player manages to survive for around 30 seconds after Pizzaface spawns during Pizza Time, The Death that I Deservioli will automatically start playing once It's Pizza Time! ends regardless of whether the player has entered Lap 2.
- At launch, Refrigerator-Refrigerador-Freezerator used an older variant of Don't Preheat Your Oven Because If You Do The Song Won't Play. This was fixed a day later, as mentioned here on the revisional differences page, although the looping data was not updated so it ends up looping too early.
- If the player waits long enough after eating the Pepper Pizza in Refrigerator-Refrigerador-Freezerator, On the Rocks will stop playing and Celsius Troubles will resume. This is because On the Rocks doesn't have a looping point set, likely since the player is almost certainly going to activate Pizza Time well before the track ends.
- Pizzascare shares its secret music, hmmm look what u done did you found a secret :), with Pizzascape and therefore has no unique secret theme of its own. Pizzascare's theme, There's a Bone in My Spaghetti!, is a remix of Pizzascape's Hot Spaghetti, so the devs likely didn't think it was necessary to give the stage a separate secret theme.
Other Oddities
- Internally, the Pizzasonas are numbered up to 56, but the eighth one is missing. Additionally, the code for choosing which Pizzasona to use will choose again if it chooses the eighth one. This was likely one of three scrapped Pizzasonas.
- When preforming a crouch jump with the shotgun transformation, both Peppino and the Noise will revert to their regular crouch jump animation, rather than using a shotgun exclusive animation. This was probably overlooked by McPig, who did make sprites for this scenario, though only for Peppino, that went unused. The same oddity occurs when you are falling while crouched.
- If the player has Mort in tow, the walking animation will be fast when walking to the right, whereas walking to the left will play the animation more slowly. This has surprisingly slipped under McPig's radar, as this was never fixed in any update.
- In Peppino's list of taunt sprites, his thumbs-up taunt is duplicated twice; however, the duplicate goes unused.
- One of World 3's Pizza Grannies says "Pizza Tower Instant Pizza Gaming Promotion! Type /pizza to order a free pizza courtesy of Peppino's Pizza!"; however, the slash (/) is missing from the sentence in-game. This is because the font used for the Pizza Grannies does not contain a slash character, so the game does not display it.
- Peppibots have the ability to kill Pillar John and activate Pizza Time; however, there is no situation in which this would normally occur, so it can't be seen without hacking.
Project File Name
Even though the game's project file name can't be seen in-game, it can be found in the game's files and on the save file directory. "GM2" refers to Game Maker 2 Studio, with this name being used ever since the game's files were converted to the new engine.
PizzaTower_GM2
Process Name
When opening up the Task Manager while the game is running, the process' name is "It's Pizza Time!". Like the project file name, this can't be seen in game, however.
Unused Halloween Update Level Editor
(Not to be confused with the level editor patreon builds, this is a new editor in the final game, added in the 1.0.594 update.)
Reactivating The Editor And "data.json" Workings
As you may have seen in the Console/Debug Controller section, there is an "editor" command which sends you to the editor room but crashes due to a missing line of code. To fix it you simply need to add an data.json
file in your AppData/Roaming/PizzaTower_GM2/editor folder. The folder will not exist by default and you have to create it.
Here is one line to put in the file, to run the editor and see all features, and if you understand the format you can extend it. Keep in mind the "General" category is required for the editor to function.
{ "objects": [ "name": "General", "order": 0, "objects": [ { "ID": 0, "name": "Solid", "object_index": "obj_solid", "sprite_index": "spr_wall", "snap_tile_val": 32, "mask_index": "spr_wall", "components" : [ { "type": "resize", "snap": 32, "dock": "Left", "lock": 1 }, { "type" : "mirror" } ] } ] ], "backgrounds": [ "bg_pumpkin1", "bg_pumpkin2" ] }
You must then open Pizza Tower's data.win
in UndertaleModTool or any GameMaker modding tool, and in obj_editor's Create event's dissassembly, and paste in below the [0]:
:
call.i gml_Script_get_editor_data(argc=0)
popz.v
And the editor command should no longer crash.
Editor Features
Upon entering, the player will be presented with a menu with the options: New, Edit, Play and Delete. Of all of them, only New is usable, and it creates a new level. The editor has an object selection menu (functional), a tile menu (non functioning, you can just create a layer but not add tiles), a backgrounds menu (functional), a rooms menu (functional) and a settings menu (functional, except Save Level, Test Level and Level Settings).
The objects can also be rescaled vertically if the resize component is applied, but not horizontally, which is likely a bug, the "dock" variable of the resize component determines which side the button to rescale will appear on. It can also be mirrored through a button that appears if the mirror component is activated.
Version Differences
The Nintendo Switch version features a few minor differences from the PC version:
- The file select jumpscare Easter egg does not close the game. Instead, the jumpscare object simply disappears and the game continues waiting for player input.
- Unlike the PC version, it's possible to unlock Swap Mode without having completed the Noise's campaign. Similar to the method to unlock the Noise without having beaten the game as Peppino, the player can repeatedly punch Peppino on the title screen to unlock Swap Mode.
- If the Noise has not been unlocked, it takes 200 hits to unlock Swap Mode (this unlocks the Noise as well, since he's required for the mode).
- If the Noise has been unlocked, it takes 100 hits to unlock Swap Mode.
- Switch-specific button prompts have been added.
- At launch, Secrets of the World was broken -- when you attempted to enter the first eye, it would get stuck on the room transition. While this did not hardlock the game (you could still exit via the pause menu), it rendered almost the entire level unplayable. This bug was patched in v1.0.1 on September 10, 2024.
- The layers in the Judgement screens have been swapped, making the letters appear above Peppino. This doesn't affect how any of the screens look except for the WOW ranking, in which the O appears above Peppino's eyes.
- The audio tends to get a bit crackly at times. This is most noticeable during the Vigilante's Bazooka attack and when destroying multiple enemies in quick succession. It also occurred in the Don't Make a Sound chase sequences with the Sausage Toppin Monster until it was fixed in the v1.0.1 update.
- The Switch version is compiled with the YoYo Compiler, a special compiler that makes GameMaker games use machine code rather than interpreted code and a runner like the PC version does. This was likely done for performance reasons, as games compiled with the YoYo Compiler run faster.
References
- Games developed by Tour De Pizza
- Games published by Tour De Pizza
- Windows games
- Nintendo Switch games
- Games released in 2023
- Games released in January
- Games released on January 26
- Games with unused animations
- Games with unused areas
- Games with unused characters
- Games with unused code
- Games with unused enemies
- Games with unused objects
- Games with unused game types
- Games with unused graphics
- Games with unused abilities
- Games with unused music
- Games with unused sounds
- Games with unused text
- Games with debugging functions
- Games with hidden level selects
- Games with revisional differences
- To do
Cleanup > To do
Games > Games by content > Games with debugging functions
Games > Games by content > Games with hidden level selects
Games > Games by content > Games with revisional differences
Games > Games by content > Games with unused abilities
Games > Games by content > Games with unused animations
Games > Games by content > Games with unused areas
Games > Games by content > Games with unused characters
Games > Games by content > Games with unused code
Games > Games by content > Games with unused enemies
Games > Games by content > Games with unused game types
Games > Games by content > Games with unused graphics
Games > Games by content > Games with unused music
Games > Games by content > Games with unused objects
Games > Games by content > Games with unused sounds
Games > Games by content > Games with unused text
Games > Games by developer > Games developed by Tour De Pizza
Games > Games by platform > Nintendo Switch games
Games > Games by platform > Windows games
Games > Games by publisher > Games published by Tour De Pizza
Games > Games by release date > Games released in 2023
Games > Games by release date > Games released in January
Games > Games by release date > Games released in January > Games released on January 26