Discordia is paused: in the meantime this domain hosts my portfolio.

All projects
on GitHub

VoidLoop

A top-down 2D shooter in Python and Pygame, with five game modes, multi-phase bosses and same-keyboard co-op.

VoidLoop gameplay The video loads from YouTube only when you press play. Open on YouTube

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.