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 the games' engine.
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 Chicken Invaders 2 first 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 (UVE copies 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 CI2'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 CI2'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 CI2'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.
Note: This is where we hit a roadblock. That's because since this game (and the other games with updates after 2006) changed up the accessing of the debug modes. Now you both require to put in the debugMode variable, and the debugCode variable, which is a specific code that allows you to use the debug mode. And because we don't know at the moment what those codes are, we are unable to access the debug modes for Chicken Invaders 3 and the subsequent games. 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 CI3'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 CI3'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 CI3'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.
Chicken Invaders: 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. So, until we get the debug codes, we won't have any idea of what these games' debug modes are.