You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Nachdem wir einen ersten Prototyp Raum fertigstellt haben und wir euch einen tiefen Einblick in die Erstellung eines Gegners gewährt haben, richten wir unser Ziel jetzt darauf die restlichen Gegner fertig zu stellen und einen neuen Raum Typ ins Leben zu rufen, den Fallenraum.

 

Monsterraum

Zum Ende der letzten Zusammenfassung hatten wir einen sehr einfachen Braunbären der immer auf den Spieler zu rennt und ihn attackiert, einen Selbstmord Attentäter in der Form eines Lila Bärs der aus den Spieler zu rennt und ab einer gewissen Entfernung einen Zünder mit einer Bombe aktiviert und einen auf zwei Beinen laufenden Hamster der mit einem Blasrohr ausgestattet ist und zu dem Spieler eine gewisse Distanz behält und regelmäßig Pfeile auf diesen schießt.

Geplant haben wir zusätzlich einen Wurm der der kurz auf der Map erscheint, den Spieler mit einer verfolgenden Matschkugel anvisiert und daraufhin wieder verschwindet um diesen Prozess zu wiederholen, einen ohne Ziel rumlaufenden Igel der zur Selbstverteidigung regelmäßig 8 Pfeile in einen 360° Kreis verschießt und ein Schwein das wutbesessen den Spieler verfolgt und wenn er dicht genug dran ist diesen mit einem Mächtigen Sprint rammen will.

Wie wir so ein Gegner erstellen haben wir bereits anhand des laufenden Fernkampf Hamster gezeigt.

Die Schritte sind wie folgt:

  1. Front und Seiten Skizze erstellen
  2. Walkcycle (oben/unten/links/rechts) erstellen
  3. Angriffs Animation erstellen
  4. Animation in Unity übertragen
  5. KI und Verhalten Programmieren
  6. Testing

Dies haben wir für jeden weiteren Gegnertyp gemacht. Ganz besonders wichtig waren die Größe und die Optik im Verhältnis zu den bisherigen Gegnern beizubehalten.

[Alle Gegner nebeneinannder für Größen Verhältniss]

Mit dem erstellen unseren letzten Gegnertypen, dem wild umherlaufenden Hasen, haben wir uns mit einer besonderen Sache beschäftigt. Der Hase greift den Spieler nicht an, läuft aber ständig durch die Gegend, ist sehr schnell und hält sehr viele Treffer aus. Um dies noch mehr zu erschweren bleibt der Hase auch nur eine bestimmte Zeit nach dem Betreten des Raumes. Als Belohnung, wenn man es geschafft ihn zu töten erhält der Spieler zu 100% eine neue Waffe. Dieses Waffedroppen haben wir dann auf jeden gegnertyp implementiert, mit dem Unterschied das alle Gegner, außer der Hase, eine geringe Chance haben, bei Tötung eine Waffe fallen zulassen. Zusätzlich haben wir um, es den Spieler fairer zu machen, zusätzlich die Chance ein Lebenspunkt (Herz) zu erhalten bei Tötung eines Gegners. Sollten der Zufall auf der Seite des Spielers sein und er könnte eine Waffe und ein Herz erhalten, müssen wir ihn Leider enttäuschen und er bekommt nur das Herz.

Nachdem alle Gegner und Funktionen implementiert wurden haben wir der Welt ein wenig mehr Leben gegeben und dem Spieler jetzt ein weniger mehr Animationen.

Damit sind wir mit den Monsterräumen durch und wir gucken uns den nächsten speziellen Raum Typ an, den Fallenraum. Hierfür führen wir euch durch alle Fallen die wir haben und gehen auf ein paar Details ein.

Zuallererst der Raum selbst.

Hier haben wir uns für eine dunkle, schlecht beleuchtete Hölle entschieden. Dies soll erstmal im harten Kontrast zur Grünen Farbenfrohen Monstermap sein. Außerdem erzeugen wir somit eine angespannte düstere Atmosphäre.

Um das Level zu gestalten haben wir Trennwände und Abgründe entwickelt. Die Trennwände agieren als eine einfache Wand, hingegen man in die Abgründe fallen kann und zum Anfang des Fallen Level gebracht wird und zusätzlich ein Leben verliert.

Somit fehlen nur noch die Fallen, welche wir im Folgenden durchgehen.

Pfeilenfalle:
Diese Falle schießt in einen gleichmäßigen Intervall Pfeile in einer geraden Linie. Bei Berührung bekommt der Spieler Schaden.

Shuriken:
Die Shuriken fliegen zwischen bestimmten Punkten hin und her und fügen den Spieler bei Berührung Schaden zu.

Flammenfalle:
Die Flamenfalle spuckt in einen kleinen Radius regelmäßig Feuer die den Spieler bei Berührung Schaden zufügen.

Sperrefalle:
Bei der Sperrefalle kommen beim Betreten des Bodens vor der Falle, schlagartig Speere aus der Wand die den Spieler wegstoßen und ihm Schaden zufügen.

Stachelfalle:
Bei dieser Falle kommen Stacheln regelmäßig aus dem Boden und verhindern weg. Sollte der Spieler diese berühren erhält er Schaden.

 

Auch hier wollen wir euch kein Code vorenthalten. Also gehen wir im Folgenden auf das Shuriken Skript ein.

Wir haben ein Array „wayPoints[]“ indem wir empty gameobjecte speicher. Diese geben die Punkte an mit den Koordinaten zu den der Shuriken fliegen soll. In der Update() lassen wir erstmal den Shuriken sich drehen mit der Zeile 21. In Zeile 22 überprüfen wir ob die Position des Shuriken mit dem übereinstimmt welcher gerade im Array dran ist. Wenn das zu trifft gehen wir zum nächsten Array Index. In der inneren IF Abfrage prüfen wir ob unser Index am Ende angekommen ist, sollte das der Fall sein setzten wir ihn wieder zum Anfang zurück. Unabhängig davon lassen wir den Shuriken sich zum Zielpunkte bewegen in Zeile 33.

Hier ein Bild eines fertigen Fallenraumes.
Zu sehen der Grundriss, die Abgründe und verschiedene Fallentypen.

Jetzt müssen wir unsere beiden Räume verbinden. Genauer, müssen wir jetzt unser Teleporter entwickeln welcher uns von Raum A nach Raum B teleportiert, abhängig davon in welche Richtung wir Raum A verlassen wollen.

Wenn der Teleporter Collider eine Collision mit dem Spieler feststellt speichern wir in welche Richtung er weiter gehene will, wie viel leben er hat und welche Waffe er gerade benutzt. Dann Laden wir das Level welches er gehen soll über den Unity SceneManager.

In dem neuen Level prüfen wir in welche Richtung er den alten Raum verlassen hat und setzten mit dem Wissen seine Startposition.

Und so kommen wir, wenn wir in Raum A den rechten Ausgang nutzen, am linken Ausgang in Raum B an.

Und damit ist dieser Milestone auch beendet, wir haben jetzt zwei Raumtypen und können zwischen diese beide hin und her wechseln und beide sind voll ausgestattet.

Ziel für den nächsten Milestone:
Im nächsten Milestone werden wir das Spiel Design. Dazu gehört eine Level-Struktur zu entwickeln, Level zu erstellen, diese zu verbinden und letztendlich das Spiel zu Balancen.

 

 

 

 

 

 

 

  • No labels