< back to all projects
$ python voidloop.py

VoidLoop

2D narrative game//Python//Pygame

A 2D narrative game built with Python and Pygame. Atmospheric, story-driven, mood and mechanics over flashy visuals. Made because game dev is the creative outlet that keeps the security work honest.

01

/overview

// what · why

VoidLoop is a small narrative game where atmosphere does the heavy lifting. Pixel art, deliberate pacing, a soundtrack that sits just under the dialogue, and a story that respects the player's time.

Built in Pygame because Pygame forces you to handle the loop yourself — input, update, render — which is the same kind of systems thinking that makes the security work fun. No engine doing the thinking for you, no asset store shortcuts. Every frame is intentional.

The "loop" in the title is both a mechanic and a theme. The player keeps falling into the same scene with slightly different parameters, learning the shape of the world by collision rather than instruction. It's short, it's quiet, and it doesn't hold your hand.

02

/features

// what's in it
  • Hand-tuned 2D pixel art aesthetic
  • Branching dialogue with persistent state
  • Custom Pygame scene manager + event loop
  • Tile-based world with parallax background
  • Atmospheric soundtrack + spatial SFX
  • Save / load with single-file checkpoints
  • Keyboard + gamepad input layer
  • Configurable resolution + windowed / fullscreen
  • No DRM, no telemetry, plays offline forever
  • MIT-licensed source — fork it, mod it
03

/stack

// dependencies
Python 3.10+ Pygame Aseprite Tiled Game Dev Narrative
04

/install

// run the build
bash
# clone, install pygame, launch
$ git clone https://github.com/BitJacker/VoidLoop.git
$ cd VoidLoop
$ pip install -r requirements.txt
$ python voidloop.py

# windowed @ 720p
$ python voidloop.py --window 1280x720

# skip intro for testing
$ python voidloop.py --skip-intro --scene "chapter_02"