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.Ä.