War On Cat
Earlier university project · Console game
My first time ever writing C++ code, this early project renders an arcade shooter through the Win32 Console API rather than a game engine. The renderer clears an array of CHAR_INFO cells, draws static and animated sprites into that buffer, then submits the frame with WriteConsoleOutput. Coloured characters represent the player, enemies, and missiles within a fixed 256 by 96 cell display.
The game coordinates menu, gameplay, round transition, and end states. The player moves in four directions and fires horizontally as a wave of 50 invaders approaches. Rectangular collision tests handle ships and projectiles, while the interface tracks score and three lives. The fixed console dimensions are a known limitation when running on smaller screens or with increased display scaling.
Technical highlights
- A custom framebuffer draws the scene through WriteConsoleOutput.
- Animated sprites, rectangular collision checks, and enemy missiles.
- Menus, a score display, three lives, and transitions between game states.
Technical details
Console rendering
Each frame clears an array of CHAR_INFO cells, draws the active sprites into that buffer, and submits the result to the Windows console. Static and animated sprite classes provide the drawing primitives without a third party game engine.
Game flow
The game coordinates menu, gameplay, round transition, and end states. The player moves in four directions and fires horizontally while enemies approach from the right. Rectangular collision checks handle ships and missiles, with separate displays for score and remaining lives.
Project context
Preserved as an example of earlier university work. The fixed display of 256 by 96 console cells can cause positioning problems on smaller screens or with increased display scaling.