Debug mode is a hidden user interface implemented in computer programs that allows the user to view and/or manipulate the program's internal state for debugging. The debug modes are implemented in every Chicken Invaders game, because it's also included in UVE.
To access this game's debug mode, just press F9 and F10 at the same time. This will bring up the debug menu.
This one is somewhat different from the ones seen in the other games.
In the top-left corner you have the strange framerate system that's been used by InterAction Studios until The Next Wave was released. Each pixel accounts for 1 milisecond. The white bar is representing the time spent by the game's engine to render the screen. The red bar is representing how much time it takes for the game's engine to copy contents over to the "hidden" page (UveDX7 and versions before it copy the contents of a frame to the hidden page first before the one you're allowed to see, to make sure that the screen isn't teared and glitched). The green bar represents how much time it took for the engine to work out the physics and events happening.
This debug menu also allows you to see the wave counting system the game uses, and it uses 3 values. The wave value lists the current wave value and it helps determine on which system/stage you should be on right now. The stage value lists which ordered wave should be in (for referrence, 0 is the first wave and 9 is the boss wave). The system value lists on which "chapter" you're on, determining how hard everything should be.
Other than that, this one also allows you to use Cheats, which are in a completely different order than in the other games. There are four cheats: F5, which shows you the cheat list (you can see it on the photo), F6, which skips a wave, F7, which gives you a missile and a powerup level, and F8, which gives you an extra life (and this is usually impossible in this game).
This game (the original, mind you) and the subsequent ones have three debug modes.
Debug Mode 1
To access this debug mode, edit this game's config file and set the debugMode variable to 1.
This debug mode shows some basic debugging stuff:
- Frame - Lists the fps
- Min - Lists the maximum amount of fps the game can reach (It's kinda useless as it just allows the game to have potentially infinite fps)
- Max - Lists the minimum amount of fps the game can reach - in this case, it's about 250 fps
- Accuracy - Probably lists how accurate the fps count is
- Sprites (left value) - Lists how many sprites are onscreen
- Sprites (right value) - Lists how many sprites there currently are
- Surfaces - Lists the background objects
- Collisions - Lists the amount of collisions the game deals with
- Wave, Stage and System - Those were already explained before
Debug Mode 2
Edit this game's config file and set the debugMode variable to 2.
This debug mode can do what the first one did, and it also shows the pathfinding system used by AI controlled objects.
Debug Mode 3
Edit this game's config file and set the debugMode variable to 3, or any number bigger than 3.
This debug mode can do what the other two did, and in addition to that it can also show you the hitboxes of various sprites and surfaces.
This game (and the other games with updates after 2005) changed the way debug modes are accessed. Now you need to change the debugMode variable, and the debugCode variable, which is a specific code that allows you to use the debug mode. The reason for adding this was because the debug modes were giving people unfair advantage for high scores. The debug codes have been removed from final builds, so the debug modes for Revenge of the Yolk and the subsequent games are inaccessible. And because of that, we will use Island Wars 2 as what this game's debug modes can do, since it was also made on UveDX8.
Debug Mode 1
Edit this game's config file (on Windows it's found on your main disk drive -> ProgramData -> InterAction studios -> CI3 -> Version Number), change the debugMode variable to 1 and change the debugCode variable to... well, we don't know!
This debug mode shows some basic debugging stuff, like frames, and an audio variable. What the frame variables can do has been already explained, but we don't know what's the deal with that mysterious audio variable.
Debug Mode 2
Edit this game's config file (on Windows it's found on your main disk drive -> ProgramData -> InterAction studios -> CI3 -> Version Number), change the debugMode variable to 2 and change the debugCode variable to... well, we don't know!
This debug mode contains more debugging stuff than the previous one:
- Global Clock - It's a timer that lists for how long the game has been on. It's used to determine various things, such as chances or spawning
- Delta - It's unknown what this variable is for
- Tick, Post Tick, Save XForm, Render, Hud, Present, TimerWait, Misc - All of these variables show how much time it takes to render or do something
- Renderables (left value) - Lists how many rendered objects there are onscreen
- Renderables (right value) - Lists how many rendered objects there are overall
- Vertices - Lists the onscreen amount of vertices
- VBuffer Writes - Data buffering
- Collisions - Lists how many collisions the game deals with at the moment.
- Textures - Lists the amount of textures used.
- Textures (left value) - Lists how much memory the loaded textures take.
- Textures (right value) - Lists how much memory the loaded textures are able to take.
- Mouse - Lists the coordinates of your mouse.
Debug Mode 3
Edit this game's config file (on Windows it's found on your main disk drive -> ProgramData -> InterAction studios -> CI3 -> Version Number), change the debugMode variable to 3 and change the debugCode variable to... well, we don't know!
Aside from the debugging stuff featured in the first two debug modes, this one also adds a weird graph that seems to be an another way of listing the framerate.
This debug mode is only known to have existed in Island Wars 2, as Smileyville (the game that was released after it) no longer includes this.
Ultimate Omelette (and onwards)
Since this is still where the debugCode variable is used, we are unable to access the debug modes of these games at the moment. They might be similar to CI3's supposed debug mode, but we're not sure about that, especially since the newer versions of UVE might've brought in some changes.