Air Superiority Combat II (ASCII) is a simple side-scrolling shooter game that gets progressively harder over time. The game takes place in the skies, where the player takes control of a spitfire and must destroy all enemy planes emerging from the right side of the screen. Every time a plane reaches the left side of the screen, the player loses a life.
ASCII makes full use of the 4-bit colour palette available in the Windows console. Sprites are defined by 2D arrays of CHAR_INFO structs, which are basically the console’s version of pixels. Usually, each sprite would have to be typed out manually, specifying the foreground and background colours for each pixel. However, knowing that this would take a lot of time, I made it possible to load 24-bit TGA images and convert them in to CHAR_INFO buffers, making a best approximation for each pixel.
This saved a lot of time for this assignment – without this feature, it would be impractical to make use of colourful sprites.
The player has 3 lives, indicated by the symbols at the top of the screen. A life is lost whenever an enemy plane reaches the left side of the screen, or the player is destroyed.
There are 3 enemy variants with different properties such as speed, fire rate, health, and appearance. Part of the game’s difficulty is more frequent and more powerful planes appearing over time. Every plane has a red health bar positioned above the sprite.
Score is earned every time an enemy plane is destroyed and displayed at the top left. The goal of the game is to last as long as possible.