2D OpenGL gameworld

Explore a procedurally generated 2D gameworld with mazes and sokoban sublevels. Shows basic OpenGL, texture tilemap, and geometry shader usage examples.

Yet another boring block adventure (yabba) comes with a procedurally generated 2D/pseudo-3D gameworld including mazes and sokoban sublevels to find and solve. Apart from a generic OpenGL setup with geometry shaders for simple 3D models, it mainly shows the basic usage of a texture tilemap on a mesh including static sprite animations.

The goal is to find and solve all levels hidden in the overall gameworld – and to avoid getting trapped in a maze. As I stopped working on it after the “basically works” and “looks ok” state, it should rather be considered a PoC or engine to build on for upcoming ideas. There was not enough time or creativity for a proper concept, story, or elaborated looks.

In-Game Screenshot

Game installation & controls

Download the pre-built package provided below or build from source using make, which requires headers and libraries for GLEW, glfw, GL, GLU, and pthread. The game accepts the following optional runtime arguments:

--window[=WIDTHxHEIGHT]
Run in windowed mode with given dimension in pixels. The default is to run fullscreen with native resolution.
--seed=…
Set the seed (32bit unsigned integer) for level generation. Otherwise, one is pseudo-randomly chosen.

After startup, the controls are as follows:

Code & Download