@@ -127,6 +127,28 @@ Die Kamera sollte sich erst mit dem Spieler mitbewegen, wenn dieser einen bestim
**GegnerAI**
Um das Spiel spannend zu gestalten investierte Alex viel Zeit in das entwickeln der Gegner Ai gesteckt. Hierfür wurde ein Enemy script erstellt, welches das gesamte Gegnerverhalten steuert. Alle Einheitentypen werden hierfür von einem Script gesteuert, welches entscheidet ab welcher Reichweite beispielsweise ein Gegner angreifen darf oder auch wann er ausweichen sollte. Um dies zu gewährleisten wurde eine Statemachine entworfen welche die verschiedenen Zustände und verhaltensweisen beinhaltet.
Diese beinhalten die Zustände:
Follow: Sucht den gegner und äuft auf ihn zu.
Attack: greife den nächsten Spieler an.
Flee: läuft von Spielern weg und schafft so mehr abstand zwischen ihnen.
Dodge: Weiche dem nächsten Spieler Projektiel aus indem er im 90° Winkel dazu davon läuft.
Diese Verhaltensweisen wurden durch verschiedene Parameter beeinflusst, welche beim inizieren der Gegner zufällig in einem bestimmten Bereich gesetzt wurden. Dadurch konnten wir jeden Gegner etwas besonders machen und ihm etwas unterschiedliches und einzigartigeres Verhalten mit geben. Es wurde so beispielsweise festgelegt wie nah sich ein Gegner traut befor er anfängt weg zu laufen oder auch ab wie vielen schüssen auf ihn er anfängt aus zu weichen.
Die States besitzen dabei eine Reihenfolge in welcher sie Prioritisiert werden. Die Grundlegende Prioritisierung ist dabei:
Attack > Dodge > Follow > Flee
Wobei sich die Reihenfolge auch leicht ändern kann, je nachdem wie die Parameter gesetzt wurden. Follow beispielsweise ist umso wichtiger umso weiter ein Gegner entfernt von Characteren ist. So konnten wir sicher stellen das sie nicht schon am Anfang weglaufen. Außerdem weichen Gegner beispielsweise nicht aus und laufen nicht so schnell davon. Mit solchen kleinen Kniffen haben wir versucht ein tiefgründigeres Verhalten in die Gegner zu implementieren.
Ein weiteres Verhalten der Gegner kann das Ghosten sein. Hierbei handelt es sich um Spezielle gegner, welche die Eingaben des nächstgelegenen Spielers imitieren. Hierfür lesen sie die Eingaben des Spielers mit und laufen beispielsweise in die Gleiche richtung, wobei die Intänsität des Ghostens variabel ist und beim erzeugen der Gegner festgelegt wird.
Es gibt noch einige weitere Zusammenhänge wie beispielsweise die Treffsicherheit, welche in Verbindung mit der Angriffsgeschwindigkeit liegt. So wird bei höheren angriffsgeschwindigkeiten ein erhöhter zufallswinkel auf den Abschuss von Pfeilen gesetzt und Nahkämpfer verfehlen ihre Angriffe. Sollten sie jedoch eine Weile nicht angreifen (da sie beispielsweise erst zum Spieler laufen müssen) können sie sich "Konzentrieren und verbessern kurzzeitig ihre Treffsicherheit für den ersten Angriff).
Diese ganzen Zusammenhänge und einflüsse auf unterschiedliche Dinge machten das Ballancing jedoch sehr schwer für eine Person, weswegen nur ein Rudimentäres Ballancing von Alex vorgenommen wurde. Hauptsächlich wurden hier nur Grundwerte geballanced und der Einfluss des Nebels auf den Angriff und die Geschwindigkeit der Gegner.