VoidLoop
A top-down 2D shooter in Python and Pygame, with five game modes, multi-phase bosses and same-keyboard co-op.
What it is
VoidLoop is a top-down 2D shooter. You’re trapped in a digital simulation: collect data fragments to fill the synchronisation bar while you survive waves of enemies. Between levels, you spend the coins you’ve earned on weapons in the shop.
What’s in it
- Five game modes: story, with a boss every five levels; endless; time attack; boss rush; horde.
- Four enemy types — normal, tank, sniper and kamikaze — each with its own way of moving and shooting.
- Three-phase bosses that change how they move and attack as they lose health.
- Dash and sprint for dodging, timed power-ups (shield, speed, double damage, rapid fire), combos that pay out extra coins, and from level three, walls to use as cover.
- Two players on one keyboard, automatic saves, and dialogue in Italian, English, Spanish and French.
Technical choices
All Python with Pygame, no game engine: enemies, bosses, particles,
collisions and saves are logic I wrote myself, in a single file of about a
thousand lines. You start it with play.py, where you pick the mode,
difficulty and language.
Status
Finished, the code is on GitHub: you can download it and play, but the licence doesn’t allow modifying or redistributing it.