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.