Gameplay

Der Spieler spielt den kleinen Rocky. Bewaffnet mit seinem Picknickstock kämpft man gegen die fiesen Sawblade Scamps. Das Ziel sit einfach. Die Maschinen zerstören und dabei selber nicht zersägt werden. Die Scamps können dabei aber verschiedene Angriffe einsetzen. So können sie nicht nur dem Spieler hinterherjagen und ihn beißen. Sondern auch aufladen um dann mit Höllengeschwindigkeit auf den Spieler zuzurasen. Oder auch einfach ein Projektil nach ihm feuert.

In diesem Projekt habe ich alle 3D Assets und Animationen selber erstellt.

Der Scamp

Der Scamp selbst hat tatsächlich die meisten seiner Aufgaben an den Behavior Tree und seine Tasks outsourced, kann aber doch noch ein wenig. Die Aufgabe den Spieler zu finden übernimmt er nämlich selbst.

Außerdem ist er für die Verwaltung der sämtlichen Collision Boxes verantwortlich. 

Selbstverständlich hat er auch eine Lebenskraft, diese wird aber schnell von einem gezielten Schlag des Spielers dezimiert.

Behavior Tree

Ursprünglich sollte der Behavior Tree in diesem Projekt von einer State Machine unterstützt werden. Allerdings stellte sich heraus dass dies mehr Probleme als Gutes tat und musste somit entfernt werden.

Der Behavior Tree selbst steht dafür im vollen Glanze. Zuerst sucht die KI nach dem Spieler. Wenn sie ihn gefunden hat sendet der Scamp ein Signal an das Blackboard dass er jemanden gefunden hat und kann somit in den Kampf gehen. Hierbei wird aber erstmal entschieden, welcher Angriff ausgewählt wird.

Utility AI

Die KI sollte in diesem Spiel ihre eigenen Entscheidungen treffen können. Da kommt Utility AI ins Spiel, die es mir ermöglicht der KI einen Evaluationsprozess für verschiedene Angriffe zu geben. So wird der Spieler eher gejagt wenn er nah an den Scamps ist, und von weiter weg kommt dann eher ein Projektil oder ein Ansturm. Am Ende des Tages greifen sie aber immer auf ihr verlässliches Gebiss zurück um den Spieler das Leben schwer zu machen. Bei den Fernangriffen wird der Spieler sogar vor Wucht zurückgeworfen.

Die Angriffe

Bei Jagen und Beißen handelt es sich um zwei verschiedene Tasks. Im Ersten bekommt die KI übermittelt wo sich der Spieler befindet woraufhin er sich sofort auf den Weg macht. Hat er den Spieler erreicht, öffnet er sein Gebiss und der Spieler hat nur kurz Zeit auszuweichen.

Beim Ansturm, wartet der Scamp erst kurz auf der Stelle, bevor er sich mit erhöhter Geschwindigkeit auf den Spieler zurast. Hier war die technische Herausforderung ihm eine neue Collision zu geben die nur gilt während er am rasen ist.

Zuletzt noch der Schuss. Dabei setzt der Scamp die Position des Spielers fest und feuert anschließend eine Rakete nach ihm. Die Rakete selbst ist eine separate Komponente die mit Projectile Movement sich Archenförmig auf den Spieler zubewegt.

Unterschied zur ersten KI

In meinem ersten Versuch an diesem Projekt entstand schon ein erster Versuch an einer KI. Diese konnte aber lediglich nur beißen, und das auch nicht sonderlich gut. Jetzt mit Auswahlmöglichkeiten ist das Spielerlebnis deutlich interessanter geworden. Und ach das Force Feedback für Spieler und Maschinen gibt einfach ein besseres Gefühl.

Der Scamp ersetzt hiermit den Jigsaw Imp, jedoch sind seine Dateien immer noch schön im Enemies Ordner zu finden.

Erweiterungpotenzial

Mehr Gegner würden nicht Schaden. Varianz macht alles interessanter. Das Level ist bis jetzt auch sehr klein und hat nicht viel zu bieten. Platforming Elemente sowie neue Vortbewegungsöglichkeiten für den Spieler wie rollen oder ein Enterhaken könnte ich mir gut vorstellen. Aber auch im Kampf sollten verschiedene Angriffe von Seiten des Spielers kommen damit man sich besser im Spielersitz fühlt.

Fazit

Ich hatte auf jeden Fall einen Heidenspaß bei der Sache. Es gab immer wieder Problemstellen wo es sich dann etwas gezogen hat, aber im Großen und Ganzen bin ich zufrieden. Es war sehr schön den Unterschied zur vorherigen KI zu sehen, und wie viel ich gelernt habe.