Winged Warfare
A fast-paced, action-packed retro arcade dogfighting game capturing the charm of 90s cabinet shooters. It combines an inertia-based vector physics model with particle effects and a collision system, requiring the player to maneuver a fighter jet across a massive, scrolling sky map.
Timeline
2 months
Year
2024
Platform
Desktop Game


Architecture & Stack
Python
Used to build the object-oriented structure of the game code, handle collisions, and calculate movement coordinates.
Pygame
Responsible for rendering graphics, handling keyboard events, capping frames (FPS cap), and playing a retro arcade soundtrack.
Adobe Photoshop
Used to design the entire sprite sheet, prepare textures, and create visual effects (VFX) for explosions and projectile trails.
Audacity
Used for professional processing of sound effects: cutting, filtering, and mixing audio tracks to give the game the atmosphere of an authentic arcade cabinet.
The Engineering Challenge
Winged Warfare is a classic 2D arcade plane combat game where you pilot a retro fighter jet across a vast, smoothly scrolling map. Working on this project gave me a mountain of satisfaction! I wrote it in Python using Pygame to practice low-level game loop architecture, particle system generation, and physics simulation in practice. The game offers smooth camera tracking, enemy AI machines that trail you, explosive sound effects, and spectacular weapon trails in pixel art.
My goal was to perfectly recreate the vibe of dynamic 90s arcade games. The biggest technical challenge was achieving a smooth pseudo-3D effect for flat fighter jet graphics – I wrote the sprite matrix transformation math, which rotates the graphic in real time based on the flight direction vector.
For the dogfights to be fun, flight physics and momentum had to be perfectly balanced. I built a lightweight entity engine in Pygame, balancing calculations for thrust, air resistance, and gravity so that controlling the plane feels maximally smooth, responsive, and satisfying.
Interface Gallery
2 views
