Communitygithub.com

Spieleentwicklung: KI für Gegner (Game AI)

26 Agenten-Fähigkeiten für die Spieleentwicklung: Unity, Unreal Engine 5, Blender-Modellierung, Shader und Audio-Pipelines.

Was ist Spieleentwicklung: KI für Gegner (Game AI)?

Diese Fähigkeit bietet eine umfassende Anleitung zur Implementierung von Game AI, die nicht auf akademisches maschinelles Lernen abzielt, sondern auf Unterhaltung und Spieldynamik. Sie behandelt die vier Kernschritte der Game-AI-Architektur: Entscheidungsarchitekturen (Behavior Trees vs. Finite State Machines), sensorische Wahrnehmungssysteme (Sicht und Gehör), NavMesh-Pfadfindung mit taktischem Flanking sowie die Inszenierung von Fähigkeiten und die Illusion von Kompetenz. Entwickler lernen, wie sie Gegner-KIs erstellen, die glaubwürdig, fordernd und fair wirken – mit visuellen und akustischen Hinweisen, die dem Spieler das Gefühl geben, einen überlegenen Gegner auszutricksen. Die Fähigkeit ist plattformunabhängig und eignet sich für Engines wie Unity und Unreal Engine 5. Sie enthält eine spezifikationsähnliche Vorlage für Verhaltensbäume (ENEMY-AI-SPEC.md) sowie ein praktisches Beispiel zur Behebung von „unfairen“ Scharfschützen-KIs, das die Spielerzufriedenheit drastisch steigert. Das Ziel ist es, Game AI zu entwickeln, die Herausforderung und Spaß in Einklang bringt, anstatt auf perfekte Reaktionszeiten oder übermenschliche Fähigkeiten zu setzen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add poorvith-mp/skills-gamedev

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Game AI

Kernphilosophie

Game Artificial Intelligence (KI) ist kein akademisches maschinelles Lernen, das versucht, die Zukunft vorherzusagen oder menschliche Schachgroßmeister zu schlagen. Game AI ist eine Illusion für Unterhaltung und Spieldynamik. Ein NPC, der mit übermenschlicher Genauigkeit, pixelgenauen Zielen und null Zögern spielt, ist frustrierend und macht keinen Spaß. Game AI muss klare Ankündigungen, lesbare taktische Entscheidungen, glaubwürdige sensorische Wahrnehmung und eine dynamische Schwierigkeitsanpassung bieten, die dem Spieler das aufregende Gefühl gibt, einen kompetenten Gegner auszutricksen.


4-Schritte Game-AI-Architektur

Schritt 1: Entscheidungsarchitekturen: Behavior Trees vs. FSMs

  1. Behavior Trees (der Industriestandard für Kampf-KI):
    • Basieren auf hierarchischen Knoten, die von links nach rechts ausgewertet werden:
      • Komposite:
        • Sequenz ($ o$): Führt Kindknoten nacheinander aus; schlägt fehl, wenn ein Kind fehlschlägt (z. B. Hat Waffe $ o$ Nachladen $ o$ Zielen).
        • Selektor ($?$): Führt Kindknoten aus, bis einer erfolgreich ist (z. B. Fliehen bei niedriger Gesundheit $?$ Nahkampfangriff $?$ Deckung suchen).
      • Decorators: Bedingte Tore (z. B. Invertieren, Zeitlimit, Abklingzeit).
      • Blätter / Aufgaben: Konkrete ausführbare Aktionen (z. B. MoveToPosition, PlayAnimation).
  2. Endliche Automaten (FSMs):
    • Am besten geeignet für einfache Umgebungswesen oder diskrete Bosse (Zustände: Patrouille, Untersuchen, Verfolgen, Angreifen, Fliehen).

Schritt 2: Sensorische Wahrnehmungssysteme (Sicht & Gehör)

  1. Sichtkegel (Sehwahrnehmung):
    • Bewerte die Sichtbarkeit eines Ziels anhand von 3 Prüfungen:
      • Entfernungsprüfung: Ist der Spieler innerhalb des Sichtradius ($D \le R_{\text{max}}$)?
      • Blickwinkel: Ist das Skalarprodukt des Vorwärtsvektors des Gegners und der Richtung zum Spieler $\ge \cos(\theta / 2)$?
      • Sichtlinie (Raycast): Trifft ein physikalischer Raycast von den Augen des Gegners zum Rumpf des Spielers auf Weltgeometrie oder den Spieler?
  2. Akustische Wahrnehmung (Hören):
    • Verbreite Schallereignisse in der Spielwelt (z. B. Schuss = 40 m Radius; Schritte = 8 m Radius).
    • Alarmierte NPCs wechseln in einen Untersuchen-Zustand, der zur Schallquelle führt.

Schritt 3: NavMesh-Pfadfindung & taktisches Flanking

  1. A-Pfadfindung auf Navigationsnetzen*:
    • NPCs fragen vorgebackene NavMeshes für Pfaddurchquerungen ab.
    • Reziproke Geschwindigkeitshindernisse (RVO / ORCA): Implementiere lokale Kollisionsvermeidung, damit Gruppen von 5 Feinden nicht in einer identischen Einzeldatei marschieren oder Türeingänge verstopfen.
  2. Taktische Deckungssuche & Flankenangriff:
    • Nutze Environmental Query Systems (EQS): Probenahme von Kandidatenpunkten um den Spieler herum, Bewertung der Punkte basierend auf Deckungsgeometrie-Winkel, Entfernung und Sichtlinienschutz.

Schritt 4: Ankündigung & die Illusion von Kompetenz

  1. Ankündigung von Absichten:
    • Bevor NPCs einen tödlichen Angriff ausführen, müssen sie ihre Absicht durch Audiocues („Flanke links!“, „Granate raus!“), Auflade-Animationen oder Laserzielstrahlen ankündigen.
  2. Der „Stormtrooper-Effekt“ (kontrollierte Inkompetenz):
    • Der erste Schuss auf einen ahnungslosen Spieler sollte absichtlich um 1 Meter verfehlen, um den Spieler zu warnen und Adrenalin zu erzeugen, bevor echter Schaden zugefügt wird.

Lieferformat: Spezifikation des Feind-KI-Verhaltensbaums (ENEMY-AI-SPEC.md)

# Spezifikation des Kampf-KI-Verhaltensbaums: [NPC-Archetyp]

## 1. Wahrnehmungsparameter
- **Sichtweite**: 25 Meter (Tag) / 14 Meter (Nacht)
- **Blickwinkel**: 110 Grad
- **Hörradius**: Schüsse = 50 m | Laufende Schritte = 12 m | Geducktes Gehen = 0 m (leise)
- **Reaktionszeitpuffer**: 350 ms Verzögerung zwischen Zielerfassung und Angriffsauslösung

## 2. Master-Verhaltensbaum-Hierarchie

Root (Selektor) ├── [Decorator: Gesundheit < 20 %] -> Sequenz (Notflucht) │ ├── FindeDeckungWegVomSpieler() │ ├── BewegeZuDeckung() │ └── SpieleAnimation("Heilen") ├── [Decorator: KannSpielerSehen == Wahr] -> Selektor (Kampf-Ast) │ ├── [Decorator: InNahkampfreichweite] -> Sequenz (Nahkampfschlag) │ │ ├── SpieleAudioBark("Angriff!") │ │ ├── AnkündigungsAufladung(400 ms) │ │ └── FühreNahkampfSchadenAus() │ └── Sequenz (Fernkampf-Gefecht) │ ├── Selektor (Deckung nehmen oder flankieren) │ │ ├── [Decorator: InDeckung] -> ZielenAufSpieler() │ │ └── BewegeZuFlankenPosition() │ └── Feuerstoß(3_Schüsse) └── Sequenz (Patrouille / Leerlauf) ├── WähleNächstenPatrouillenpunkt() ├── BewegeZuPunkt() └── WarteZufällig(2 s, 5 s)


## 3. Audio-Barks & Spieler-Rückmeldung
- **Beim Entdecken des Spielers**: *„Kontakt! Auf neun Uhr!“*
- **Beim Granatenwurf**: *„Splitter raus! In Deckung!“*

Praxisbeispiel: Behebung einer „unfairen“ Scharfschützen-KI

  • Problem: Spieletester hassten einen Scharfschützen-Gegner, weil er Spieler sofort aus der Ferne tötete, ohne Vorwarnung.
  • Lösung: Hinzufügen einer sichtbaren roten Laserziel-Linie, die 2,0 Sekunden lang über den Boden streicht, bevor der Schuss erfolgt, gepaart mit einem eindeutigen Audio-Ladegeräusch.
  • Ergebnis: Spielertode fühlten sich fair und vermeidbar an; die Zufriedenheit der Tester stieg von 32 % auf 88 %.

Überprüfungs-Checkliste

  • Wahrnehmungssystem validiert Entfernung, Sichtkegel sowie physikalische Sichtlinie (Raycast).
  • Verhaltensbaum priorisiert Überlebens-/Fluchtzustände vor offensiven Aktionen.
  • Alle tödlichen Angriffe enthalten lesbare Ankündigungsanimationen oder Audio-Barks.
  • NavMesh-Agenten implementieren lokale Kollisionsvermeidung (RVO), um Türverstopfungen zu vermeiden.
  • Feindliche Reaktionszeiten enthalten realistische menschliche Verzögerungspuffer (200–400 ms).

Anti-Patterns

  • Allwissende KI: Feinde kennen die Spielerkoordinaten durch feste Wände hindurch, ohne Wahrnehmungsprüfungen.
  • Frame-Null-Ausrichtung: Feinde drehen sich um 180° und feuern in einem einzigen Frame mit 100 % Genauigkeit.
  • Die Einzeldatei-Lemminge: 8 Feinde marschieren in einer geraden Linie durch einen einzigen Flur, um einen nach dem anderen abgeschlachtet zu werden.

Verwandte Skills