2D yarış oyunu için AI oluşturma ipuçları


10

2D yarış oyunu için bir AI yapmak için bir okul projem var, burada diğer AI'larla rekabet edecek ( çarpışma yok ).

Yarış pistinin siyah beyaz bir bitmap görüntüsü verildi, haritayı aldıktan sonra arabamız için temel istatistikleri (taşıma, hızlanma, maksimum hız ve frenler) seçmemize izin verildi. AI oyunun sunucusuna bağlanır ve mevcut hızlanma ve yönlendirme için ona birkaç kez ikinci bir sayı verir. Bu arada seçtiğim dil C ++. Sorular:

En iyi strateji veya algoritma nedir (denemek ve kazanmak istediğimden beri)? Şu anda net ve kendimden bir ya da iki tane bulunan bazı fikirler var, ancak benim bakış açımın en iyilerinden biri olduğunu kodlamaya başlamadan önce istiyorum. Bu konuda hangi iyi kitaplar var? Hangi sitelere başvurmalıyım?

2d  c++  ai  racing 

1
Fizik simülasyonunun doğruluğuna bağlı olacaktır. Eğer fizik yoksa, her zaman tam hıza giderdim ... aksi halde, her turdan önce yavaşlamaya ve dönüş boyunca 2/3 hızlanmaya başlardım.
Nate

Yanıtlar:


2

Temel bir yapay zeka kurun, ardından kendi arabanızı kullanmak için bir API oluşturun. Eğer yenebilirseniz, yapay zekanızı olumlu şekilde güçlendirebilecek bir kayıt algoritması kurmalısınız. Bu, AI'nızın eylemlerini değiştirmek için sinir ağı olabilir. Köşeye kademeli frenleme gibi.

Projenizde harici kitaplıklar kullanma izniniz var mı? Eğer öyleyse, FANN'a bakmanızı öneririm . Hızlı bir sinir ağı kütüphanesidir; kendi yazınızı kurtarmak için. Kaynak koduna ihtiyacınız varsa, her zaman kendiniz yazabilirsiniz, ancak biraz zaman alabilir.


1
Bana abartılı geliyor.
o0 '.

2
@ Lo'oris Kesinlikle, özellikle bu muhtemelen bir çözüm oluşturmak için sınırlı bir süreye sahip oldukça basit bir okul projesi olduğundan, denetimli öğrenmenin sadece pratiklik uğruna bunun için bir yol olduğunu düşünmüyorum.
Ray Dey

Kurulumu o kadar da zor değil ve OP'nin yaptığı konunun seviyesine bağlı olarak, bu yaklaşımın aşırıya kaçması gerekmeyebilir. Yapacağım (ve yaptım), eğlenceliydi ve etkili sonuçlar elde etmek oldukça basit olabilir. En zor kısmı, ön işlemede ne yapılması gerektiğini belirliyor ...
deceleratedcaviar

2

AI'yı çalıştırmadan önce haritayı önceden işleyebiliyorsanız, haritanın bölümleri aracılığıyla en iyi yarış hatlarını hesaplayın.

Bu mesaj GameDev.net üzerinde öneri numarası vardır.

AI Bilgelik kitapları AI yarış hakkında yazı ÇOK var. Onları kesinlikle tavsiye ederim, özellikle haritayı AI'nızda bir veri yapısı olarak nasıl temsil edebileceğinizi açıklayan makalelere sahip.

Gördüğüm başka bir yöntem, muhtemelen en uygun yolu elde etmek için birkaç bin iterasyon alacak basit takviye öğrenme (Q-öğrenme). Bu makalede açıklanmıştır: http://www.cs.ubc.ca/~zhijin/540report.pdf


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.