Skip to content

Debug Menu Best Practices

You are here:
Estimated reading time: 2 min

Debug Menus

When developing a title debug menus make the testing process a lot easier, because it will allow QA to circumvent game breaking bugs or set up specific circumstances to test things. The menu itself can be simple. In the case of a retro game it can just be text on a black screen. In the case of a modern platform it can be a simple overlay that appears on screen. The contents of a debug menu will vary from title to tile, but below are some best practices of what should be in any debug menu for a project.

 

Menu Settings

The basic settings that should be found in any debug menu are the following:

 

Infinite Lives – A simple on/off toggle for the lives counter in the game

Infinite HP – A simple on/off toggle for invincibility

Infinite Ammo – If the game features a limited amount of ammo for attacks then the user should be able to have an infinite amount if they choose

Infinite Currency – If the game features some kind of currency then the user should be able to have an unlimited amount if they choose

Set Currency – If the game has a form of currency in it then the user should be able to set a specific amount of currency to start with

Unlock Levels – If the game features a world map then you should have the ability to unlock all of the levels on the map

Level Select – If the games does not feature a world map, then instead of unlocking the levels, the user should be able to scroll through a list of levels and choose to load a specific one

Unlock Player – If the game features abilities that are unlocked over the course of the game, then the user should have the ability to start a game up with all abilities unlocked

Sound Test – The user should be able to scroll through the sound effects and play them

Music Test – The user should be able to scroll through the music tracks and play them

Music Toggle – An On/Off toggle for music in the game

Sound Toggle – An On/Off toggle for SFX in the game

 

Other projects may need to take care of other considerations such as player movement speed and physics. This is more important in modern platform titles where those elements may be more dynamic. Those needs will need to be served on a case by case basis following the best judgements of the developer and producer on a project.

 

Accessing the Debug Menu

The way a user accesses the debug menu will vary depending on platform. In order to make the testing process easier the inputs of these will be standardized per platform.

 

NES – The user presses Up, Up, Up, Down, A on the title screen

 

SNES – The user presses Up, Up, Up, Down, A on the title screen

 

Genesis – If the game is only going to use a three button controller then the user can access it by pressing X on a six button controller on the title screen.

If the game uses a six button controller then the user presses Up, Up, Up, Down, A on the title screen

 

Unity Projects – The user presses ~ at any time

 

Unreal Projects – The user presses Shift+~ at any time

 

In the case of a modern platform title the debug menu can be removed at the end of the development cycle, though it should be maintained so that updated builds with the menu can still be requested by the team. The options in the debug menu are extremely useful in the case of recording footage for marketing purposes after the development cycle has ended. Retro Games can keep the debug menus as long as they are locked behind the standardized input code. (NOTE: This means that Genesis games will ultimately need to have the debug menu tied to the input code whether it is a three or six button game)

Was this article helpful?
Dislike 0
Views: 0
Back To Top