Game Development

2D Adventure Game in C++

C++ raylib Game Development Procedural Generation
View on GitHub

Overview

A 2D top-down shooter developed in C++ as part of a group project at DHBW Lörrach. The player navigates procedurally generated rooms, fights enemies, and fires projectiles — with each new room increasing in difficulty.

Gameplay

The player controls a character from a top-down perspective. Movement and shooting are the core mechanics. Rooms are generated procedurally, meaning no two playthroughs are identical. Enemies, obstacles, and layout all scale in complexity as the player progresses, keeping the difficulty curve consistent without hand-crafted levels.

Architecture

The codebase is structured around distinct game entities, each with its own source and header files:

Class Role
Player Movement, input handling, health
Enemy AI behaviour, pathfinding
Bullet Projectile physics and collision
Hindernisse Obstacle placement and collision
Rooms Procedural room generation and transitions

Tech Stack

  • Language: C++
  • Graphics library: raylib — lightweight, no external dependencies
  • Compiler: MSYS2 / ucrt64 toolchain

Context

Developed as a second-semester group project at DHBW Lörrach, alongside the Film Management System. The project covers core object-oriented design, real-time game loops, collision detection, and procedural content generation.