Projektkontext
Vue Creature Battle Simulator entstand im Wintersemester 2022/23 im Modul Grafische Bedienoberflächen.
Das Projekt war ursprünglich als Vue-basierter Battle-Prototyp mit externer Datenquelle aufgebaut. Für die Portfolio-Darstellung wurden direkte Bezüge zu geschützten Marken entfernt oder maskiert.
Spielziel
Ziel des Spiels ist es, mit einer ausgewählten eigenen Kreatur möglichst viele gegnerische Kreaturen nacheinander zu besiegen.
Nach jedem besiegten Gegner erscheint automatisch ein neuer Gegner. Die Anzahl besiegter Gegner wird als Streak gezählt und ist der zentrale Fortschrittswert des Spiels.
Für jeden besiegten Gegner erhält die eigene Kreatur 50 Prozent ihrer maximalen Lebenspunkte zurück. Dadurch entsteht ein Ressourcenmanagement: Ein einzelner Kampf darf nicht isoliert betrachtet werden, weil verbleibende Lebenspunkte in die nächste Begegnung übernommen werden.
Funktionsweise
Die Anwendung ermöglicht die Auswahl einer eigenen Kreatur über eine numerische Eingabe. Nach der Auswahl werden Basiswerte, Typen und verfügbare schadensbasierte Moves angezeigt.
Anschließend wählt der Nutzer vier Moves aus. Danach wird automatisch eine gegnerische Kreatur erzeugt und der Kampf kann gestartet werden.
Der Kampf läuft rundenbasiert ab. Berücksichtigt werden unter anderem Initiative, Move-Typen, physischer oder spezieller Schaden, Trefferwahrscheinlichkeit, Typenboni und Typen-Multiplikatoren.
Kampflogik
Das Kampfsystem verzichtet bewusst auf Heilmoves und Statuseffekte. Dadurch konzentriert sich die Logik auf direkte Schadensberechnung, Lebenspunkte, Angriffswerte, Verteidigungswerte, Spezialangriff, Spezialverteidigung, Initiative und Typenrelationen.
Jeder Move verursacht direkten Schaden und besitzt einen Typ, eine Stärke, eine Genauigkeit und eine Schadensklasse. Die Schadensklasse entscheidet, ob Attacke und Verteidigung oder Spezialangriff und Spezialverteidigung verwendet werden.
Die Komplexität entsteht nicht durch Statusbedingungen, sondern durch die Kombination aus Typenvorteilen, Trefferwahrscheinlichkeit, Initiative, begrenztem Leben und der teilweisen Regeneration nach besiegten Gegnern.
Gegnerwellen und Lebensmanagement
Nach einem besiegten Gegner wird die eigene Kreatur nicht vollständig geheilt. Stattdessen werden 50 Prozent der maximalen Lebenspunkte wiederhergestellt.
Wenn die eigene Kreatur bereits wenig Leben hat, kann ein Sieg zwar kurzfristig helfen, garantiert aber keinen sicheren nächsten Kampf. Dadurch wird die Move-Auswahl strategischer, weil hoher Schaden, Typenvorteile und Initiative direkten Einfluss auf die Überlebensdauer haben.
Das System erzeugt eine einfache, aber wirksame Risiko-Nutzen-Struktur: Ziel ist nicht nur, einen einzelnen Gegner zu besiegen, sondern möglichst effizient durch mehrere Gegner hintereinander zu kommen.
Vergleichsansicht
Neben dem Kampffenster zeigt eine Vergleichsansicht die eigene Kreatur links und die aktuelle gegnerische Kreatur rechts.
Die Vergleichsansicht aktualisiert sich automatisch bei einem Gegnerwechsel und stellt Stats, Typen, Größe und Gewicht gegenüber.
Die Ansicht unterstützt die Einschätzung der aktuellen Begegnung, ohne echte Namen oder erkennbare Franchise-Darstellungen offenzulegen.
Zensierung und Portfolio-Fassung
Für die Portfolio-Fassung wurden sichtbare Namen, Suchlogik, direkte Franchise-Begriffe und erkennbare Sprite-Darstellungen entfernt oder stark maskiert.
Die gezeigten Screenshots verwenden neutrale Bezeichnungen wie Creature A, Creature B und Move A bis Move D. Sprites werden nur stark verfremdet dargestellt.
Technische Umsetzung
Die Anwendung wurde mit Vue, JavaScript und CSS umgesetzt. Die Spiellogik ist komponentenbasiert aufgebaut und trennt Auswahl, Move-Verwaltung, Gegnergenerierung, Kampffenster und Vergleichsansicht.
Die Kommunikation zwischen Kampflogik und Vergleichsansicht erfolgt über ein Event-basiertes Update, sodass die Sidebar automatisch den aktuellen Kampfzustand übernimmt.
Die Schadenslogik arbeitet mit Basiswerten, Move-Daten, Typenrelationen, Trefferwahrscheinlichkeit und aktuellen Lebenspunkten. Gegner werden nach einem Sieg neu erzeugt, während der Zustand der eigenen Kreatur teilweise erhalten bleibt.
Ergebnis
Das Projekt wurde im Modul Grafische Bedienoberflächen im Wintersemester 2022/23 mit der Note 1,6 abgeschlossen.

