Inspiration

We wanted to create a puzzle-platformer with a mechanic that felt fresh and strategic. The idea behind The Lazarus Project was simple: make switching between human and ghost form the core of both movement and puzzle-solving. That gave us a strong theme and a mechanic that shaped every level.

What it does

The Lazarus Project is a 2D puzzle-platformer built in Python with Pygame. Players must escape a dangerous underground facility by using two different forms:

  • Human form for jumping, pushing boxes, activating levers, and interacting with the environment
  • Ghost form for passing through ghost barriers and reaching areas the human form cannot

The challenge comes from knowing when to switch forms and how to use limited ghost bursts efficiently.

How we built it

We built the game using Pygame, with a custom level system based on tile maps and object placement. We implemented mechanics such as gates, levers, pressure plates, boxes, hazards, lava, checkpoints, and moving platforms, then designed levels around teaching and combining those systems.

Challenges

The biggest challenge was balancing the ghost mechanic. Early versions made it too powerful, so we reworked it into a limited burst system to make every use more meaningful. We also spent a lot of time refining collision logic so hazards, ghost barriers, and solid tiles all behaved correctly in different player states.

What we learned

This project taught us a lot about gameplay iteration, level design, and building state-based mechanics in Python. We also learned how much small changes in movement, timing, and level layout can affect the feel of a game.

What's next

With more time, we’d expand the level set, improve visual polish and audio, and develop the world and story behind the Lazarus experiment.

Built With

Share this project:

Updates