Space Invaders
University group project (team of four): a CodeSkulptor-style space shooter in Python using SimpleGUI, with menus, enemy waves, missiles and lasers, and an in-game shop. Runs in the browser stack or locally via SimpleGUICS2Pygame, with sprites loaded from hosted URLs.
Space Invaders
Purpose
This was a group coursework module at university: four of us built a Space Invaders-style game on top of the CodeSkulptor SimpleGUI API, which is how the Interactive Python courses teach event loops, drawing, and input without a heavy game engine.
What It Provides
Play and exit flows, waves of enemies, missiles and lasers, ship upgrades through an on-screen shop, and remote-loaded sprites and sounds over HTTP (first run needs network access while assets cache). The canvas size and mechanics are defined in code so behaviour is predictable for marking.
What we built
The repository centres on one large Python file that defines the Game class, UI chrome, and entity sets for ships, enemies, and projectiles. A separate Vector helper module handles 2D vector arithmetic in the same style as the Rice University course materials; that helper is not always shipped in the repo, so you drop it next to the main script when running locally. The code tries browser SimpleGUI first, then falls back to SimpleGUICS2Pygame for offline play.
My role on the team
I was one of four students. Feature ownership was shared across gameplay, UI, and assets; the codebase reflects a joint submission rather than a solo side project, and the brief assumed collaboration inside the same script and asset pipeline.
How I Contributed
Alongside my teammates, I helped shape game state using sets of entities, vector-based movement, and the SimpleGUI draw and update loop. We validated the desktop shim so the same code path could be marked in CodeSkulptor and demonstrated on a local Python install.
Tech used
- Python
- Pygame
