Back to all projects

Game Development / OtherCompleted

Dystopia - 2D Platformer

A platformer built directly in Python and Pygame

A 2D platformer I built directly in Python and Pygame, without using a game engine.

My role
Project Lead & Developer
When
3 months · early project
Context
Project lead & developer with collaborators
01 / THE OVERVIEW

What I set out to build

I wanted to make a real game before I knew much about game development. Without an engine, even basic things like movement, collision, rendering, state, and level behaviour had to be implemented directly.

My contribution

  • Led the project and contributed design and programming.
  • Worked on the game loop, rendering, movement, collision handling, and enemy behaviour.
  • Added tile-based level tooling and JSON persistence.
  • Built directly in Python and Pygame without a game engine.

Problem & approach

I built the game with collaborators in Python and Pygame. I had to break it into systems, debug the interactions between them, and keep adding features without losing track of the code. Player and enemy entities, tile maps, rendering, and screen states are separated; a custom editor saves and loads levels as JSON.

How it works

  1. 01

    Run the loop

    Run a custom game loop.

  2. 02

    Update state

    Read input and update player/world state.

  3. 03

    Resolve collisions

    Resolve movement and collisions.

  4. 04

    Render

    Render the level, entities, and interface each frame.

  5. 05

    Change screens

    Move between game states and level logic.

Results & progress

No game engine
Python + Pygame
Custom editor
Level tooling
  • A complete playable 2D platformer and one of my first substantial software projects.

Screenshots

Limits & lessons

Limitations

  • An early collaborative project that shows my progression, rather than production game-engine work.

What I learned

  • Dystopia matters to me because it was the first time I really felt what it was like to keep pushing through a software problem until a large thing existed. It taught me debugging, decomposition, and how quickly code becomes difficult to manage when systems are not separated well.
Another projectAI Dungeon Master