Nehmen wir also an, Sie haben eine Spline-basierte Renn-KI. Angenommen, es kann bereits die Grundlagen des Bremsens und Lenkens auf der Strecke beherrschen.
Wie würden Sie Kollisionsvermeidung, Überholen, Zeichnen, Blockieren und andere Verhaltensweisen strukturieren und implementieren, damit Ihre Autos wettbewerbsfähig bleiben, aber interessante Rennen fahren?
Links zu Papieren / Implementierungen wären fantastisch.
Antworten:
Haben Sie Lenkverhalten für autonome Zeichen gesehen ? Ich würde einen " CrowdPathFollowing" -Algorithmus in Betracht ziehen , um auf der Strecke zu bleiben und Kollisionen zu vermeiden. Möglicherweise können Sie ein "Flow Field Following" -Verhalten zum Zeichnen, Übergeben und Blockieren einmischen. Lassen Sie das Flow-Feld dem vergangenen und projizierten Pfad des Spielers folgen, teilen Sie es jedoch um seinen aktuellen Standort auf.
Das sollte dazu führen, dass die KI dazu neigt, direkt hinter ihm zu folgen und sich direkt vor ihm zu bewegen, um zu blockieren, aber saubere Pässe zu fördern.
quelle
Auf der diesjährigen AI Game Dev-Konferenz in Paris gab es teilweise eine Sitzung darüber. Die Folien und eine Zusammenfassung finden Sie hier:
http://aigamedev.com/open/coverage/paris10-report/#session9
quelle
Anti-Pattern: Gegner passen ihre Geschwindigkeit an
Leider kann ich Ihnen keine Muster geben, aber ich möchte ein Anti-Muster nennen. Bitte versuchen Sie nicht, die Geschwindigkeit der KI-Treiber an die des menschlichen Spielers anzupassen. Die Idee dahinter ist, faire Rennbedingungen für Amateure und Profis zu schaffen und die Notwendigkeit mehrerer Schwierigkeitsgrade (und deren Umsetzung) aufzugeben.
Was sich auf dem Papier gut anhört, erweist sich jedoch in der Praxis als schrecklich, und die MotoGP-Serie hat dieses Verhalten kläglich nicht umgesetzt. Es endete damit, dass die Gegner mit 5 MP / h fuhren, als Sie ein paar Sekunden still standen und nicht feststellen konnten, ob Sie sich im Spiel verbessert haben (sehr schlechtes Feedback).
quelle