Abgeschlossen · April - Mai
Shadowloot
Ein JavaFX basiertes Text/Click Game mit Fokus auf RPG Elemente
- Java
- JavaFX
- MariaDB

Highlights
- SQL-Abfragen, Enums, JavaFX, Abstrakte Klassen und objektorientierte Grundlagen praktisch vertieft
Shadowloot ist ein textbasiertes JavaFX-Spiel, das sich an klassischen RPGs und Dungeon-Crawlern orientiert. Das Projekt verbindet Account- und Charakterverwaltung mit einer zufallsbasierten Spiellogik, einem Shopsystem und administrativen Funktionen.
Der Backend-Code und die Spiellogik wurden überwiegend von mir entwickelt. Bei der Gestaltung und Umsetzung des Frontends habe ich unterstützend mit KI gearbeitet. Im Folgenden stelle ich einige der wichtigsten Funktionen vor.
Registrierung und Anmeldung
Nach dem Start landet der Spieler zunächst auf der Login-Seite. Dort kann er sich mit einem bestehenden Account anmelden oder direkt einen neuen Account erstellen.


Account- und Charakterverwaltung
Nach der Anmeldung öffnet sich die zentrale Übersichtsseite. Von hier aus lassen sich die hinterlegte E-Mail-Adresse, das Passwort und der Benutzername ändern. Außerdem können die eigenen Account- und Charakterinformationen eingesehen oder der aktuelle Charakter zurückgesetzt werden.
Spieler mit den entsprechenden Berechtigungen erhalten zusätzlich Zugriff auf einen Administrationsbereich. Dort können sowohl Accounts als auch Charaktere verwaltet werden.



Spielübersicht und Shop
Über den Button „Spielen“ gelangt der Spieler zur Hauptansicht. Dort kann er den Dungeon betreten oder den Shop besuchen. Im Shop lassen sich mit dem erspielten Gold verschiedene Gegenstände erwerben.
Zusätzlich gibt es eine Rangliste sowie weitere Möglichkeiten zur Verwaltung des eigenen Charakters.



Der Dungeon
Der Dungeon bildet den eigentlichen Kern des Spiels. Beim Betreten wartet zunächst immer ein Monster. Danach wird für jede weitere Ebene zufällig bestimmt, welches Ereignis eintritt.
Mögliche Begegnungen sind unter anderem:
- normale Gegner
- leere Räume
- Fallen
- Schatzkisten
- Bosse
- Lootgoblins


Bosse besitzen mehr Lebenspunkte, verursachen höheren Schaden und belohnen den Spieler entsprechend besser. Lootgoblins funktionieren etwas anders: Sie können mit einer bestimmten Wahrscheinlichkeit Gegenstände fallen lassen, aber auch vor dem Spieler fliehen.

Rückblick auf das Projekt
Shadowloot ist ein vergleichsweise kompaktes Projekt, in das ungefähr 30 bis 40 Arbeitsstunden geflossen sind. Während der Entwicklung habe ich regelmäßig neue Lösungswege entdeckt, bestehende Funktionen überarbeitet und mein Verständnis für objektorientierte Programmierung weiter vertieft.
Das Projekt ist während meiner Umschulung entstanden. Zu dieser Zeit habe ich beinahe täglich neue Methoden, Entwurfsmuster und Möglichkeiten kennengelernt, mit denen ich bereits geschriebenen Code besser hätte strukturieren können. Genau das macht Shadowloot für mich zu einem interessanten Zwischenstand meiner Entwicklung.
Warum ist der Quellcode nicht auf GitHub?
Der aktuelle Code bildet nicht mehr den Stand ab, auf dem ich heute entwickle. Viele Bereiche würde ich inzwischen anders strukturieren, stärker voneinander trennen und an einigen Stellen performanter umsetzen.
Anstatt ein älteres Projekt lediglich aufzuräumen, möchte ich die gewonnenen Erfahrungen lieber in kommende Anwendungen einfließen lassen. Shadowloot bleibt deshalb vorerst ein privates Projekt – und gleichzeitig ein ziemlich guter Beleg dafür, wie viel man innerhalb kurzer Zeit dazulernen kann.

Fazit
Was ich aus dem Projekt mitgenommen habe
- JavaFX erstmals bewusster für eine grafische Oberfläche eingesetzt
- Abstrakte Klassen und Interfaces gezielter in die Architektur eingebunden
- Ein deutlich besseres Verständnis für Enums entwickelt
- Gelernt, größere Softwareprojekte früher zu planen und sauberer zu strukturieren