Debug mode

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

## Chicken Invaders (game)

### Accessing

To access this game's debug mode, just press F9 and F10 at the same time. This will bring up the debug menu.

### Features

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 missileand a powerup level, and F8, which gives you an extra life (and this is usually impossible in this game).

## *The Next Wave*

This game (the original, mind you) has three debug modes.

### Debug Mode 1

#### Accessing

To access this debug mode, edit this game's config file and set the debugMode variable to 1.

#### Features

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

#### Accessing[1]

Edit this game's config file and set the debugMode variable to 2.

#### Features[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[3]

#### Accessing[4]

Edit this game's config file and set the debugMode variable to 3, or any number bigger than 3.

#### Features[5]

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.

## Island Wars 2

### Debug Mode 1

#### Accessing

Edit IW2's config file (on Windows it's found on your main disk drive -> ProgramData -> InterAction studios -> IW2 -> Version Number), change the debugMode variable to 1 and change the debugCode variable to... well, we don't know!

#### Features

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

#### Accessing

Edit IW2's config file (on Windows it's found on your main disk drive -> ProgramData -> InterAction studios -> IW2 -> Version Number), change the debugMode variable to 2 and change the debugCode variable to... well, we don't know!

#### Features

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

#### Accessing

Edit IW”'s config file (on Windows it's found on your main disk drive -> ProgramData -> InterAction studios -> IW2 -> Version Number), change the debugMode variable to 3 and change the debugCode variable to... well, we don't know!

#### Features

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.

## *Revenge of the Yolk*

This game's accessing method is different. To access them, you need to open the Debug Console and enter the "debug [number]" command. This method will only work in versions before 3.63 (2010). They can be no longer accessed through the debugMode variable as it needs a debugCode variable which has been since removed. You can also have different debug modes enabled at the same time. 8 Debug Modes are present.

### Debug Mode 1

#### Accessing[6]

The debug command needs an odd number to be entered (1, 3, 5, etc.)

#### Features[7]

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[8]

#### Accessing[9]

The debug command needs every second even number or the number after that entered (2, 3, 6, 7, 10, 11, etc.)

#### Features[10]

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[11]

#### Accessing[12]

The debug command those numbers to be entered - 4-7, 12-15, etc.

#### Features[13]

This debug mode shows a weird graph which shows the framerate.

### Debug Mode 4[14]

#### Accessing[15]

The debug command those numbers to be entered - 8-15, 24-31, etc.

#### Features[16]

This debug mode shows borders for the sprites onscreen.

### Debug Mode 5[17]

#### Accessing[18]

The debug command those numbers to be entered - 16-31, 48-63, etc.

#### Features[19]

This debug mode shows a red dotted circle around the sprites.

### Debug Mode 6[20]

#### Accessing[21]

The debug command those numbers to be entered - 32-63, 96-127, etc.

#### Features

This debug mode shows a white dotted circle around the sprites and the center of the circle as an X.

### Debug Mode 7[22]

#### Accessing

The debug command those numbers to be entered - 256-511, 768-1023, etc.

#### Features[23]

This debug mode is probably the most useful one out of them all. It shows the enemy movement patterns, their health, their hitboxes, and the chapter/wave/stage values from *The Next Wave*, except this time they are shown as planet/wave/waveInPlanet. This debug mode is the reason why InterAction studios made this feature harder to access. It gave players unfair advantage over those who didn't use it.

This debug mode is only present in *Chicken Invaders* games.

### Debug Mode 8

#### Accessing[24]

The debug command those numbers to be entered - 512-1023, 1536-2047, etc.

#### Features

This debug mode shows some internet related stuff, such as packets sent, enemy targets, player objects, and others.

This debug mode is only present in *Chicken Invaders* games.

## *Ultimate Omelette* (and onwards)[25]

As the Debug Console is inaccessible in *Ultimate Omelette* and games with updates after it, we are unable to access them. They should be similar to the ones seen in *Revenge of the Yolk*.