Wie man in Godot-Spielen Feinde erschafft
HeimHeim > Nachricht > Wie man in Godot-Spielen Feinde erschafft

Wie man in Godot-Spielen Feinde erschafft

Jul 17, 2023

In vielen Spielen gibt es einen Gegner, mit dem man kämpfen kann. Entdecken Sie die verschiedenen Möglichkeiten, wie Sie den feindlichen Kampf verstärken und verfeinern können.

Feinde spielen eine entscheidende Rolle dabei, Spiele für Spieler spannend und herausfordernd zu machen. Unabhängig davon, ob Sie einen 2D-Plattformer, einen Top-Down-Shooter oder ein Rollenspiel erstellen, kann das Hinzufügen von Feinden das Spielerlebnis erheblich verbessern.

Godots benutzerfreundliche Oberfläche und die intuitive Skriptsprache GDScript machen den Prozess effizient und angenehm.

Bevor Sie sich mit der Erstellung von Feinden befassen, richten Sie die Grundstruktur Ihres 2D-Spiels in der Godot-Spiel-Engine ein.

Erstellen Sie ein neues 2D-Projekt in Godot. Erstellen Sie in der Hauptszene eine neueKinematicBody2DKnoten und benennen Sie ihnSpieler . Fügen Sie im Player-Knoten eine hinzuCollisionShape2D mit einer rechteckigen Form, die die Hitbox des Spielers sein wird. Fügen Sie außerdem a hinzuSpriteKnoten als visuelle Darstellung des Spielercharakters.

Der in diesem Artikel verwendete Code ist in diesem GitHub-Repository verfügbar und kann unter der MIT-Lizenz kostenlos verwendet werden.

Hängen Sie den folgenden GDScript-Code anSpielerKnoten, um grundlegende Bewegungen zu ermöglichen:

Mit diesem Code kann sich der Spieler mit den Pfeiltasten oder den WASD-Tasten nach links, rechts, oben und unten bewegen.

Nachdem Sie nun einen Spielercharakter eingerichtet haben, können Sie einen einfachen Feind erstellen.

Erstellen Sie eine neue Szene und fügen Sie eine hinzuStaticBody2DKnoten benanntFeind . Fügen Sie innerhalb des Enemy-Knotens eine hinzuCollisionShape2D Knoten mit einer Kreisform, um die Hitbox des Feindes zu definieren. Fügen Sie außerdem a hinzuSpriteKnoten, um den Feind visuell darzustellen.

Wenn die Kollision eingerichtet ist, ist der Feind bereit, mit dem Spieler und anderen Elementen in Ihrer Spielwelt zu interagieren.

Das Erstellen von Feinden, die dem Spieler folgen, fügt dem Spiel eine neue Herausforderung hinzu.

Erstellen Sie eine neue Szene für den folgenden Feindtyp und fügen Sie eine hinzuKinematicBody2DKnoten benanntFolgeFeind mit einem CollisionShape2D. Hängen Sie den folgenden GDScript-Code an den FollowEnemy-Knoten an, damit dieser dem Player folgt:

Jetzt dieFolgeFeindbewegt sich in jedem Frame zur Position des Spielers.

Jetzt können Sie den Feind dazu bringen, Kugeln auf den Spieler zu schießen. Erstellen Sie eine neue Szene und benennen Sie sieBullet.tscn . Füge hinzu einKinematicBody2D Knoten zur Szene. Hänge anBullet.gd Skript zum KinematicBody2D-Knoten in der Bullet.tscn-Szene. Fügen Sie den folgenden Code hinzu, um die Bullet-Klasse zu definieren:

Erstellen Sie nun einen neuen Knoten für den Feind mit Kugeln und benennen Sie ihnSchießenFeind . Fügen Sie innerhalb des ShootingEnemy-Knotens eine hinzuCollisionShape2DKnoten mit einer rechteckigen Form als Hitbox.

Hängen Sie den folgenden GDScript-Code an den ShootingEnemy-Knoten an, damit er Kugeln abfeuert:

Der Feind schießt nun regelmäßig Kugeln auf die Position des Spielers. Verwenden Sie eine BedingungWennAnweisung, um zu überprüfen, ob dieShoot_timerist kleiner als 0. Wenn ja, dann schießen Sie die Kugel ab.

Zusätzlich zu den Feinden, die dem Spieler folgen oder auf ihn schießen, kann ein sich zufällig bewegender Feind Ihrem Spiel ein Element der Unvorhersehbarkeit und Herausforderung verleihen. Das Erstellen eines Feindes mit zufälligen Bewegungsmustern erfordert eine Kombination aus einfacher Logik und Zufallszahlengenerierung.

Erstellen Sie zunächst eine neue Szene und fügen Sie eine hinzuKinematicBody2DKnoten benanntZufälliger Feind . Erstellen Sie ein neues Skript mit dem NamenRandomEnemy.gd und hängen Sie es an den RandomEnemy-Knoten an. Das Skript übernimmt die Zufallsbewegungslogik.

Es gibt viele zusätzliche Funktionen, die Sie Ihren Feinden hinzufügen können, um das Gameplay interessanter zu gestalten.

Bosskämpfe dienen als Höhepunkt Ihres Spiels und sorgen für unvergessliche und herausfordernde Begegnungen, die das Können und die Ausdauer der Spieler auf die Probe stellen. Bossgegner sind in der Regel größer und mächtiger als normale Gegner, sodass die Spieler bestimmte Strategien und Taktiken anwenden müssen, um sie zu besiegen.

Implementieren Sie ein dynamisches Spawning-System, das Feindbegegnungen basierend auf der Leistung des Spielers, seinem Standort oder Ereignissen im Spiel anpasst. Dadurch entsteht ein reaktionsschnelleres und personalisierteres Spielerlebnis.

Erstellen Sie Feinde, die sich an die Umgebung anpassen können, beispielsweise Feinde, die fliegen, schwimmen oder Wände erklimmen können. Diese Vielseitigkeit eröffnet neue Gameplay-Möglichkeiten und fordert die Spieler heraus, sich durch verschiedene Terrains zu bewegen.

Weisen Sie den Feinden bestimmte Schwächen und Widerstände zu und ermutigen Sie die Spieler, mit verschiedenen Ansätzen und Taktiken zu experimentieren. Einige Feinde können gegenüber bestimmten Angriffen oder Elementen anfällig sein, während andere immun oder resistent sind.

Fügen Sie ein Maß an Unvorhersehbarkeit hinzu, indem Sie Ihren Feinden zufällige Verhaltensvariationen geben. Beispielsweise kann ein Feind in verschiedenen Spieldurchgängen unterschiedliche Angriffsmuster oder Bewegungsgeschwindigkeiten haben, wodurch das Gameplay frisch und wiederspielbar bleibt.

Durch die Einbeziehung einer Vielzahl dieser zusätzlichen Funktionen können Sie das Gegnerdesign Ihres Spiels bereichern und jede Begegnung für die Spieler einzigartig und unvergesslich machen.

Denken Sie daran, dass die Einführung neuer Mechaniken zwar spannend sein kann, es jedoch entscheidend ist, das Gleichgewicht und die Kohärenz innerhalb des Gesamtdesigns Ihres Spiels aufrechtzuerhalten.

Berücksichtigen Sie beim Erstellen von Feinden in Ihrem Godot-Spiel die folgenden Best Practices:

Verwenden Sie eindeutige Gegnerdesigns, die sich von der Umgebung abheben, um Feinde leicht erkennbar zu machen.

Erwägen Sie die Verwendung von Farbkodierungen oder einzigartigen Silhouetten, um die Gegnertypen zu unterscheiden. Stellen Sie sicher, dass feindliche Animationen und visuelle Effekte ihr Verhalten und ihre Angriffe verstärken.

Führen Sie im Laufe des Spiels nach und nach Feinde mit zunehmender Komplexität ein. Testen Sie Gegnerbegegnungen mit Spielern unterschiedlicher Fähigkeitsstufen, um sicherzustellen, dass die Herausforderungen für alle Spieler geeignet sind. Vermeiden Sie plötzliche Schwierigkeitsspitzen, die die Spieler frustrieren können.

Gestalten Sie Feinde mit Angriffen, denen der Spieler ausweichen oder die er blocken kann, und geben Sie ihnen so die Möglichkeit zu reagieren. Verwenden Sie eine faire Hitbox für die Angriffe der Feinde und vermeiden Sie Angriffe, deren Treffer über ihre visuelle Darstellung hinausgehen. Verwenden Sie Warnschilder oder Hinweise, um auf gefährliche Angriffe hinzuweisen.

Testen Sie während der Entwicklung regelmäßig Gegnerbegegnungen, um deren Spaßfaktor und Schwierigkeitsgrad zu bewerten. Sammeln Sie Feedback von Spielern und nutzen Sie es, um das Verhalten, die Stärken und Schwächen des Gegners zu optimieren.

Soundeffekte spielen eine entscheidende Rolle bei der Schaffung einer immersiven und fesselnden Spielumgebung. Wenn ein Feind einen Treffer erleidet, fügen Sie geeignete, urheberrechtsfreie Soundeffekte hinzu, um das Gefühl der Wirkung und des Engagements im Kampf zu verstärken.

Ihr Spiel kann jeden Schlag oder Schlag mit unterschiedlichen Audiohinweisen begleiten, die der Art des Angriffs und den Eigenschaften des Feindes entsprechen.

Feinde sind ein grundlegender Bestandteil vieler Spiele und bieten Herausforderungen, Hindernisse und ein Erfolgserlebnis, wenn sie besiegt werden. Durch das Hinzufügen verschiedener Arten von Feinden mit unterschiedlichem Verhalten, Gesundheitspunkten und Schießmechaniken können Sie den Spielern abwechslungsreiche und ansprechende Spielerlebnisse bieten.

Denken Sie daran, den Schwierigkeitsgrad auszugleichen, visuelles und akustisches Feedback zu geben und Ihre Feinde gründlich zu testen, um den Spielern ein unterhaltsames und lohnendes Spielerlebnis zu bieten.

Imran ist Autor bei MUO mit 3 Jahren Erfahrung im Schreiben technischer Inhalte. Er hat auch als Full-Stack-Entwickler mit vielen Startups zusammengearbeitet. Er schreibt leidenschaftlich gerne und hilft anderen dabei, etwas über Technologie zu lernen. In seiner Freizeit erforscht er gerne neue Programmiersprachen.

KinematicBody2DSpielerCollisionShape2DSpriteSpielerStaticBody2DFeindCollisionShape2DSpriteKinematicBody2DFolgeFeindFolgeFeindBullet.tscnKinematicBody2DBullet.gdSchießenFeindCollisionShape2DWennShoot_timerKinematicBody2DZufälliger FeindRandomEnemy.gd