AI davranışı yarış modelleri


9

Diyelim ki spline tabanlı bir yarış AI'nız var. Pistin etrafındaki fren ve direksiyonun temellerini zaten ele alabileceğini varsayın.

Çarpışmadan kaçınma, sollama, taslak oluşturma, engelleme ve diğer davranışları nasıl yapılandıracak ve uygulayacaksınız ki arabalarınız rekabetçi kalmaya devam edecek ancak ilginç yarışlar yapacak?

Makalelere / uygulamalara bağlantılar harika olurdu.


ne tür bir motor kullanıyorsunuz,
Harshal Benake

Yanıtlar:


7

Gördünüz mü Özerk Karakterler için Direksiyon Davranışlarını ? Yolda kalmak ve çarpışmalardan kaçınmak için bir " CrowdPathFollowing" algoritması düşünürdüm . Çizim, geçiş ve engelleme için bir "Akış Alanı Takibi" davranışını karıştırabilirsiniz - akış alanının oyuncunun geçmişini ve yansıtılan yolu izlemesini sağlayın, ancak geçerli konumu etrafında bölün.

      /-------------\
 ----<  [playerCar]  >-----
      \-------------/

Bu, AI'nın doğrudan arkasından takip etmesini ve bloke etmek için doğrudan önden hareket etmesine, ancak temiz geçişleri teşvik etmesine neden olmalıdır.


1
Tekliflerin farkındayım, ama iyi bir referans. Pek çok davranıştan biraz korkuyorum (yarış çizgisinde kalın, arabalardan kaçının, blok, taslak vb.) Bu yayalar için iyidir, ancak hareket etmeye devam etmesi gereken yarış arabaları için felakettir.
tenpn

Bu şeylerin çoğunu uygulayan OpenSteer API ile çalıştım. Ayarlamayı oldukça kolay buldum. Senin durumunda "SteerToAvoidCollision" ağırlığını çok yüksek yapardım. Ne yarış ne araçlar bilmiyorum ama davaların büyük çoğunluğu için doğru olsun, o zaman nedeniyle bir kenar durumda kalan ara sıra tümsek veya bash .... muhtemelen oldukça gerçekçi olduğunu düşünmek istiyorum
AShelly

Bu direksiyon araçları mı yoksa başka bir şey miydi? Solunuzda iki, sağınızda bir tane gibi sorunlara neden olan durumlardan korkuyorum. Ortalama vektör, sağ araçla temas kurmanıza rağmen, sağa doğru bir hareketle sonuçlanır.
tenpn

Çoğunlukla yayalarla çalışıyordum, bu yüzden işe yarayacağına yemin edemiyorum. Hatırlanması gereken bir şey, davranışların bir karışımı olması gerekmiyor - bir heirarşi olabilir. Böylece çarpışmadan kaçınma, başka herhangi bir şeye göre daha yüksek önceliğe sahip olabilir. Aracın sadece öngörülen yol sağ otomobilin yoluyla kesişinceye kadar sağa gideceğini tarif ederseniz, bu kolleksiyondan kaçınmak, baskın güç haline gelir. Ayrıca özel koşullar da ekleyebilirsiniz: örneğin, N karede güvenli bir yol bulunmazsa, sert fren ekleyin.
AShelly


1

Anti-Pattern: Hızlarını adapte eden rakipler

Maalesef Size desen veremiyorum, ama bir anti desen belirtmek istiyorum. Lütfen AI sürücülerinin hızını insan oynatıcıdan birine uyarlamaya çalışmayın. Bunun arkasındaki fikir, amatörler ve profesyoneller için adil yarış koşulları yaratmak ve çoklu zorluk seviyelerinin (ve bunların uygulanmasının) ihtiyacını terk etmektir.

Bununla birlikte, kağıtta iyi gelen şey pratikte korkunç görünüyor ve MotoGP serisi bu davranışı uygularken sefil bir şekilde başarısız oldu. Birkaç saniye hareketsiz durduğunuzda rakiplerin 5mp / s hızda sürdüğü ve oyunda iyileşip iyileşmediğinizi söylemenin imkansızlığıyla sonuçlandı (çok kötü geribildirim akıllıca)


Teşekkürler. Burada özellikle dengeleme veya zorluk seviyelerinden ziyade ilginç yarış davranışları hakkında konuşuyorum, ama bunu aklımda tutacağım.
tenpn

5
Neredeyse tüm yarış oyunları, oyuncuyu eylemde tutmak veya AI'yi iyi oyuncuya yakın tutmak için bir tür kauçuk bant içerir. Hile onunla ince olmak ve ne zaman kapatılacağını bilmek. Oyuncu fark ettikten sonra aldatılmış hisseder.
wkerslake

MotoGP durumu, genel olarak kauçuk bantlama ile ilgili bir sorundan ziyade, çok ileri götürme problemi gibi geliyor. Ön taraftaki sürücülerin daha fazla dikkatle sürmek ve arkadaki arabaların boşluğu kapatmak için daha umutsuzca denemek mantıksız değil ve bence bu şekilde modellemenin ve bunu oyuncuya şeffaf bir şekilde sunmanın bir değeri var.
Jibb Smart

Bu konuyla ilgili ilginç bir yazı: gamasutra.com/view/feature/3920/… Temelde sizi 3 AI yarışçı grubuna koyuyorlar ve yarış boyunca gruptan gruba ilerlemenize izin veriyorlar.
Felsir
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.