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

Pizza Tower

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Pizza Tower

Developer: Tour De Pizza
Publisher: Tour De Pizza
Platform: Windows
Released internationally: January 26, 2023

AreasIcon.png This game has unused areas.
CharacterIcon.png This game has unused playable characters.
CodeIcon.png This game has unused code.
EnemyIcon.png This game has unused enemies.
ObjectIcon.png This game has unused objects.
MinigameIcon.png This game has unused modes / minigames.
GraphicsIcon.png This game has unused graphics.
Sgf2-unusedicon1.png This game has unused abilities.
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.
LevelSelectIcon.png This game has a hidden level select.
Carts.png This game has revisional differences.

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

Spend $40, get newer experience!
This game is receiving new content, by way of Expansion Packs and/or Downloadable Content.
Be aware that any unused content you find may become used in the future. If this does happen, please specify as such!
<Sanky> please suggest an unused sprite with a clock or something
This game is still under active development.
Be aware that any unused content you find may become used or removed in the future. Please only add things to the article that are unlikely to ever be used, or went unused for some time. If they do get used, please remove them from the page and specify in the edit summary!

Pizza Tower is a game inspired by the Wario Land series featuring smooth squash-and-stretch animations and... pizza. Lots and lots of pizza.

With the game's lengthy and open development timeline, reusing of old assets, features that would get reused and scrapped anyway, and a bunch of builds that the public got to play before release (and possibly more stuff not found yet), there's more to unpack here than a stack of pizza boxes.


To do:
  • In order: Unused enemies, objects and finally sprites.
  • Hitboxes.
  • Alternate palettes for the Noise.
  • Document the Western v3 source code either on a development page or a prototype page.
  • Cows exist on the sides of the screen of the final boss, it seems like this attack for The Vigilante was planned to appear.
  • The level editor could use some proper info.
  • Add the tidbits from this video: https://youtu.be/7teakK_jCms (Do note that this video contains some misinformation and fails to elaborate on some of the pieces of cut content shown, so be sure to check what's written before submitting.)
  • A Halloween update was just added, go find some unused stuff.
  • The Noise update released; try and see if there's anything left unused.


Read about prototype versions of this game that have been released or dumped.
Prototype Info
Read about prerelease information and/or media for this game.
Prerelease Info
Miscellaneous tidbits that are interesting enough to point out here.


Windows-PizzaTower-icon mrstickboss-1.png
Unused Rooms
The tower's unexplored hallways.
Windows-PizzaTower-icon mrcar-1.png
Unused Enemies
Weenies, cars, bombs, you want it?
Windows-PizzaTower-icon noisethrowbomb-1.png
Unused Objects
Ancient objects from simpler times.
Windows-PizzaTower-icon intro plot1BG.png
Unused Backgrounds
Deserts, cold strongholds, and more!
Windows-PizzaTower-icon pizzaheadphase3-1.png
Unused Sprites
From sketches to full sprites! (Note that there are many gifs that will load at once.)
Windows-PizzaTower-icon oldtutorial.png
Unused Tilesets
The forgotten bricks that built the Pizza Tower.
Windows-PizzaTower-icon revisions-1.png
Revisional Differences
We hope you like updates to the credits and Swap Mode.

Build-Specific Leftovers

Windows-PizzaTower-icon SAGE2019-1.png
SAGE 2019 Leftovers
Special Guest: Sonic the Hedgehog Snick the Porcupine! (It's him.)
Windows-PizzaTower-icon noiseshardoween-1.png
Noise's Hardoween Leftovers
Time for seasonal pizza scaries.
Windows-PizzaTower-icon xmasbreak-1.png
Peppino's Xmas Break Leftovers
Have a merry merry merry Xmas Break!
Windows-PizzaTower-icon eggplant-1.png
Eggplant Leftovers
It's Pizza Tower, but with a touch of eggplant.


Windows-PizzaTower-icon heatmeter-1.png
Heat Meter
Something's cooking on my meat heater.
Windows-PizzaTower-icon roomname-1.png
Room Names
They sure were placing their holders.

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 alternative includes modifying the data.win with UndertaleModTool (not with notepad) and finding obj_debugcontroller_Create_0 in the code tab; Go to the disassembly tab to change pushi.e 0 to pushi.e 1, and then save. From here, pressing F5 will enable an object titled obj_debuggingcontroller and reveal a console with various preset commands.

For any commands expecting a true or false statement, you can also enter 1 or 0. Also note that misspelling "true" and/or "false" will make the game crash.

  • alltoppins - Gather all Toppins together at once. They'll spawn right behind the player, though the Mushroom will appear behind the Pineapple, rather than in front of the Cheese.
  • bossinv - Make the player invincible during boss battles. The player will still get hit, but not lose any health. Use the command again to disable invincibility.
  • destroyice - Specifically meant for Refrigerator-Refrigerador-Freezerator to unmelt parts of the stage, which'll destroy every instance of obj_iceblock and 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). The command was previously disabled until the v1.0.594 update, although it currently only crashes the game due to obj_editor lacking a line of code.
  • givekey - Give the player a key. It won't show up and float around them, but they will be able to unlock doors.
  • hardmode [true/false] - Toggle the scrapped hard mode feature. Using the command to disable it won't make Snick.exe disappear unless you move to another room.
  • hidetiles [true/false] - Toggle all the tiles present in the current room.
  • kill_boss - Instantly defeats whichever boss the player has engaged in a battle with. Peculiarly doesn't give a P rank if used, and may cause minor sound glitches if the command is used when the boss is in an animation that utilizes a sound effect. Added in v1.1.0.
  • loadtest - Executes the commands showcollisions 1 and player_room rm_testing4 A. As this testing room is actively used with each revision, the game may crash. The player can optionally also execute this command by pressing F8.
  • lockcam - Lock the player camera in place. Use the command again to re-enable camera movement.
  • noclip - Stop all movement and fly through walls using the arrow keys. Press the Dash button to fly faster and the Jump button to disable it.
  • othertest - Spawns you into an unused test room, however it warps you immediately into the softlock room after, which is used when backtracking to the beginning of Tricky Treat in the Ghost transformation. The game closes itself after a short while. Added in v1.0.594.
  • panic [time (optional)] - Start Pizza Time. The time must be set in milliseconds, so value 30 will roughly amount to 3 seconds of escape time. The default value is 4000. Use the command again to 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, this will overwrite the first save file, effectively deleting it).
  • player_room [room] [door letter] - Teleport 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 - Knight Peppino from Pizzascape.
    • firemouth - Firemouth Peppino from Oregano Desert.
    • cheesepep - Cheese Peppino from Oh Shit!
    • ratmount - Gustavo, though he'll spawn without Brick.
  • roomcheck - Rapidly cycles through every playable hub, level and boss in the game to check if no rooms were to crash the game at any point. Peculiarly, unused rooms 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. (This won't corrupt/automatically delete the corresponding save file, however it will make it unable to delete through normal means).
  • set_boss_hp [value] - Set how much health a boss has. Will crash if used in the Fake Peppino boss fight. Added in v1.1.0.
  • set_combo [value] [time (optional)] - Set how much of a combo is built up. The default time value is 60, equivalent to 6 seconds of leeway.
  • set_game_speed [value] - Changes how fast/slow the game will run, from a petrified 0fps, to a maximum of 2x the normal speed. The default value is 60. Will crash if the player attempts to enter a negative number (like -60 for example). Added after v1.1.0.
  • showcollisions [true/false] - Toggle the collisions for solids, slopes, platforms and breakable blocks.
  • show_debug_overlay [true/false] - Toggles an overlay in the top left-hand corner that displays an FPS counter, along with a resource monitor and two additional numbers.
  • showhud [true/false] - Toggle the HUD during gameplay.
  • switch_char - Changes Peppino into The Noise, and vice versa. Added in v1.0.594.
  • 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, treasure, a purple combo of 99, and the required score threshold. This functions identically in boss battles. Added in v1.1.0.
  • unlock_boss_key [1/4] - Unlock the boss keys required to visit the next world. The number represents what world the key is meant for.
  • unlock_toppins - Unlock all five Toppins for one of the 19 levels. The changes are saved immediately to the selected save file.

Some deprecated commands exist too that will not work unless the game is modified further.

  • camera_zoom [value] [speed] - Set the zoom amount and speed to zoom into. No 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 - Unknown, simply crashes the game when entered into the console.
  • 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 Playable Characters

The first two bosses were meant to be playable at different points in time, and an old version of the Noise is left over as well. Snick, a SAGE 2019 demo-exclusive character, also has some leftovers; see here for more information.

The Noise (Pogo Moveset)

Windows-PizzaTower-spr playerN idle-1.gif (Character value: "N")

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. Instead of dashing when pressing the dash button, he jumps around on a pogo stick and builds infinite speed until he hits a wall. 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, in 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. He also flies up in the air at fast speeds if he grabs the wall, though this seems to be unintentional. Note that post-Noise Update, he'll crash the game when dashing or using his jetpack due to his Mach 3 code being removed.

He also had his Pepper Pizza palette enabled by default, and only had his palettes from the 2020 builds implemented. He also previously wouldn't respawn in front of level doors after exiting a level, instead being off-screen in another part of the map, usually out of bounds or stuck in a wall.

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 sprites to the Noise's. He lacks sprites for some moves, resulting in him reverting to Peppino's sprites 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

Windows-PizzaTower-spr playerV idle-1.gif (Character value: "V")

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 sprites 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. His moveset is partially functional, using Peppino's moveset 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. Just like the old Noise, he'll crash the game when reaching Mach 3 in post-Noise Update builds of the game due to his Mach 3 code being removed.


Windows-PizzaTower-spr pepperman idle-1.gif (Character value: "M")

Pepperman was planned to be a playable character only in Refrigerator-Refrigerador-Freezerator, much like how Gustavo & Brick is only playable in Gnome Forest and The Pig City. His character value was "M" because "P" was already occupied by Peppino. His 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 the idea for him to be playable was quickly scrapped. 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.

Unused Modes, Mechanics & Options


To do:
Check to make sure this is separate from Swap Mode, or if Swap Mode is what became of it.

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
Windows-PizzaTower-ScreenScaleMode-1.png Windows-PizzaTower-ScreenScaleMode-2.png Windows-PizzaTower-ScreenScaleMode-3.png

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

TV Text Bubble

To do:
The code for the special prompt references saving the game so the prompt won't activate again. Check this.

Originally, with the redesign of the HUD seen during gameplay, the TV was going to be a bit more lively by using a text bubble. If the player got to a certain point in a level, the TV would start speaking to them.

The first build that added the text bubble was the April 2021 Patreon build, where the TV would speak to the player as a TV host of sorts. He didn't give really much information on how to play the game, and the TV host was more just a wisecracker, keeping an eye on Peppino while giving lore about the environment and the tower itself. Only two levels had this feature, John Gutter and Pizzascape. From that point onward, the TV would just give placeholder text if the player got into a transformation. The problem with this is that nobody would really be paying attention to what the TV announcer had to say, as the player was already busy exploring the levels.

The final build using the text bubble was the Eggplant Patreon build, which simplified the concept in just telling the player how to control Peppino and work with the game's mechanics. This was mostly used in John Gutter, with Pizzascape only having one prompt telling the player how to control the Knight transformation. The text bubble feature was never fully realized after this, as a tutorial was added to the final game, as well as short one-time prompts for the transformations' movesets, leaving the text bubble feature useless, thus was scrapped.

Pretty much everything to do with the text bubble, in terms of scripts and objects, are present in the final game (minus the text that was displayed in the Eggplant build). Reactivating it is easy too; Simply place obj_tvtrigger anywhere in a level and add this piece of code to a room object's creation script:

prompt_array[0] = gml_Script_tv_create_prompt("[Text]", [Special Prompt], [Sprite], [Scroll Speed])
  • Text - Self explanatory, set the text that will be displayed.
  • Special Prompt - ?
  • Sprite - Set the sprite for the TV during. Any valid sprite will display, including ones not made for the TV HUD.
  • Scroll Speed - Set the speed the text should scroll at. The April 2021 Patreon build used scroll speed 3, and Eggplant used 2.5.

An example of a properly configured text bubble would be this:

prompt_array[0] = gml_Script_tv_create_prompt("Greetz from TCRF!", 0, spr_tv_exprcollect, 1.5)
prompt_array[1] = gml_Script_tv_create_prompt("Look at this cool dialogue example!", 0, spr_tv_exprmach4, 1.5)

Unused Inputs


"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.


"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.

Obscured & Unseen Sprites

These sprites aren't completely unused, but they can't regularly be seen in the game's campaign. Sometimes debug mode or modifying the game is required to see them.

Stunned Pizzahead

Windows-PizzaTower-spr pizzahead stun-1.gif

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 October playtest build, but it went unused anyway.

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.


To view these walls in-game, enable the console and use the command showcollisions true.

Clown TV Sprites

During the midpoint of Pizza Tower's development cycle, a clown transformation was planned. However, it was cut from the main game due to a shift in the game's design philosophy; instead, it was repurposed as a secret inside World 3's Hub.

The respective TV animations for it (Peppino and The Noise) go unseen because the HUD is disabled in the hub world.

PizzaTower-ClownTVHud.gifPizzaTower-Spr tv clownN.gif

Unused Audio



Filename: mu_medievalremix

Spaghetti is a remixed version of Cold Spaghetti that was meant to play during the first inside section of Pizzascape. It never does and neither does it show up in the sound test. The version heard here is the outdated version called "Cold Spaghetti Remix" on SoundCloud. The song was removed because the devs wanted Hot Spaghetti to play for longer.

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.

Time's Up

Filename: mu_timesup

Intended to be the game's 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.

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 sung by Bernadette "Kyoobot" Perez, but instead got replaced with Time for a Smackdown. Although the track can be heard in-game through the sound test, it never plays at any point during the game's main campaign. The ending was reused for an unheard segment of "Okay Campers Rise And Shine!" and can be heard in the game's OST.

An instrumental version is included as well.
Filename: Pizza_Tower_OST_-_Pizza_Mayhem_Instrumental

Unused Lapping Tutorial Text

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 there's also a Pizza Granny in the hub that basically says the same thing. The variable with this unused message is titled tutorial_lap, and the October playtest build uses this message.

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!

Internal Names

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_floor 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
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.

Internal In-Game
strongcold Strongcold
dragonlair Dragon's Lair
golf Golf 2019 Demo
city City
mansion Mansion
desert Old Oregano Desert
ufo & pinball Space Pinball
beach Pineapple Beach
kungfu Kung-Fu
factory Factory
kidsparty Old kidsparty
top Top
exit Exit
hub Scrapped hub
rm_testing Testing rooms
PP_room Old tutorial
floor2 2019 Mansion
floor3 2019 Factory
floor4 2019 Sewer
floor5 2019 Freezer


  • 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 eariler demos and builds, the sprite for them was a spiky ball of cheese, rather than an electrical outlet. That same object has an unused variable labeled "fake", and when set to 1 (true), it will be destroyed on impact. This is never used in-game, so it might have been used in eariler builds.
  • When in the knight transformation, the player will phase through grindrails.

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.


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 "editor.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 editor.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, and in obj_editor's Create event's dissassembly, and paste in below the [0]::

call.i gml_Script_get_editor_data(argc=0)


And the editor command should no longer crash.

Editor Features

Pizzatower halloween editor.png

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.