Post

Pitfall 3D

Full gameplay

About the Project

My second project at BUas, an endless runner built in a custom 3D engine targeting the Raspberry Pi. Despite the Pitfall name given by the school, the result ended up closer to Temple Run than the classic Atari game.

Team: solo
Duration 8 weeks
Engine: Custom engine


Overview

Building on the previous project, this time I was working in 3D with OpenGL on a platform other than PC. The engine was custom built and had to run on the Raspberry Pi, which added hardware constraints on top of everything else.

On top of the renderer I built a tile-based level system that spawns sections ahead of the player with randomised obstacles and collectables, integrated Bullet for 3D physics and collision detection, implemented skeletal animations, and added an ImGui panel for adjusting the character mesh scale and rotation at runtime.


The Game

Start and end conditions

3D collision detection using Bullet

Live editor using ImGui

The game is an endless runner where the player moves through a procedurally generated level, collecting pickups and avoiding fence obstacles.

This was my first time working with a graphics API directly, integrating a third-party physics library, and targeting hardware with real constraints. Getting skeletal animation working inside a custom engine and building a runtime tile spawning system were both new territory. The Raspberry Pi target made everything harder in a useful way - you can’t ignore performance when the hardware forces the issue. Coming from Unity I understood 3D concepts, but doing it without an editor or engine abstractions made the gap between “understanding something” and “being able to build it” very clear.

This post is licensed under CC BY 4.0 by the author.