Skip to content
Snippets Groups Projects
Leon Niklas Lux's avatar
a7468638
History

C++ Abschlussprojekt - Binding of Isaac Klon

Allgemeines

Buildanleitung

Das Projekt hat einige Dependencies, die vorhanden sein müssen, damit erfolgreich gebaut werden kann:

  • SDL2
  • SDL2_image
  • Box2D (v2.4.*)
  • QT6
  • Boost

Die Dependencies am Besten mit dem Package Manager der jeweiligen Linux-Distribution installieren. Sind alle Dependencies vorhanden, kann das Projekt mithilfe von folgendem Kommando compiled werden:

cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=RELEASE
cmake --build build

Im build Ordner liegen dann Spiel, Editor und die gemeinsame Library, sowie alle Assets (Tilesheet, HDF5-Datei), die von den Anwendungen benötigt werden.

Gruppeneinteilung

Es fand eine grobe Aufteilung nach Meilensteinen statt, wobei häufig gewechselt wurde, um sich gegenseitig zu helfen. Die Zuständigkeiten können folgendermaßen zusammengefasst werden:

  • Jannik / Sirulex (Gameplay, Engine, Rendering)
  • Moritz / Shochraos (Integration Box2D, Gameplay)
  • Julian (Editor mit QT)
  • Lara (Spritesheet, Einbindung in das Spiel)
  • Paul (HDF5 mit HighFive, Verwaltung von Gegnern in HDF5)
  • Richie (HDF5 mit HighFive, Verwaltung von Räumen in HDF5)
  • Leon / Lachstec (CI, Integration HDF5 Library mit Rest, bisschen Editor, Bugfixing)

Features

  • Bullet-Physik mithilfe von Box2D
  • Rendering mithilfe von SDL2
  • Speichern von verfügbaren Räumen, Gegnern und Objekten in HDF5
  • QT6 Editor, welcher Level erstellen und Gegner platzieren kann
  • Konfiguration des Editors mit XML (Boost PTree) und CRTP
  • Mehrere Räume pro Level

Ausblick

  • Prozedurale Levelgenerierung aus vorhandenen Räumen
  • Levelwechsel
  • Bosskämpfe
  • Items / Skilltree / o.Ä.