Andere Teile der Kampfsequenz Überarbeitung:
Das Verteidigungs-Minispiel hat jetzt auch eigene Grafiken und Bilder, ursprünglich habe ich eine Amulett hierfür erstellt, aber das änderte sich im laufe der Konzeption zu einem Schild, was auch mehr sinn macht im Kontext der Verteidigung.
Die Projektile bekommen noch Thematische Anpassung, zum Beispiel Krallen für Kreaturen oder Zähne für Fische.
Die Grafiken für das Minispiel wurden wieder Traditionell mit Aquarelle Farben und Microns erstellt. Ich nutze hierfür ein 300g Wasserfarbepapier mit feiner Körnung auf A4 um etwa das selbe Lineweight zu anderen Objekten hinzubekommen.
Auch empfehlenswert ist ein guter Zirkel.
Die Szene ist jetzt auch von Außen steuerbar, mit einer Funktion welche die Key-Variablen zu beginn des Minigames verändert.
Bei der Implementierung in die Kampf-Szene gab es ursprünglich ein Paar Probleme, da die Child-Objekte der Projektile nicht in der Szene sondern über dieser erstellt wurden, was zur Folge hatte, das sie nicht gelöscht wurden beim löschen der Szene.
Die Falsche Line:
#get_parent().call_deferred("add_child", duplicatedCharacter)
Der Fehler wurde hiermit behoben:
$Spielfeld.call_deferred("add_child", duplicatedCharacter)
In der Rotation musste dann auch noch die Position des Spielfelds herausgerechnet werden, um die Projektile nicht versetzt zu haben.
Duplikation:
Rotation:
Der Schild hat zu beginn ein Highlite um sicherzustellen das der Spieler seinen Spielstein findet.
Nach drei Sekunden beginnt eine Fade Animation welche eine Sekunde dauert um es etwas angenehmer fürs Auge zu gestalten.
Das Minispiel hat nun auch eine Win-Condition, welche zu beginn der Sequenz definiert werden kann.
Für Fairnis gibt es auch einen Puffer ab welchen man erst Schaden bekommt, als Standard ist hier 10% der Projektile zum Sieg.
Es ist noch ein bisschen zu Tun hiermit, aber die Minispiel Sequenz hier transformiert den Turn-Based-Combat des Spiels von einem glorifiziertem Weiter klicken zu einem Spiel.
Bei mehr interesse, folge mit gerne auf Twitch, BlueSky oder Discord!