Wie man künstliche Intelligenz für einen feindlichen Schleim erstellt | hyperPad Documentation

Loading...

Logo
DocumentationTutorialsWie man künstliche Intelligenz für einen feindlichen Schleim erstellt

IMG_0139.TRIM.GIF

Hinweis: Eine abgeschlossene Projektdatei für dieses Tutorial finden Sie am Ende dieses Artikels.

Einführung

In diesem Tutorial erstellen wir die künstliche Intelligenz (KI) für einen überzeugenden feindlichen Schleim in einem Plattformspiel. Wir werden einige fortgeschrittenere Funktionen und Verhaltensweisen in hyperPad behandeln, daher wird in diesem Tutorial grundlegendes Wissen über den hyperPad-Editor vorausgesetzt. Wenn Sie denken, dass Sie sich zuerst mehr mit der Erstellung eines Spiels von Grund auf vertraut machen sollten, können Sie zuerst das Vollständige Anleitung - Erstellung eines Plattformspiels Tutorial ansehen.

Um den Schleim "intelligent" aussehen zu lassen, sollte er mehr tun, als einfach hin und her zu bewegen, und sollte sich seiner Umgebung bewusst sein.

Das klingt spannend! Aber bevor wir anfangen, sollten wir zunächst detaillieren, wie sich der feindliche Schleim verhalten sollte:

  • Anstatt zu gehen, springt der Schleim nach links oder rechts, um sich zu bewegen.
  • Der Schleim springt in Richtung des Spielers.
  • Wenn der Spieler zu weit weg ist, bewegt sich der Schleim nicht (ruht).
  • Der Schleim entzieht dem Spieler Lebenspunkte bei Kontakt.
  • Der Schleim wird besiegt, wenn der Spieler auf ihn springt.

Jetzt, da wir wissen, was wir tun wollen, lass uns anfangen!

Teil 1: Projektsetup

In diesem Tutorial starten wir ein neues Projekt von Grund auf, um die Dinge einfach zu halten. Erstellen Sie ein neues Projekt und setzen Sie es auf "Seitenansicht", Sie können die anderen Einstellungen auf ihre Standardwerte belassen.

Nachdem Ihr neues Projekt erstellt wurde, gehen Sie zur Asset-Bibliothek und holen Sie sich das "Platformer Starter Pack" von hyperPad im Asset-Shop. (Es ist kostenlos!)

a7JUWwiO.jpg

Photo_2019-06-26__1_15_13_PM.png

Jetzt, wo wir einige Assets haben, um damit zu arbeiten, legen Sie einige Bodenblöcke und erstellen Sie Ihre Welt. Wenn Sie nicht bereits dort sind, gehen Sie zur Asset-Bibliothek und tippen Sie auf "Downloads" und dann "Platformer Starter Pack".

In dem Bild unten wurden einige Bodenblöcke (Ordner "Graswelt") platziert und ein Hintergrund (Ordner "Hintergründe") wurde festgelegt.

Photo_2019-06-26__1_16_22_PM.png

Jetzt, wo wir eine schöne Szene haben, mit der wir arbeiten können, lassen Sie uns die Spieler- und Schleimobjekte hinzufügen. Gehen Sie zur Asset-Bibliothek und öffnen Sie Ihren "Downloads"-Ordner, dann den "Platformer Starter Kit"-Ordner, falls sie noch nicht geöffnet sind.

Wir verwenden den "Grünen Raumfahrer" als Spieler, also tippen Sie auf das Asset des grünen Raumfahrers, um alle seine Animationszyklen zu sehen. Standardmäßig möchten wir, dass der Spieler einfach steht, also tippen Sie auf die "Stand"-Animation und platzieren Sie sie auf der Szene.

Im selben Ordner in der Asset-Bibliothek gibt es auch einen "Schleim Pink" animierten Charakter. Perfekt, um ihn als feindlichen Schleim zu verwenden! Tippen Sie auf das Schleim-Asset und wählen Sie die "Bewegungs"-Animation und platzieren Sie einen Schleim auf Ihrer Szene zusammen mit Ihrem Spielercharakter.

Photo_2019-06-26__1_17_03_PM.png

Bisher so gut! Wir haben jetzt unser Spielerobjekt und unser Schleimobjekt, bereit zu verwenden. Aber wenn wir jetzt unser Projekt spielen würden, könnten wir überhaupt nicht mit dem Spiel interagieren. Also müssen wir einige Logik erstellen, um unserem Spiel Leben einzuhauchen.

Teil 2: Spielersteuerungen

Bevor wir anfangen, unserem feindlichen Schleim etwas Leben zu geben, sollten wir zuerst einige Spielersteuerungen für den grünen Raumfahrer einfügen.

Tippen Sie auf den grünen Raumfahrer und setzen Sie seinen Physikmodus von Wand auf Physikalisch, was dem Spieler ermöglicht, sich frei zu bewegen. Tippen Sie dann auf die Schaltfläche "Verhaltensweisen", um den Verhaltenseditor für unseren Spielercharakter zu öffnen, damit wir einige Kontrollen hinzufügen können.

IMG_0054.JPG

Im Verhaltenseditor für unseren Spielercharakter sollten Sie bereits ein einsames Animation Abspielen-Verhalten sehen. Wir können dieses Verhalten in Ruhe lassen, aber wir können es ein paar Freunde geben.

Unter dem Interaktions-Bereich platzieren Sie überall ein Joystick gesteuertes Verhalten sowie ein Springen mit Taste Verhalten. Mit diesen Verhaltensweisen ist unser Spieler jetzt bereit zur Steuerung. Aber es fehlt ihm an Animation.

Tippen Sie auf das Joystick gesteuerte Verhalten und setzen Sie die "Joystick Links Animation" auf den "Gehen"-Animationszyklus im Green Spaceman-Asset. Machen Sie dasselbe für die "Joystick Rechts Animation".

Photo_2019-06-26__1_18_28_PM.png

Jetzt läuft unser Spielercharakter, springt aber immer noch nicht, wenn er springt.

Tippen Sie auf das Springen mit Taste-Verhalten und ändern Sie sowohl die "Fallanimation" als auch die "Sprunganimation" auf den "Springen"-Animationszyklus.

Photo_2019-06-26__1_18_56_PM.png

Wenn wir jetzt unser Spiel spielen, können wir uns bewegen und herumspringen! Als Nächstes können wir uns daran machen, unseren Schleimfeind zu bearbeiten.

Photo_2019-06-26__1_19_50_PM.png

Teil 3: Schleimbewegung

Wie wir im Einführungsteil dieses Tutorials detailliert haben, wollen wir, dass unser Schleim in Richtung des Spielers springt. Um dies zu tun, muss unser Schleim wissen, wo der Spieler in der Welt ist. Aus diesem Grund sollten wir unserem Spielercharakter ein Tag hinzufügen, damit unsere Verhaltensweisen unseren Spielercharakter in jeder Szene abrufen können.

Tippen Sie auf den Spielercharakter und wählen Sie die Registerkarte "Tags" im unteren Teil der Eigenschaftenansicht aus. Geben Sie "Spieler" in das Textfeld oben im Tags-Menü ein und drücken Sie die Hinzufügen (+)-Schaltfläche daneben. Jetzt ist unser Spielercharakter mit dem "Spieler"-Tag versehen.

Photo_2019-06-26__1_23_06_PM.png

Ähnlich wie bei dem Spielercharakter tippen Sie auf den Schleim und setzen Sie seinen Physikmodus von Wand auf Physik. Tippen Sie dann auf die Schaltfläche Verhaltensweisen, um den Verhaltenseditor des Schleims zu öffnen.

IMG_0058.JPG

Im Verhaltenseditor gehen Sie zum Custom-Verhaltenbereich und fügen Sie ein Timer-Verhalten in den Editor ein.

Tippen Sie auf das Timer-Verhalten und setzen Sie seinen Intervall auf 2 Sekunden.

Photo_2019-06-26__4_21_59_PM.png

Dies wird der Anfang unserer Logik für die künstliche Intelligenz unseres Schleims sein.

Die Idee ist, dass unser Schleim alle 2 Sekunden "denken" wird, was als Nächstes zu tun ist, wie: Soll der Schleim springen? Wenn er sich zum Springen entscheidet, in welche Richtung sollte er springen?

Gehen Sie als Nächstes in den Abschnitt Transform und platzieren Sie ein Position abrufen-Verhalten. Tippen Sie auf es und setzen Sie das Ziel auf das "Spieler"-Tag, das wir zuvor erstellt haben, indem Sie auf die Tags-Taste in der unteren Hälfte der Eigenschaftenansicht tippen und "Spieler" auswählen. Verbinden Sie nun den Timer mit dem Position-Abfrage-Verhalten.

Photo_2019-06-26__4_22_22_PM.png

Jetzt wissen wir, wo unser Spieler in der Welt ist! Um zu bestimmen, ob sich der Spieler links oder rechts vom Schleim befindet, müssen wir auch wissen, wo sich der Schleim in der Welt befindet.

Ziehen Sie ein weiteres Position Abrufen Verhalten in den Editor. Standardmäßig zielt das Verhalten bereits auf unseren Schleim, also brauchen wir nichts weiter zu tun, als es mit unserem logischen Zweig zu verbinden. Gehen Sie und verbinden Sie die Position Abfrage für den Spieler mit der Positions Abfrage für den Schleim.

Photo_2019-06-26__4_22_40_PM.png

Optional: Um die Dinge leichter verständlich zu machen, habe ich meine Position Abfrage-Verhalten umbenannt, um klar anzuzeigen, was sie verfolgen: "Position abrufen Spieler" und "Position abrufen Schleim". Dies ist optional, aber wenn auch Sie die Verhaltensnamen ändern möchten, können Sie dies tun, indem Sie auf das Verhalten tippen und seinen Namen ganz oben im Eigenschaftenbereich tippen.

Bisher haben wir, dass der Schleim alle 2 Sekunden die Position des Spielercharakters und von sich selbst abruft. Jetzt, wo wir diese Informationen haben, können wir bestimmen, ob der Schleim nach links oder rechts springen sollte.

Unter dem Logik-Tab, fügen Sie ein If-Verhalten hinzu und verbinden Sie es. Setzen Sie im Eigenschaftenbereich den ersten Wert auf die x-Position des ersten Positionsabrufens ("Spieler"-Tag), indem Sie den Ausgabewert des Verhaltens in das Feld im If-Eigenschaften ziehen. Für den zweiten Wert setzen Sie ihn auf die x-Position des zweiten Positions Abrufens (Schleim). Setzen Sie schließlich die Bedingung des If-Verhaltens auf "Ist kleiner als" (<).

Hinweis: Die x-Position eines Objekts ist der Wert, der angibt, wo sich das Objekt in der Welt auf seiner x-Achse befindet. (Links und rechts)

IMG_0061.JPG

Was bedeutet all dies? Das If-Verhalten prüft, ob die x-Position des Spielers kleiner ist als die x-Position des Schleims. Wenn dies zutrifft, wird das nächste verbundene Verhalten ausgeführt. Das bedeutet im Wesentlichen, dass wenn sich der Spieler weiter links als der Schleim befindet, die Ausführung des Verhaltens fortgesetzt wird.

Okay, wir haben jetzt die Logik eingerichtet, damit der Schleim nach links springt, also lassen Sie uns den Schleim genau das tun!

Unter dem Physik-Verhaltenbereich fügen Sie ein Kraft anwenden-Verhalten unter dem If-Verhalten hinzu. Setzen Sie im Eigenschaftenbereich die Kraft auf: x = -0.5, y = 1. Setzen Sie dann den Multiplikator auf eine angemessene Zahl, 200 sollte es tun.

Photo_2019-06-26__1_28_06_PM.png

Was wir jetzt haben, ist: Wenn der Schleim den Spieler weiter links findet als sich selbst, springt er nach oben (y = 1 × 200) und ein wenig nach links (x = -0.5 × 200).

Probieren Sie es aus! Spielen Sie das Spiel und testen Sie, um sicherzustellen, dass alles funktioniert. Was Sie sehen sollten, ist, dass der Schleim alle 2 Sekunden nach links springt, solange sich der Spieler links von ihm befindet. Wenn Sie den Spieler nach rechts bewegen, sollte er aufhören zu springen, bis Sie ihn wieder nach links bewegen.

Photo_2019-06-26__1_28_50_PM.png

Hinweis: Wenn sich Ihr Schleim nicht bewegt, gehen Sie die vorherigen Schritte durch, um sicherzustellen, dass Sie nichts verpasst haben. Stellen Sie sicher, dass die Verhaltensweisen richtig verbunden sind und dass der Physikmodus ihres Schleims auf Physik (beweglich) und nicht auf Wand (unbeweglich) eingestellt ist. Außerdem werden wir bald das Problem beheben, bei dem der Schleim manchmal auf die Seite oder auf den Kopf kippt.

Große Fortschritte bisher! Wenn Ihr Schleim sich wie erwartet bewegt, sind wir bereit, fortzufahren. Lass uns seine Bewegungslogik abschließen, indem wir dem Schleim auch erlauben, nach rechts zu springen.

Gehen Sie zurück zum Verhaltenseditor des Schleims, duplizieren Sie das If-Verhalten. Ziehen Sie das neue If-Verhalten rechts vom ursprünglichen If-Verhalten. Dies wird es zu einem "Else If"-Verhalten machen.

Duplizieren Sie auch das Verhalten Kraft anwenden und verbinden Sie es mit dem neuen Else If-Verhalten.

Ändern Sie in den Eigenschaften des Else If die Bedingung von "Ist kleiner als" (<) auf "Ist größer als" (>). Dies wird den gegenteiligen Effekt des ersten If haben. Wenn das erste If-Verhalten nicht wahr ist, wird es dann prüfen, ob das Else If wahr ist. Das bedeutet, dass, wenn sich der Spieler nicht links vom Schleim befindet, geprüft wird, ob der Spieler rechts vom Schleim ist, und die an das Else If angeschlossenen Verhaltensweisen werden anstelle dessen weiterhin ausgeführt.

Sie sollten jetzt einen Verhaltenszweig haben, der ungefähr so aussieht:

Photo_2019-06-26__1_30_01_PM.png

Ändern Sie im zweiten Kraft anwenden (unter dem Else-If) seine Eigenschaften so, dass seine Kraft x = 0.5 statt x = -0.5 beträgt. Jetzt springt der Schleim nach rechts anstatt nach links.

Photo_2019-06-26__1_30_05_PM.png

Spielen Sie das Projekt und versuchen Sie es erneut! Jetzt sollten Sie sehen, dass der Schleim in die Richtung springt, in der der Spieler ist. Hervorragend!

Eine Sache, die Sie möglicherweise bemerkt haben, während Sie das Spiel getestet haben, ist, dass, wenn Sie mit dem Schleim kollidieren, er manchmal auf die Seite kippen oder umgedreht werden kann. Wir möchten, dass der Schleim aufrecht bleibt, also lassen Sie uns das schnell beheben.

Gehen Sie zurück zum Verhaltenseditor des Schleims, gehen Sie zum Transform-Verhaltenbereich und fügen Sie ein Rotation sperren-Verhalten in den Editor ein. Es ist keine Verbindung zu einem anderen Verhalten erforderlich, wir möchten, dass es seine Rotation sperrt, sobald der Schleim erstellt wird, also können Sie es so belassen. Sobald Sie das getan haben, probieren Sie das Spiel erneut aus. Dieses Mal sollten Sie Schwierigkeiten haben, den Schleim auf die Seite zu kippen.

Photo_2019-06-26__1_32_26_PM.png

Vielleicht haben Sie auch bemerkt, dass die Animation des Schleims zu schnell abgespielt wird. Wenn dies passiert, tippen Sie auf der Verhaltenseditor des Schleims auf das Animation Abspielen Verhalten und ändern Sie die Bilder pro Sekunde auf eine viel kleinere Zahl. 6 Bilder pro Sekunde sieht ziemlich gut aus.

Photo_2019-06-26__1_38_22_PM.png

Schön! Jetzt bewegt sich unser Schleim nicht nur gut, sondern sieht auch großartig aus. Größtenteils ist die Bewegungslogik unseres Schleims jetzt abgeschlossen.

Wir möchten jedoch auch, dass der Schleim nur springt, wenn sich der Spieler in der Nähe befindet. Das heißt, wenn wir eine größere Welt aufbauen, werden Schleime, die zu weit weg sind, nicht sofort versuchen, auf den Spieler zu springen und ihn anzugreifen. Im nächsten Teil werden wir uns ansehen, wie wir eine weitere Bedingung hinzufügen, um die Sprunglogik zu blockieren, wenn der Spieler zu weit entfernt ist.

Teil 4: Schleim-idle

In diesem Teil werden wir einige Schleimverhalten implementieren, die bewirken, dass er idle (d.h. sich nicht bewegt), wenn der Spieler zu weit entfernt ist.

Um dies zu erreichen, müssen wir einen Weg finden, die Entfernung zwischen unserem Schleim und dem Spieler zu messen. Praktischerweise gibt es Verhaltensweisen, um genau das zu tun! Lassen Sie uns mit der Arbeit beginnen.

Öffnen Sie den Verhaltenseditor des Schleims und ziehen Sie ein Abstand berechnen-Verhalten aus dem Logikbereich. In seinen Verhaltenseigenschaften ist das erste Objekt bereits auf unseren Schleim eingestellt. Gehen Sie für das zweite Objekt zum Tab-Menü und wählen Sie das "Spieler"-Tag aus.

Photo_2019-06-26__1_48_54_PM.png

Dieses Verhalten berechnet, wenn es ausgeführt wird, den Abstand in Metern von unserem Schleim zum Spieler. Mit diesen Informationen können wir überprüfen, ob der Spieler zu weit weg ist, indem wir prüfen, ob er einen bestimmten Abstand überschreitet.

Platzieren Sie ein weiteres If-Verhalten aus dem Logikbereich und verbinden Sie es unter dem Abstand berechnen Verhalten. Setzen Sie in den Eigenschaften des If-Verhaltens den ersten Wert auf den Ausgabe wert des Abstands berechnen- Verhaltens. Setzen Sie die Bedingung auf "Ist kleiner als" und den zweiten Wert auf 15.

Jetzt haben wir die Möglichkeit zu überprüfen, ob der Spieler zu weit weg ist, indem wir sehen, ob der Abstand zwischen dem Schleim und dem Spieler kleiner als 15 (Meter) ist. Wenn diese Bedingung falsch ist, dann ist der Spieler zu weit weg und das If-Verhalten führt die nächsten Verhaltensweisen nicht aus.

IMG_0085.JPG

Jetzt, wo wir unsere neue Bedingung bereit haben, trennen Sie das Positionsabrufverhalten (Schleim) und die alte If-Verhalten von dem vorherigen Teil des Tutorials und schaffen Sie Platz für unsere neue Bedingung. Sie können Verhaltensweisen trennen, indem Sie auf die Verbindungen zwischen den Verhaltensweisen tippen und sie gedrückt halten.

Mit der neuen Distanzbedingung verbunden, verbinden Sie die Positionsabfrage (Schleim) mit dem Abstand berechnen Verhalten und verbinden Sie das neue If-Verhalten mit dem alten If-Verhalten. Sie sollten jetzt etwas wie dieses haben:

Photo_2019-06-26__1_50_57_PM.png

Es fängt an, ziemlich kompliziert auszusehen, aber die Idee ist relativ einfach. Was wir jetzt haben, ist, bevor wir überhaupt überprüfen, welche Richtung der Schleim springen sollte, prüfen wir zuerst, ob die Distanz zwischen dem Schleim und dem Spieler kleiner als 15 (Meter) ist.

Wenn sich der Spieler näher als 15 Meter befindet, wird es so weit wie gewohnt weitergehen und überprüfen, in welche Richtung wir springen sollten. Wenn sich der Spieler weiter als 15 Meter entfernt ist, setzen wir nicht fort und die Logik endet dort, bis der Schleim beim nächsten Mal wieder "denkt" (2 Sekunden später).

Probieren Sie das Spiel aus! Wenn Sie sich dem Schleim zu nahe kommen, sollte er anfangen, in Ihre Richtung zu springen, aber wenn Sie zu weit weg bewegen, sollte er sich nicht bewegen und warten, bis Sie sich ihm wieder nähern.

Unser Schleim sieht jetzt ziemlich bedrohlich aus, aber es fehlt immer noch eine Möglichkeit, den Spieler zu schädigen. Im nächsten Teil dieses Tutorials werden wir dem Spieler eine Lebensanzeige geben und einige Logik implementieren, um dem Spieler Schaden zuzufügen.

Teil 5: Spieler angreifen

Wie im Einführungsteil erwähnt, werden wir die Angriffe des Schleims implementieren, indem wir den Schleim den Spieler verletzen lassen, wenn er ihn berührt. Um zu beginnen, eine Möglichkeit für den Schleim zu implementieren, den Spieler anzugreifen, müssen wir dem Spieler zuerst einige Lebenspunkte geben.

Wählen Sie im Haupeditor die Szene UI Ebene und erstellen Sie ein neues Objekt mit der Schaltfläche Spezialobjekte. Tippen Sie auf "Lebensanzeige", um eine Lebensanzeige für unseren Spieler zu erstellen.

IMG_0120.JPG

Da es sich auf der Szene-UI-Ebene befindet, bleibt es an derselben Stelle auf dem Bildschirm, wenn wir unsere Welt erweitern und den Bildschirm dem Spieler folgen lassen.

Sie können es überall auf dem Bildschirm platzieren, wo Sie es für richtig halten. Ich habe meins in der Mitte des Bildschirms in der Nähe des Bodens platziert.

Photo_2019-06-26__1_39_49_PM.png

Wenn Sie mit dem Finden eines guten Platzes für Ihre Lebensanzeige fertig sind, können wir an der Möglichkeit arbeiten, Lebenspunkte von der Lebensanzeige zu entfernen. Kehren Sie zur Haupt-Ebene zurück, wo Ihr Schleim ist, und öffnen Sie seinen Verhaltenseditor erneut.

An einem schönen leeren Platz in den Verhaltensweisen des Schleims fügen Sie ein Kollidiert-Verhalten aus dem Objektbereich hinzu. Setzen Sie in seinen Eigenschaften das zweite Objekt auf das "Spieler"-Tag.

Photo_2019-06-26__1_38_54_PM.png

Unter dem Abschnitt Benutzerdefinierte Verhaltensweise fügen Sie ein Nachricht senden-Verhalten hinzu und verbinden Sie es mit dem Kollidiert-Verhalten. Setzen Sie im Broadcast Message-Verhalten den Event-Schlüssel auf "spieler getroffen" und den Wert auf -10.

Denken Sie daran: Event-Schlüssel sind groß- und kleinschreibungsempfindlich! Zur Vereinfachung wird in diesem Tutorial Kleinbuchstaben für Event-Schlüssel verwendet. Sie können sie in Großbuchstaben verwenden, wenn Sie möchten, denken Sie jedoch daran, welche Buchstaben dann Großbuchstaben sind.

Photo_2019-06-26__1_41_06_PM.png

Nun haben wir eine Möglichkeit zu erkennen, wann der Spieler Lebenspunkte verlieren sollte. Wenn der Spieler mit dem Schleim kollidiert, wird eine Nachricht für das Event "spieler getroffen" mit einem Wert von -10 gesendet. Wir verwenden die -10, um der Lebensanzeige zu sagen, dass sie -10 Lebenspunkte "hinzufügen" soll, und da der Wert negativ ist, wird er 10 Lebenspunkte entfernen.

Wir müssen diese Logik noch zur Lebensanzeige hinzufügen, also lassen Sie uns das jetzt tun. Verlassen Sie den Verhaltenseditor für den Schleim und tippen Sie dann in den Haupeditor auf die Szene UI-Ebene und dann auf die Lebensanzeige. Öffnen Sie den Verhaltenseditor für die Lebensanzeige.

Fügen Sie im Verhaltenseditor der Lebensanzeige ein Nachricht empfangen-Verhalten aus dem Abschnitt Benutzerdefiniert hinzu. Setzen Sie in seinen Eigenschaften den Event-Schlüssel auf "spieler getroffen". (Denken Sie daran, dass er groß- und kleinschreibungsempfindlich ist!)

Photo_2019-06-26__1_40_12_PM.png

Dieses Verhalten wird unser Zuhörer für die "spieler getroffen"-Nachricht sein, die gesendet wird, wenn der Spieler den Schleim trifft. Wenn dieses Verhalten eine Broadcast-Nachricht für "spieler getroffen" irgendwo im Spiel erkennt, wird es ausgeführt.

Nun fügen Sie ein Zum Lebensbalken hinzufügen-Verhalten im Abschnitt Benutzeroberfläche hinzu und verbinden Sie es unter dem Nachricht empfangen Verhalten.

In den Eigenschaften für das Zum Lebensbalken hinzufügen-Verhalten ziehen Sie den Ausgabewert von "Nachricht empfangen" in das Feld "Wert hinzufügen". Dieser Wert wird der Wert von -10 sein, den wir zuvor im Broadcast Message-Verhalten für den Schleim festgelegt haben. Auf diese Weise, wenn wir anderen Feinden unterschiedliche Schadenswerte hinterlegen möchten, müssen wir nur den Wert im Broadcast für das, was wir möchten, ändern und die Lebensanzeige wird stattdessen diesen Wert verwenden!

Stellen Sie sicher, dass "Event bei Voll" aus und "Event bei Leer" ein ist. Das bedeutet, dass, wenn die Lebensanzeige 0 Lebenspunkte erreicht, die nächste Verhaltensweise ausgeführt wird.

IMG_0080.JPG

Im Abschnitt Szene verhalten fügen Sie ein Overlay laden-Verhalten hinzu und verbinden Sie es mit dem Zum Lebensbalken hinzufügen Verhalten.

In den Ladeoverlay-Einstellungen ändern Sie das ausgewählte Overlay in das "Spiel beendet"-Overlay, das automatisch erstellt wird, wenn Sie ein neues Projekt erstellen.

Photo_2019-06-26__1_42_30_PM.png

Spielen Sie das Spiel und probieren Sie es aus! Jetzt sollte, wenn Sie Kontakt mit dem Schleim haben, die Lebensanzeige abnehmen. Wenn die Lebensanzeige 0 erreicht, ist das Spiel beendet.

Photo_2019-06-26__1_42_58_PM.png

Cool! Jetzt haben wir eine Möglichkeit, den Spieler zu schädigen und zu verlieren.

Etwas fühlt sich jedoch etwas merkwürdig an, denn wir geben dem Spieler kein großes Feedback, dass er getroffen wurde, außer der Abnahme der Lebensanzeige.

Wir können dies reparieren, indem wir den Spieler und den Schleim voneinander wegstoßen, um sehr deutlich zu machen, dass sie Kontakt hatten, sowie den Spieler daran zu hindern, zu schnell Schaden zu nehmen, indem er mit dem Schleim schnell kollidiert.

Gehen Sie zum Verhaltenseditor des Schleims (Sie müssen möglicherweise zuerst die Haupt-Ebene auswählen) und fügen Sie ein Objekt antreiben-Verhalten unter dem Physikbereich hinzu. Verbinden Sie es unter dem Broadcast-Nachricht-Verhalten von zuvor und öffnen Sie seine Eigenschaften.

In den Eigenschaften ändern Sie das zweite Objekt zu "Spieler"-Tag, indem Sie den Tags-Bereich öffnen und "Spieler" auswählen. Ändern Sie den Kraftwert auf 200, den Objekt A-Multiplikator auf 0.25 und den Objekt B-Multiplikator auf 1.

Photo_2019-06-26__1_45_59_PM.png

Jetzt, wenn der Spieler mit dem Schleim kollidiert, wird er mit einer Kraft von 200 (1 × 200 Kraft) weggestoßen und der Schleim wird mit einer Kraft von 50 (0.25 × 200 Kraft). von dem Spieler weg gestoßen.

Unser Spiel beginnt jetzt wirklich gut zu werden! Das einzige Problem ist, dass wir einen unbesiegbaren Schleim haben und unser Spieler keine Möglichkeit hat, sich zu verteidigen. Im nächsten Teil werden wir eine Möglichkeit umsetzen, damit unser Spieler zurückschlagen kann.

Teil 6: Den Schleim besiegen

Um unserem Spieler zu ermöglichen, den Schleim zu attackieren, indem er auf ihn springt, müssen wir ändern, wie wir die Kollision behandeln, indem wir den Schleim ignorieren, wenn er mit dem unteren Teil des Spielers (den Füßen des Spielers) kollidiert, wenn er Schaden verursacht.

Öffnen Sie den Verhaltenseditor des Schleims und tippen Sie auf das Kollidieren-Verhalten, das wir im vorherigen Teil des Tutorials erstellt haben. Deaktivieren Sie die Option "Unten", was bedeutet, dass Kollisionen ignoriert werden, wenn der Schleim mit dem unteren Teil des Kollisionsrahmens des Spielers kollidiert.

Photo_2019-06-26__1_54_25_PM.png

Jetzt wird unser Schleim den Spieler nicht verletzen, wenn der Spieler auf ihn springt. Stattdessen wollen wir bei diesem Ereignis eine andere Logik ausführen.

Mit dem ausgewählten Kollidieren-Ereignis duplizieren Sie es und kehren Sie alle Optionen im neuen Kollidieren-Verhalten um, damit nur das Ereignis "Unten" aktiviert ist.

Photo_2019-06-26__1_54_42_PM.png

Dies wird als unser Einstiegspunkt dienen, wenn der Spieler auf den Schleim springt.

Als nächstes fügen Sie ein Objekt zerstören-Verhalten aus dem Objektverhalten-Bereich ein und verbinden Sie es. Es sollte bereits standardmäßig auf die Zerstörung unseres Schleims eingestellt sein.

Photo_2019-06-26__1_54_53_PM.png

Jetzt, wenn wir unser Spiel spielen, wird das Springen auf den Schleim ihn zerstören. Aber wiederum, wie es beim Treffen des Spielers mit dem Schleim zuvor war, fühlt es sich nicht sehr befriedigend an.

Wie wir es im vorherigen Teil des Tutorials getan haben, lassen Sie uns ein weiteres Objekt betreiben hinzufügen. Duplizieren Sie das Objekt antreiben Verhalten von der Logik des Spielers und verbinden Sie es unter dem Verhalten Objekt zerstören. Seine Eigenschaften können die gleichen wie das des älteren Objekt antreiben Verhaltens bleiben.

IMG_0121.JPG

Jetzt bekommen wir, wenn wir das Spiel spielen, einen schönen befriedigenden Sprung, wenn wir auf den Schleim springen.

IMG_0130.TRIM.GIF

Fazit & Übungen

Und das war's! Wir haben alle Punkte aus dem Einführungsteil abgehakt:

  • Anstatt zu gehen, springt der Schleim nach links oder rechts, um sich zu bewegen. Check!
  • Der Schleim springt in Richtung des Spielers. Check!
  • Wenn der Spieler zu weit weg ist, bewegt sich der Schleim nicht (ruht). Check!
  • Der Schleim entzieht dem Spieler Lebenspunkte beim Kontakt. Check!
  • Der Schleim wird besiegt, wenn der Spieler auf ihn springt. Check!

Wenn Sie bis hierher gekommen sind, sollten Sie jetzt ein gutes Verständnis darüber haben, wie Sie Ihren Feinden etwas Intelligenz verleihen können und sie selbstständig denken und Entscheidungen treffen lassen. Gut gemacht!

Es gibt jedoch immer noch mehr Dinge zu tun. Als Übung versuchen Sie, folgende Dinge selbst zu tun:

  1. Spielen Sie eine "getroffen/gestorben"-Animation für den Schleim ab, wenn der Schleim vom Spieler betreten wird.
  2. Spielen Sie eine "getroffen"-Animation für den Spieler ab, wenn der Schleim den Spieler angreift.
  3. Fügen Sie etwas Zufälligkeit darüber hinzu, wie weit der Schleim jedes Mal springt.

Eine abgeschlossene Projektdatei für dieses Tutorial finden Sie hier: Tutorial-Projekt herunterladen