Prison Break
Escape Big Sister

| |
| Design | Level Design · Systems Design |
|---|---|
| Programming | AI Programming · Gameplay Programming · Graphics & Rendering · Physics Programming |
| Audio | Audio Implementation |
| Genres | Platformer · Stealth |
Use stealth and parkour to break out of a prison of cold, unfeeling machines. Can you Escape Big Sister's watchful eye?
I designed it and built it in Python on Pygame, with no engine, so every system was written by hand. Cauã Bassin contributed maps, sprite work and bug fixes.
The project
Prison Break: Escape Big Sister is a 2D stealth platformer I made in 2024 with Cauã Bassin for a university course. The course asked for PPlay, but I chose Pygame to have more features at my disposal, and for the chance to build something closer to from scratch. There’s no game engine, so every system had to be written by hand.
My role
My job was to design the game and build its core: the player, the enemies, the stealth rules, the look and the sound.
What I did
I made 18 of the project’s 33 commits between May and July 2024. The finished game is about 4,300 lines of Python across 28 modules.
Player controller. I built the player controller with 19 states, including walking, running, crouch walking and crouch running, hanging, rolling, a backflip, and slide jumps.
The hardest part was chaining them: a standing jump that turns into a backflip, lands in a slide, and lets you slide jump out of it, possibly into a wall. It took a lot of messing around, and sliding in general was the most troublesome. The idle animations that play after 10 seconds of standing still took me a whole day on their own, since some stop on their last frame and only go back to the default idle once you move.
Looking back, the states lived in a long chain of if and else checks, which is a big part of why chaining them was so hard. Today I’d build the controller as a proper state machine from the start.
I also wrote the collision system and integrated the Tiled maps.
Soldier AI. Soldiers see through a vision area and two line-of-sight checks, one to the player’s head and one to their feet, that tiles can block, and they give chase once they spot the player. Two checks because the player can cling to ceilings, where sometimes only their feet are in view.
Hearing. I added parkour and speed, and wanted something to balance them and make the stealth more interesting. So the faster you go, the more noise you make, which turns speed into a risk and reward choice. I designed and built the hearing system. Whistling sends out an expanding sound sphere that draws soldiers toward where it came from, and a soldier who is already chasing sends out spheres of its own that alert the others.
Look and sound. I added atmospheric lighting and an animated noise overlay generated with Pillow. I wrote the audio module, with music fades, sound effect channels and stingers, and added the music and sound effects.
Levels. I designed and built stages, reworked the first one, and added the title screen and the ending.
Painless deaths. When you die, you respawn almost instantly. Dying and trying again should feel like part of the game, not a failure state, the way it does in fast platformers like Super Meat Boy and Celeste.
Cauã built the first maps, the stage transition system and its memory cleanup, the crouch walking sprite, and several bug fixes.
Outcome
The game is playable as a prototype in the browser on itch.io, with a downloadable version that runs on Python.
The biggest lesson was code architecture. Build it to scale, keep it simple, and make it out of basic components.
Screenshots from the game’s trailer.