“Kaleni Koru” tipi bir oyunda bir oyuncunun “gücünü” hesaplama


10

Her oyuncunun bir kalesi olduğu ve rakibin kalesini yok etmek için birimler göndermesi gereken "Kaleni Koru" tipi bir oyun yapıyorum. Şöyle görünüyor (ve evet, bu gerçek oyun, hızlı bir boya çizimi değil ..):

resim açıklamasını buraya girin

Şimdi, rakibin AI'sını uygulamaya çalışıyorum ve 4 farklı AI seviyesi oluşturmak istiyorum: Kolay, Normal, Sert ve Hardcore. Daha önce hiç "ciddi" yapay zeka yapmadım ve bu sefer oldukça eksiksiz bir yapay zeka oluşturmak istiyorum.

Benim fikrim, bir kalenin şu anki sağlığına ve birimlerinin bireysel "güç" puanına dayanarak bir oyuncunun "güç" puanını hesaplamaktır. Sonra, AI sadece oyuncununkine yakın bir skor tutmaya çalışırdı ( Kolay bunun altında kalır, Normal yanında kalır ve Sert onun üzerine çıkmaya çalışırdı). Ama bir oyuncunun güç skorunu nasıl hesaplayacağımı bilmiyorum. Dikkate alınacak çok fazla değişken var ve bunları önemli bir sayı (güç seviyesi) oluşturmak için nasıl kullanacağımı bilmiyorum.

Birisi bana bu konuda yardımcı olabilir mi?

Bir oyuncunun güç puanını etkilemesi gereken değişkenler şunlardır:

Mevcut kale sağlığı, birimin toplam sağlık, hasar, hız ve saldırı menzili. Ayrıca, oyuncu Gelir (para çantası), hasar (+ Hasar) ve hız (+ hız) artırabilir ... Bunları skora nasıl dahil edebilirim?

Buraya gerçekten takıldım ... Yoksa bu tür bir oyun için yapay zekayı uygulamanın başka bir yolu var mı?

Değerli zamanınız için teşekkürler.


Herhangi bir bölüm yeterince net değilse veya oyunda bir işlevi nasıl ele aldığım hakkında daha fazla bilgi sunmam gerekirse, bir yorum bırakın ve sorumu düzenleyeceğim. Ayrıca - bu bir topluluk wiki mi olmalı? Ben şahsen öznel ya da tartışmacı olarak görmüyorum ama yanılıyor olabilirim.
Jesse Emond

Yanıtlar:


4

Bunu anlatmanın ne kadar kolay olacağından emin değilim, ancak her değişkenin ne kadar önemli olduğunu bulmaya çalışmak muhtemelen başlangıç ​​noktasıdır (50 sağlık kazanırsanız, 10 saniye daha uzun sürebilir; 5 hasar alırsanız, 50 canı 10 saniye daha hızlı yok edebilir; vb ...). Bundan sonra, yetenekleri normalleştirmeye çalışmak değerli olabilir (50 sağlık 10 hız ile aynı 100 gelir ile aynıdır).

Bunun bazılarını bulmanın kolay bir yolunun sadece simülasyonları çalıştırmak olduğunu hayal ediyorum. Bir oyuncuyu tek bir seviyede tutun ve ardından değişkenleri ölçeklendirmelerine göre ayarlamaya başlayın.


3

Her şeyden önce, gelir veya hız yükseltmeleri gibi kısa vadeli güzellikleri hesaba katmam - oyuncuların bu şeylerin bir süre onlara yardım etmesini beklediğini düşünüyorum, AI'nın hemen adapte olmasını ve güçlenmesini değil.

Ve geri kalanı için: deneyin. Sizin için makul görünen bir güç formülü ile başlayın (nimbus57 'yanıtı iyi bir başlangıç ​​noktası olmalıdır) ve daha sonra formülünüzü ve yapay zekayı tekrar tekrar geliştirin.

Son fakat en az değil, temel formülün oyuncu tarafından haksız avantaj elde etmek için istismar edilemediğinden emin olun - nasıl çalıştığı da çok açık olmamalı, bu yüzden biraz rastgelelik çekin.

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.