Wie programiert man ein AI Gegner?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Ja das ist natürlich möglich, anders würden Videospiele nicht funktionieren. Ob man das Ganze jetzt sonderlich ausgereift ohne großartige Übung (wie ich das hier herauslese) selbst vernünftig implementieren kann, ist die andere Frage und kommt natürlich auch auf die gewünschte Implementierung an.

Ich würde jetzt einfach mal versuchen, einen groben Denkanstoß zu geben.

  1. Damit Gegner Sinn ergeben und dir Leben abziehen können, benötigt dein Player Objekt ein Attribut Health. Wenn deine Gegner bspw. schießen, benötigst du Projektile, von denen du überprüfst, ob diese den Player getroffen haben und wenn dem so ist, muss der gewünschte Schadenswert von health abgezogen werden.
  2. Zufällige Erscheinung neuer Gegner ist kein Hexenwerk, dafür einfach eine Logik überlegen, mit der man das Einrichten eines neuen Gegner Objekts abhängig von einer zufälligen Zahl machen kann. "Zufällige" Zahlen lassen sich üblicherweise mit der Random Klasse der Programmiersprache erzeugen.
  3. Der kniffligste Punkt ist das Verfolgen des Players, da muss man dafür sorgen, dass Gegner jederzeit bzw. bei Sichtkontakt wissen, an welchen Koordinaten der Player sich befindet. Für die Sichtkontakt-Variante benötigt man natürlich noch weitere Logik.

Das Bewegen der Gegner Richtung Player ist der Punkt, an dem man beliebig ausgefeilt vorgehen kann, klar kann man nur die Gegner einfach nur statisch auf den Player mit einer gewissen Geschwindigkeit auf den Gegner zulaufen lassen. Das ist das Einfachste, aber natürlich auch am Unausgefeiltesten. Für den Anfang kann man z.B. erstmal dafür sorgen, dass Gegner nicht durch andere Gegner durchrennen können und dann warten müssen. Nach und nach dann immer weiter differenzieren.

Ich hoffe das hat ein bisschen geholfen, für die genaue Implementation lohnt es sich, dann selbst Gedanken zu machen oder mal die Suchmaschine der Wahl nach etwaigen Beispielen zu durchforsten.


Exozockt 
Beitragsersteller
 04.04.2023, 19:27

Kannst du mir ein Video empfehlen?

0
HeavyRain161  04.04.2023, 22:22
@Exozockt

Nein leider nicht. Aber ich würde empfehlen einfach generell ein bisschen C# Basics zu lernen, da ich aus deiner Frage rauslese, dass das momentan noch nicht der Fall ist. Ansonsten halt einfach mal bei YouTube selbst suchen ;-)

1