Debug Mode

From Celeste Wiki
Jump to navigation Jump to search

Debug Mode is a hidden feature in the game that unlocks a lot of features used for testing purposes, as well as various quality-of-life improvements to make playtesting and editing levels easier. Debug Mode can only be accessed in the PC versions of Celeste.

Enabling Debug Mode[edit | edit source]

Debug Mode can be enabled in two ways: by editing the settings file and through the Everest mod loader.

  • The first method can be done through editing the settings.celeste file in the Saves folder in the game's directory. At the very end of this file is a row named "LaunchInDebugMode" that is set to "false" by default. Changing it to "true" will enable Debug Mode.
  • An alternate way to do it is by downloading the Everest mod loader and selecting Mod Options in the menu. It will have a toggle Debug Mode option. Turning it on will require restarting the game.

Menu features[edit | edit source]

Pressing the spacebar in the menu allows players to move the camera freely around the overworld. The WASD keys are used to move around, Q and Z are used to scroll the camera upwards and downwards, and the mouse can be used to rotate it.

Two lines of text will display at the top-left corner, with the first showing the coordinates the camera is facing, and the second displaying the camera's position.

Debug savefile[edit | edit source]

On the main menu will be an extra option named "~DEBUG~". Upon selecting, it will enable an extra savefile with every chapter unlocked. It behaves very similarly to a Cheat Mode file except that most statistics upon completing a level are reset, such as strawberry counts.

It's very useful for playtesting purposes as well as an extra file for practicing, if all other savefiles have been used already.

Debug Map[edit | edit source]

The Debug Map can be accessed by pressing Tab (F6 with Everest) on the keyboard, opening a grid that displays the chapter's room layouts, often separated with colors that resemble certain checkpoints or sections of the game. The debug map allows the player to freely teleport to specific rooms, including spawnpoints that cannot be accessed normally due to the lack of a respawn trigger.

Debug Console[edit | edit source]

Pressing "~" or "." will activate an in-game console that allows the player to enter a large variety of commands. Apart from that, it also enables hitbox view for tiles and entities.

The list of commands can be seen below:

  • assist toggles Assist Mode for the current save file
  • audio returns information about the music and ambience that are currently playing, and also has information about music layers
  • berries returns information about strawberries — typing it by itself will tell you how many berries are in every chapter of a campaign, whereas adding a chapter number afterwards will return details specific to each checkpoint.
  • berries_order[function unknown, please expand if you have information on this]
  • blackhole_strength seems like it is supposed to change the background in Farewell.
  • bounce makes the player jump without making the usual jumping sound.
  • capture saves the player's movement to a .bin file that the player can name, to be used with the playback ghost entities from Farewell.
  • characters is supposed to write all the characters from each text file to the console.
  • cheat toggles Cheat Mode.
  • check_all_languages returns information about whether or not dialogue files in other languages match the English version's content and font.
  • check_language has the same functionality, but with only one language.
  • clear clears the debug console's text.
  • colorgrading can be used with "true" or "false" to toggle color grading (for example, if this is turned off, the Seeker introduction section in the Mirror Temple will not have a sepia filter
  • complete instantly completes the current level.
  • core takes an integer parameter, and sets the Core Mode of the level — setting it to 0 means no core mode , 1 means hot mode, and 2 means cold mode.
  • count returns the amount of entities in a room.
  • detailed_levels [function unknown, please expand if you have information on this]
  • dflag sets a flag that is saved across chapters.
  • dialog opens up a menu that shows all dialogue keys in all available languages
  • e opens the Debug Map.
  • exit closes Celeste.
  • export_dialog [function unknown, please expand if you have information on this]
  • export_obj [function unknown, please expand if you have information on this]
  • flag sets a session flag that only works per chapter. (Examples of session flag usage: the Core is hardcoded to set the flag "cold" to be enabled or disabled depending on whether it's hot or cold, and this flag can be used to control the level's decoration.)
  • fonts returns information about which fonts are available and which ones are being used.
  • fullscreen enables fullscreen mode.
  • give_golden gives Madeline a Golden Strawberry.
  • givekey gives Madeline a key.
  • global_stats shows the global Steam statistics, including deaths, dashes, collected strawberries and golden berries, and statistics specific to the PICO-8 version of Celeste.
  • hard loads the B-Side for a given chapter from its chapter number.
  • heartgem changes whether or not a Crystal Heart is collected for a given chapter; it takes three parameters: the chapter number, which side it is (0 for A-Side, 1 for B-Side, 2 for C-Side), and "true" or "false" for whether or not the heart should be collected.
  • heart sets the amount of Crystal Hearts collected on a save file.
  • input_gui [function unknown, please expand if you have information on this]
  • leaf opens the feather breathing minigame first shown in Golden Ridge.
  • level_count seems to print the total amount of screens in a campaign.
  • level_flag sets a session flag [how does this contrast with the flag command though?]
  • lighting returns information from the game's lighting system.
  • lines returns information about how many lines and words of dialog are in a given language.
  • load loads a given chapter from its chapter number.
  • logdetours [function unknown, please expand if you have information on this]
  • logsession [function unknown, please expand if you have information on this]
  • ltng is supposed to toggle the lightning from Farewell, though it doesn't seem to work.
  • mainmenu exits to the main menu.
  • mapedit opens the Debug Map; it is unclear whether this has different functionality than e.
  • meet edits how Madeline has interacted with Theo (this changes depending on whether or not he has been talked to, and how long the conversation lasted).
  • modoptions toggles Everest's "Show Mod Options in Game" setting. (This is only present when using the Everest mod loader.)
  • music changes the currently-playing music using either an FMOD event name or one of the shorter names that can be found in Lönn's music dropdown.
  • music_progress changes the "progress" parameter of the currently-playing music.
  • music_vol changes the music's volume. This is supposed to be between 0 and 10, though using this command can allow for higher numbers. (However, using these high numbers is not recommended if you wish not to damage your speakers.)
  • openlog opens the log.txt file.
  • overworld exits to the title screen.
  • ow_complete tests the chapter completion screen on the menu.
  • ow_reflection_fall tests the overworld part of the falling segment from Reflection, then returns to the menu.
  • p_dreamdash toggles the dream blocks from Chapter 2 between being usable and solid. However, it does not change their texture.
  • p_twodashes sets the player's inventory to have two dashes by default.
  • pico loads the PICO-8 game.
  • playback shows a playback tutorial, and a basic editor to clip it to the right size and re-save it.
  • pooler logs the amounts of certain types of entities.
  • portraits shows a list of dialogue portraits and their different possible facial expressions.
  • postcard shows the postcard from a given chapter. Running it in the format postcard area_0 0 will play the associated jingle for the level and show the postcard. (The first argument changes the postcard text and the second changes the audio.) If no number is given as a second argument, it will play the Forsaken City jingle by default. This command doesn't show or play anything for The Summit, Core, or Farewell since none of them have postcards.
  • print_counts displays the total amount of collectibles from a level set, and will show the total amount of collected items if a save is loaded.
  • ref_fall tests the cutscene in Reflection where Madeline falls through crystals to the bottom of the mountain.
  • q exits the console.
  • rename renames a level file.
  • returntomap returns the player to the map.
  • rmx2 loads the C-Side for a given chapter from its chapter number.
  • say displays dialogue from a dialogue key, found in the English.txt file. However, it still lets the player move around during the dialogue.
  • screenpadding adjusts the screen boundaries.
  • sd_clearflags [function unknown, please expand if you have information on this]
  • setloglevel [function unknown, please expand if you have information on this]
  • sfx_vol changes the sound effects' volume. This is supposed to be between 0 and 10, though using this command can allow for higher numbers. (However, using these high numbers is not recommended if you wish not to damage your speakers.)
  • sound_instances lists all sound events that are currently playing.
  • summit_gem seems to give the player a Summit gem based off of its numerical order.
  • textures counts the total amount of textures currently in the game's memory.
  • time changes the speed that the game runs at, with 1 being the default speed. This resets upon death or screen transitions, and also affects menu scrolling speed.
  • titlescreen returns to the title screen. [how is this different from the overworld command?]
  • tracker lists the total entities and effects present on the screen.
  • unlock_doors removes all lock blocks from the screen without an animation.
  • variants toggles Variant Mode for the current save file.
  • vsync toggles vertical sync.
  • window changes the game to windowed mode.
  • wipedebug clears the debug save file.
  • wipes opens a screen showing all vanilla death wipe animations.

Everest changes and features[edit | edit source]

Everest modifies certain features in Debug Mode to fix errors and add small quality-of-life improvements. Some of them include:

  • Changing the Debug Map button to F6, making alt-tabbing out of the game safer.
  • The ability to spawn the player at the cursor's position, done by shift + mouse click.
  • Resetting the map after debug respawn, via ctrl + mouse click. Useful for testing collectibles.
  • Adds "." as an alternate key to open the Debug Console.
  • Makes it possible to leave the Debug Map by pressing the Esc button (in the vanilla game, the only way to leave the map is to use a debug teleport).

Trivia[edit | edit source]

  • Several features in the Debug Map were used to alter the rooms, however, it's not possible to save the changes since the game's release. Some options include:
    • Holding the left mouse button to drag rooms around.
    • F + Left Mouse to create a filler, and F + Right to remove one. It's possible to change their size with the mouse.
    • Ctrl + A to select everything.
    • Ctrl + Z to undo, and Ctrl + X to redo (however due to an error, this feature crashes the game).
    • 1-7 keys change the room colors in the Debug Map.
    • F1 and Ctrl + S are meant to save the changes, but the option doesn't work for unknown reasons.
    • Holding Q displays the order of strawberries.