Python experiment / Game systems
Scrolling space game.
A Space Invaders-style programming exercise that grew into a small moving world with input, projectiles, enemies, collision, and layered scenery.
- Format
- Desktop game prototype
- Input
- WASD movement + mouse
- Systems
- Enemies, projectiles, collision
- Visuals
- Scrolling illustrated layers
01 / GoalLearn by building a complete loop.
Games are compact systems problems. Even a simple one needs input, state, timing, rendering, collision rules, feedback, and a clear start and end. This project used a familiar arcade structure as a reason to make those parts work together.
The player moves with the keyboard and fires with the mouse. Enemies enter the scene, projectiles move independently, collisions remove targets, and the environment scrolls to create a larger sense of motion than the window alone can provide.
02 / SystemsSmall rules, coordinated every frame.
The game loop collects input, advances the world, checks interactions, and redraws the result. Separating those responsibilities makes it easier to change enemy behaviour or add a projectile without turning every new feature into a special case.
- Keep game state separate from drawing so the rules remain understandable.
- Use reusable entities for repeated behaviours such as movement and collision.
- Tune the feedback loop—timing, speed, and response matter as much as correctness.
03 / DemoThe prototype in motion.
The result is a learning project rather than a finished release, but it closes the loop: a player can start, move through the scene, shoot, encounter enemies, and see each system respond.