Bir bilgisayar rakibini canlı hissettiren şey nedir?


107

Bir RPG oyununda AI'nın daha gerçek hissetmesini sağlamaktan bahseden önerilen herhangi bir blog veya teknik yazı var mı? (Özellikle sırayla mücadele mücadele.)

Dışarıda bir şeyler olması gerektiğini biliyorum, ancak yalnızca AI'nin arkasındaki algoritmalar hakkında konuşan kağıtları buluyorum. "Bir bilgisayar rakibini canlı hissettiren şey budur" çizgisi boyunca daha fazla arıyorum. Risk almak, kolaylaşmak, geri çekilmek vb.


Çok fazla müthiş cevap var, keşke birkaç tanesini de kabul edebilsem. Herkese teşekkürler!


Bilgisayar bir strateji ile ortaya çıkarsa, bu onu daha canlı hissettirir. Korku AI (Bu konuda fazla aslında metne oldu inanıyoruz rağmen) o (diğer şeyler arasında) oyuncu geçerdi çünkü övgüyle
thedaian

10
Ölüm animasyonu. Patlama. Cidden ama çevreyi sana karşı kullanmak. Ve hatalar yapmak - ama akıllıca hatalar. Sağ? Öngören biri gibi, sadece mantık zincirinde bir noktada yanlış varsayımı yaptı.
Mühendis

Bilgisayar karakterlerinin yaşadığını hissetmek isteyip istemediğiniz veya tüm bilgisayar karakterlerini kontrol eden sizin gibi başka bir insan oyuncuya karşı mücadele etme izleniminiz olup olmadığı açık değil mi?
Nikko,

4
Bir bilgisayarın nasıl hayatta
kaldığını

Sen okumak isteyebilirsiniz bu . Bir karar ağacı üzerinde bulanık mantık kullanır.
Jonathan Dickinson

Yanıtlar:


109

Hatalar. Hiçbir şey, on beş mil öteden sizi vurabilecek bir AI rakibinden daha kötü olamaz ya da her zaman mükemmel kazanma stratejisini seçmez. Suya batırır ve rutin oynadığınızı açıkça gösterir. Hatalar AI'nın daha insani görünmesini sağlayabilir.

Birçok FPS oyunu, AI'yı ilk birkaç çekimi ile kaçırmaya zorlayarak, oyuncuya öldürmeye gitmeden önce AI'nın orada olduğunu bildirir.

Strateji oyunları bazen bir bilinçaltı strateji seçebilir veya tehditleri değerlendirirken bazılarının oranlarını kasten göz ardı edebilir.

Üzerinde çalıştığım bir yarış oyunu, oyuncu yakındayken hesaplandı ve daha sonra AI otomobillerini köşeden aşağıya atıp bir lastik patlatmak için bir zar attı. Gerçekçi AI için övgüyle karşılandı.

Ancak kusurlu AI oluşturmak hala zor bir iştir. Saçma bir hata yapana kadar mükemmel bir eylemden sonra mükemmel bir eylem yapmak yerine, ikna edici bir oranda inandırıcı hatalar yapmak zorundasınız. Mükemmel bir AI oynamaktan bile daha kötü olabilir. Örneğin, yukarıda yarış AI'sında çalışan programcı, bir otomobilin ne anlama geldiğini ve inandırıcı bir alt amaca neden olmak için AI'nın ne girmesi gerektiğini modellemek için çok zaman harcadı. Her zamanki gibi, oyun testi hayati önem taşıyor.

İşte bu tür hataların ne olduğuna dair iyi bir makale: http://www.gamasutra.com/view/feature/3947/intelligent_mistakes_how_to_.php


38
“Birçok FPS oyunu, AI'yı ilk birkaç atışıyla özlüyor, oyuncuya AI'nın orada olduğunu, öldürmeye gitmeden önce uyardığını söylüyor”: GURPS'ta, bu Imperial Stormtrooper Marksmanship Academy eğitimini çağırdık.
kaos

4
Çok fazla hata ve aptal bir bilgisayar.
LarsTech

30
Sonsuz enerji, bir sürü fırtına askerinin yanındaki bir hapishane hücresine bir sürü kırmızı tişörtlü adam yerleştirilerek üretilir. Fırtına askerleri hedeflerine vuramazlar ve kırmızı tişörtlülerin ölmesi gerekir .
zzzzBov

Cevabın farkına varıyorum ve bir bilgisayarın mükemmelliği ile bir insanın mükemmelliği arasındaki çizgiyi düşünüyorum. Ne değişiyor? Kabus düzeyindeki bir CPU'dan farklı olan şeydeki ölüm gibi harika bir quake3 oyuncusu mu?
Pitto

Bir AI'nın alabileceği tüm olası hareketleri, koşullara ve AI'nın atanan kişilik özelliklerine (örneğin, Bloodlust, korkmuşOfDeath, öfke vb.) Dayalı hareketlere ağırlık vererek hesaplarım. Bu, aşağıdaki gibi senaryolar için harika çalışır: siz ve AI ölmek üzeresiniz, yalındır bir AI sizi daha sonra sağlık paketinden alır, ama korkan bir AI yüksek, sizi yenmeye çalışır ve sizi yener. Yüksek öfke veya kan almadıkları sürece, biriniz ölene kadar ateş ederler.
Aktivist Satıldı

44

Diğerleri AI, mantık, planlama ve hata yapmanın önemi hakkında konuştu. Bunların hepsi AI gelişiminde iyi ve faydalıdır.

Ancak soru, bir bilgisayar rakibinin canlı hissetmesine neden olan şeydi ve bu AI ile mümkün değil. Sadece değil. Oyuncular, oyunda stratejik seviye seçimlerine göre bir karakteri yargılamazlar; daha küçük şeylere dayanarak yargılarlar.

Bir bilgisayar rakibini canlı hissettirmek için, ihtiyacınız olan şey, rakip için kapsamlı bir dizi yüksek kaliteli animasyon ve sesler (özellikle vokaller). Oyuncu AI'yi göremiyor. Duyamıyor, deneyimlemiyor, rakibin ne düşündüğünü bilemiyor. “Bu karakter canlı bir varlıktır” ifadesi, oyuncuya tamamen karakter üzerindeki animasyonlar aracılığıyla sunulur ve karakter tarafından üretilen sesler (yine çoğunlukla vokal olur).

Karakterin etrafındaki uyaranlara tepki vermesi önemlidir; yakındaki şeylere bakmak, yakındaki nesnelere dokunmak (uygun olduğunda), şaşırdığında korkmuş görünmek ve uygun olduğunda diğer duyguları göstermek.

Bu konular hakkında konuşurken tekrarları en aza indirmek önemlidir. Karakter her saldırdığında aynı "saldırı" animasyonunu kullanırsa, asla hayatta hissetmez. Başka bir şey yapmadığında tek bir döngü "boşta" animasyon oynuyorsa, kendisini canlı hissetmeyecektir. Aynı sesin iki kez (özellikle ardışık olarak) titremesini söylerse, karakterin canlı olduğu yanılsamasını bozar.

Ve işte bu kadar. Gerçekleştirmeye çalıştığınız rakip, oyununuzda fiziksel olarak mevcutsa, onları canlı görünmesini sağlamadaki başarınız, çoğunlukla oyuncuya gösterilen grafikler ve ses tarafından belirlenir.

Yapmaya çalıştığınız rakip "canlı" gibi görünüyorsa, aslında Chess ve StarCraft'ta olduğu gibi oyunda bulunmuyorsa, bu cevabı göz ardı etmekten çekinmeyin; Yapabileceğiniz en iyi şey AI odaklı cevapları takip etmektir.


4
Mass Effect'teki tüm düşmanları "Her yerdeki düşmanları!" Diye hatırlatıyor. 2 saniyede bir.
Dashto 19.01'de

Keşke bu ÇOK DAHA FAZLASI. İki üçlü A FPS üzerinde çalıştım ve kaliteli kaliteli animasyonların (göz atma, işaret etme, hareket etme) ve sesin (niyet, soru sorma, sohbet etme) harika bir ortam yaratmak için ne kadar önemli olduğunu vurgulayamıyorum. AI, oyuncuyu yenmekle ilgili değil, gerçekçilik iletmekle ilgili, gerçekçiliğin büyük bir kısmı nasıl hareket ettiğimiz ve ses çıkardığımız.
AA Grapsas,

1
+1, iyi puanlar. Bir NPC ile etkileşime girme girişiminizin bazen yatakta oturmaları, yana doğru dönmeleri, ayağa kalkmaları ve sonunda yüzleşmeleriyle, nihayetinde bulunduğunuzu farketmeden ... ... engelledikleri Oblivioneque oyunlarını düşündürttüm.
zenzelezz

Bunun daha sürükleyici bir oyun yaptığını kabul edin, daha insani yaptığını kabul etmeyin. En çok oyunculu oyunlarda kaç HUMAN oyuncunun davrandığını hiç izlediniz mi? Bazı oyunlarda, oyuncuların yarısı amaçsız atlıyor, diğer yarısı da aynı ses klipleriyle saniyede yirmi kez sesli sohbeti spam yapıyor. Botlar genellikle insanlardan daha iyi davranır.
Yalan Ryan

Bir AI'yi insan gibi gösterebilmenin yollarından biri muhtemelen öldürülmeye devam etmeleri halinde onları öfkelendirmek. Ya da yeni bir oyuncuyu işe yaramaz bling için pahalı eşyalar ticaretinde kandırmaya çalışın. Bu eğlenceli bir oyun olmazdı, ama en azından AI kendini "canlı" hissedecek.
Yalan Ryan

30

Rakibinizi daha canlı hale getirebilecek bazı basit kavramların bir listesi:

  1. Amaç
    Oyuncuya AI'nın amacını imlemekten bir yol ver. Bu, doğru bir headshot saldırısı denemeden önce "Kalitenin Miktarı" nı, arkasına geçmeye çalışırken "onu kuşatın" ya da kahramanı saldırmadan önce "lideri, başka hiçbir şeyin üstesinden gelmeyin" diye bağırmak kadar basit olabilir. Ayrıca, daha karmaşık hale gelebilir, örneğin, takım arkadaşlarına bir işaret dili vermelerini ve ardından bu takım arkadaşlarının davranışlarını değiştirmelerini sağlayabilirsiniz.

  2. Çaresizlik
    Rakip ölüme yaklaşırken, onlara çaresizlik hissi verebilirsiniz. Taktiklerini bazı sağlık kilometre taşları olarak değiştirin. Sonraki aşamalarını daha panikleyiniz, daha büyük risk almaları (yavaş yongalama yerine dolu mary için). Bunu görsel olarak da iletin (daha abartılı animasyonlar, darbeli damarlar vb.).

  3. Bir patlama ile dışarı çıkmak.
    Onlara savaşmayı tekrar etmeye değer bir şey yapan bir ölüm verin. Grunts canlandırıyor. Patronlar soliloquize. Gururlu bir karakterse, sana öldürmeyi reddetmelerini sağla ve son zararlarını kendilerine verme. Sürüklenirken.


4
Selam. Cevabınıza gerçekten yeterlilik yazmak zorunda değilsiniz. Profilinizi doldurun ve ne hakkında konuştuğunuzu biliyorsanız birileri ilgileniyorsa, merhaba adınıza tıklar. Bu kadar ;).
Notabene

1
Amaç, iyi bir nokta. İyi bir strateji, AI takım arkadaşlarınızın (eğer varsa) rakiplerinizin ne yaptığını söylemelerini sağlamaktır - "onlar kuşatıyorlar!", "Yeniden yüklüyorlar!" vs. Aslında, bu strateji, düşman AI böyle bir şey yapmadığında bile oldukça etkilidir. :)
tenpn

1
@Notabene, yorumunuzla karşı çıkarak değil, ama bir not olarak - sen ilgisiz bilgiler kendiniz düzenlemek için temsilcisi var. :) Ben sadece düzenleme yaptım, ama benim için "inceleme tabi". :)
Cyclops,

2
@Cyclops. Evet bunu düşündüm. Ancak doğru yorum yapmadan oldukça kaba olabilirdi ve Jordaan'ın bu konuda kendi başına karar vermesine izin vermek istedim. Tabii ki bu dostça. Ancak, konu hakkındaki yorumlarınızla iyi bir cevabı yok etmeyi
bırakalım

3
Hey. Hepinize bildirmek için, Lisans Derecesi hattını bir özveri formu olarak dahil ettim. Burada Avustralya’da, bir Bachelor of Games derecesi basıldığı kağıda değmez. Övünmek için hiçbir niyet yoktu. “İşte benim 30.000 $ ve 3 yıllık çalışmamın boşa harcandığı neticesinde açık bir öneri var.” Bunu doğru iletmediysem özür dilerim.
Jordaan Mylonas

22

Bu google IO konuşma hakkında google doodle pacman hakkında olduğunu tavsiye ederim. Saat 18: 00'de, pacman'daki hayaletlerin kişiliği hakkında konuşmaya başlarlar. Kişilikleri basit yol bulmaya nasıl basit bir şekilde sokabileceğinizi gerçekten şaşırtıyor.

Google I / O 2011: Google Pac-Man Sırları: Bir Oyun Gösterisi

Tüm video izlemeye değer. Gerçekten tavsiye ederim.


Soruyu gerçekten cevaplamadım, ama ilham verici olabilir ... (sanırım)
Notabene

11
Bunun geçerli bir Cevap olduğunu söyleyebilirim. Soru, bir bilgisayar rakibini nasıl "canlı" hissettireceği ve hayaletlerin kişiliğini tasarlamanın tam olarak yaptığı şeydi.
Cyclops

14

Bu tür bloglar hakkında hiçbir fikrim yok, ancak taktiksel bir sıra tabanlı RPG, roguelikes'ten sonraki ikinci favori tarzım olduğundan, size bir blog yazısı yazacağım. Tecrübelerime göre, RPG'de veya RTS'de taktik bir AI zorluğu değildi, bu beni sık sık reddetti, fakat bunun tam tersi: AI'nın tamamen kısa görüşlülüğü ve takım kararlarının yokluğu. İnsan asla böyle oynamaz.

O zamanlar, JRPG'leri hala oyun tasarımının doruk noktası olarak gördüğümde, bir zamanlar Final Fantasy Tactics gibi taktiksel sıra tabanlı dövüşlere yoğun bir şekilde odaklanarak "tipik bir Japon TRPG "'si yapmaya çalıştım. Her zaman olduğu gibi, sadece yol bulma ve AI için bir teknoloji demosu haline geldi, bu yüzden konu hakkındaki düşüncelerimi paylaşacağım.

Bu TRPG'lerin çoğu AI ile fazla uğraşmıyor. Oyuncunun dışarıda eğlenmesi karmaşık bir taktiksel ya da stratejik bir zorlukla değil, genel tarım ve AI'yı komik bir şekilde kötüye kullanmaktan geliyor. Bu yüzden AI'larının hiçbir insanın yapamayacağı şeyleri yapması önemli değil. Genellikle aptal bir yapay zekaya sahip olmak ve oyun tasarımını dengelemek için asla bir kereden fazla hareket görmek zorunda kalmaması ve sadece en iyi kısa vadeli hareketleri kullanması yeterlidir. Tabii ki asla gerçek gelmiyor, ama kimin umurunda? Bu sadece yanlış hissettiriyor, ben tarım ve buhar gezintisi yerine bir mücadele kompleksi AI eylemlerine dayanarak eğlence yaratmanın mümkün olduğuna inanmak istiyorum. Gereksiz, belki de zaman alıcı ama mümkün.

Orijinal Final Fantasy Tactics'i ve onun sert modası FFT 1.3'ü hatırlayarak AI'yı oynamak için insan gibi ve eğlenceli için şu hedefleri koydum:

  • AI bir meydan okuma oluşturmalı, ancak eğlenceli bir meydan okuma olmalı ve "insanın tam araması" zorunluluğunu yaratmamalıdır. Bu eğlenceli meydan okuma, mevcut bir görevin genel kapsamı üzerinden oyuncu tarafından sıklıkla beklenir. Genellikle senaryoların girdiği şey AI'nın tek bir numara midilli yaratmasıdır.
  • AI akıllı olmalı, ama derin Minimax akıllıca olmamalıdır. Farklı AI kişilikleri gibi, farklı AI türlerinin de farklı kusurları olmalıdır. Mesela oyunlarda karşılaşılması çok nadir bir şey, Advance Wars örneğin generaller için kişilikleri yazdı, ancak birimler de onlara sahip olabilir.
  • AI, amaçlanmadığında aptal görünmekten kaçınmalıdır. Müstehcen aptallık, zeka yanılsamasını tamamen mahveder, daima kazanma stratejileri de öyledir. Dikkatsiz komut dosyası ile oluşturulan boşluklar, bunlar en kötüsü.

# 1'i yeni ortaya çıkan davranışlarla, 2'yi farklı kişilikleriyle ve insan gibi "yarı rastgele" strateji seçimiyle, # 3'ü kodlamayı minimumda tutmayı ve dikkatli bir test etmeyi bırakacağım.

Peki, neden bahsettiğim bu davranışlar nelerdir, kullanmak için bir komut dosyası yazma yeteneği dizisi mi? Ağırlıklı bir listeden bir üst yetenek? Hayır, aklımda olan şey , istenen bir istihbarat , kişilik tipi ve şu anda mevcut olan yetenek ve silahlardan elde edilen bir rolün birleşimi idi . Bu kombinasyonu "aptal çılgınca hasar veren bir satıcı" veya "akıllı savunma şifacı" olarak tanımlayabilirsiniz. Bu nedenle, sınıflar veya meslekler gibi AI uzmanlıkları, örneğin, Hedef Al veya Ok Duşu gibi bazı önceden tanımlanmış genel okçuluk yeteneği kombinasyonları ile okları çekmek için yay kullanan bir Okçu AI, kodlanmış yerine mantıksal olarak ortaya çıkar.

Temel olarak, bu rolleri tespit etmek ve kullanmak önemlidir: hasar veren satıcı, hasar veren, engelleyici, çarpıcı, şifacı, tampon / debuffer, etki alanı; genellikle bir karakter bu rollerden en az ikisini gerçekleştirir.

Bundan taktiksel bir eğlence çıkarmak için davranışların birkaç vakayı sağlam bir şekilde ele almasını istiyoruz:

En basit durum. Bir çok zayıf goblin kahramanlarımızı pusuya düşürüyor. Algılanan tehdit açıktır, goblinler, ilkel yakın dövüş yeteneklerine sahip aptal bir çılgınca kişiliğe sahip her goblinle oyuncuları ezmeye çalışacak, goblinleri tek bir zırhlı ve ateşe dayanıklı karaktere yemleme gibi, algılanan zayıflık da aşikar, daha sonra bir seri ateş yakma gibi tabanlı AoE bu genel yönde büyüler. Bir hasar emici bulun, bir AoE'er bulun, hasar emici için AoE'er hasar tipi için uzmanlaşın, hasar vericiyi goblin kütlesine gönderin, etrafta goblinler bulunduğunda zarar veren bir AoE büyüsü yapın.

Basit takım etkileşimlerini test etmek için olağan durum. Oyuncu bir şövalye, bir okçu, bir büyücü ve bir rahiple karşılaşır. Algılanan tehdit artık daha karmaşık, çeşitli etkileşimler mevcut hale geliyor. Siz zaten olası rolleri ve kombinasyonlarını görebilirsiniz. Rahip tutuklanacak ve iyileşecek, büyücü karmaşık ama çok zarar verici sihirli şeyleri yiyecek, şövalye birini şarj edecek ya da bir büyücüyü koruyacak, okçu ondan kaçmaya çalışan ya da savunma stratejisini daha uyumlu hale getirmeye çalışanları keserek şövalyeye yardım edecek, bu şövalyenin seçimine bağlı olacaktır. Düşmanlar için kişilikleri rastgele aynı karşılaşmayı eşsiz bir deneyime dönüştürmeye karar verebilir. Oyuncu şu anda sahip olduğu birimlerle en iyi stratejinin ne olduğuna karar vermek zorunda kalacak ve AI ekranın diğer tarafında da aynı şeyi yapmaya çalışacaksa ilginç olurdu.

Ekip etkileşimlerini ve stratejik planlamayı test etmek için karmaşık bir durum. Dört suikast çetesinin (zekice dikkatli bir hasar satıcısı + avcı ustası) çetesiyle yüzleştiği bir savaş var. Sayıları az, tehditkar bir görünüme sahip olarak algılanan tehditleri ustaca ve ölümcül saldırıda yatar ve algılanan zayıflık, sadece tek bir suikastçı öldürülmüş olarak, genel gücü azaltmanın kolay olmasıdır. Doğal olarak zekidirler, birbirleriyle iyi çalışan yetenekleri kullanırlar ve ateş oyuncunun en tehlikeli karakterlerine odaklanabilirler; ağır yaralananlar savaşa yeniden katılmak için geri çekilir, iyileşir ve kendilerini parlatır. Açıkçası, oyuncu ilk önce onlardan birini bombalamaya çalışacak ve suikastçiler bu kolay stratejiyi yumuşatmak zorunda kalacak, bu yüzden daha az baskın olacak.

Çok fazla strateji için zor durum. Her takım liderinin en iyi yerel taktiksel hamlelere karar vermesiyle birlikte birçok düşman ekibi vardır ve daha sonra tüm takımlara fayda sağlayacak en iyi küresel stratejik karar seçilir.

İmkansız dava. Bir stratejiye karar vermek için bir general ekleyin ve takım liderlerinin ekibi takım yeteneklerinin en iyisini yapmasını sağlayın.

Zaten çok mektup vardı, çok uzun lafın kısası, uygulama bir karışıklıktı ve "zor bir dava" dan hiç geçmedim, ama o zaman bile bu yaklaşımı mümkün kılan eğlenceli bir taktik. FSM'lerle başladım, ancak bu yaklaşımı hızla terk etmek zorunda kaldım, dolandırıcılıktan mahrum etmek imkansız hale gelen bir karışıklık halini aldı. Bir süre sonra, yarı-özerk yetenek algısı temelli karakterleri, olası bireysel eylemler için olası bireysel eylemlere dayanan olası takım eylemlerini etkileyen küresel bir strateji, aynı zamanda bir şeyin bastarize edilmiş bir versiyonunu da içeren, "bireysel düşün-hareket" paradigmasında olduğu gibi, karakter özeti algısı temelli karakterlerle çözdüm. N-Gram gibi istatistiksel tahmin de atıldı.

Bu nasıl çalıştı? Şaşırtıcı derecede iyi, AI aklımı birkaç kez bile okudum, ancak yeterince ikna edici kusur bulunduğundan, yorulmuştum ve onu terk ettim:

  • En büyük kusur, bazen tüm AI operasyonunun, stratejilerin hızlı değişimini cezalandırmama rağmen, sadece tuhaf ve karmakarışık olmasıydı. Muhtemelen ya strateji mantığı ya da yanlış kişilikleri bir suçluydu, ama asla öğrenmedim. Evet, kod mimarisi korkunçtu.
  • İstenilen senaryoyu, uygun yetenek ve kişilikleri dikkatlice seçerek ince ayar yapmak zordur.
  • Rol etiketleme yeteneği çok dikkatli yapılmalıdır, aksi halde tuhaf kombinasyonlar ortaya çıkar.
  • Kişilik etiketlemesi için aynıdır, ancak çılgın taraklar yerine, ön saldırı için parıldayan dikkatli tekerlekler görürsünüz.
  • Belirli bir yetenek için "zekâ" düzeyinde karar vermek zordu.
  • "Ne olursa olsun bu kale duvarını tut" gibi düz tasarım için gereken bazı aptalca kararlar aceleci bir şekilde uygulanmalıydı.
  • Zaman tabanlı bir saldırı gerçekleştirmesi için birimlerin planlanması da bir hack oldu.

Sanırım benim yaklaşımım en iyisi, en kötüsü olmasa bile vasattı ve AI kıçta daha fazla gelişmesi için bir adamdı ve acı çekiyordu, ama o zaman bile, neredeyse dağınık bir çocukla oynamış gibi, ona karşı oynamak için gerçekten çok eğlendim. hala Taktikler Ogre'den daha iyi :)


Fikirlerinizden bazılarını oldukça teşvik edici buldum ve bazı değişiklikler ile üzerinde çalışıyorum.
jumpnett

@jumpnett Bilmekte fayda var, En azından genel bir fikrin anlaşılabileceğini umuyordum :) Bonus olarak, çılgın düşüncelerimin daha fazlasını duymaya başladın, şimdi de sim. Gerçek zamanlı bir sim hayal ederek, en önemli seçimlerden birinin düzenli bir görev zamanlayıcı mantığı olacağını düşünüyorum. Sanırım görevleri şu şekilde düzenlemeye çalışmalıydım: Öncelikli ana işler, "4 işçi" gibi 4 önlük, 4, 4, 4 nolu serbest düğüm noktaları; ahşap plakalar; 20 taş döşeme ". Tüm önkoşullar yerine getirildiği zaman strateji de dikkate alınacaktır.
EnoughTea

Her bir önkoşul, ilgili önkoşulun elde edilmesi için bir alt görev oluşturur; alt görevler paralel, sıralı ve hatta birbirini dışlayan olabilir. Görev başarılı bir şekilde sona erdiğinde, ön koşul tamamlandı olarak ayarlayın. Örneğin, “10 işçi” görevi “4 işçi” ve “4x4 yer” görevleri için sıralıdır, çünkü işçi olmadan taş toplayamazsınız ve bir yer olmadan taş yerleştiremezsiniz, ancak paralite paralel olacaktır. "20 taş" görevi, çünkü çok fazla taşınızın olduğu ancak odun bulunmadığı bir durum istemiyorsunuz ve işçileriniz taş kullanmak yerine sadece ahşabı beklemekte.
EnoughTea

Önkoşullar açısından görevler hakkında düşünmek, zamanlayıcıya yeni bir strateji görevi yerleştirildiğinde, derhal başlatılıp başlatılmayacağını bilmek isteyebilirsiniz gibi, genellikle çok kullanışlıdır. Bu sistemle, eksik işlerin tüm ön koşullarını daha yüksek önceliğe sahip bir şekilde kolayca toplayabilir ve yeni işin ön koşullarının bunlarla çakışıp çakışmadığını kontrol edebilirsiniz.
EnoughTea

Buradaki ana tıkanıklık, tamamlanamayan alt görevlerin bir çözünürlüğüdür. Bunlar iki tür halinde gelir: 1) şimdi tamamlanamaz ve 2) asla tamamlanamaz. genellikle # 1 için, önceki stratejiye yardımcı olacak daha yüksek önceliğe sahip yeni bir strateji oluşturmak isteyeceksiniz ve # 2 için ise stratejiyi sonsuza dek terk etmek isteyeceksiniz. Mesele şu ki, bu iki tür arasında ayrım yapmak zor, burada pek bir şey söyleyemiyoruz. Peki, belki yaklaşımın zaten böyle, ama belki biraz daha fikir için temizleyeceksin :)
EnoughTea

4

Eylem X'e eylem Y'ye her zaman yanıt vermeyin. Her olası eylemi değerlendirirken rastgele bir şekerleme faktörü ekleyin, böylece AI her zaman aynı seçeneği seçmez, ancak makul bir şey seçer.

Bir saldırının başarılı olma şansı veya en azından anlamlı hasar verme ihtimalinin olup olmadığını değerlendirin. Çok fazla oyunda, bir insanın AI'yı tekrar tekrar pusuya atmak için öğrenebileceği ve kullanabileceği komut dosyası saldırı yolları vardır.


3

Gördüğüm bir şey, AI'nın oyuncuya "düşüncelerini" bir şekilde iletmesini sağlamak. Bu, birinci şahıs atıcılarda, düşmanların (gerçek dışı) planlarını oyuncuya bağırmasıyla (yani “onu kuşat!”, “Orada!” Vb.) Yapar.

Günün sonunda, oyuncular bir AI'ya karşı oynadıklarını biliyorlar, bu yüzden AI'nın oyuncuya önce haber vermeksizin yaptığı akıllıca bir şey hile olarak kabul edilemez.


Assasins in creed İzlenirken takipçiler "O burada!" Diye bağırırlardı. ya da "Nereye gitti?" veya bazıları diğer takipçiler için. Yani IMHO: gerçekçi olabilir.
James Khoury

1
Doğru, birçok durumda mantıklı ve oyunun içeriğine bağlı olabilir. Assassin Creed'deki gardiyanların, örneğin günümüz SWAT ekibinden farklı iletişim yolları vardır. Ve genellikle gerçekçi çözüm mutlaka en eğlenceli değildir; AI tarafından sürekli uyarılmaması, sinir bozucu olabilir.
mrohlf

1

Genellikle, "AI'yı nasıl yaratırız?" Diye düşünüyoruz.

Bu, "AI Nedir?" Adlı büyük soruyu atlıyor.

TED.com'dan birkaç yıl önce izlediğim bu konuşma, Yapay Zeka tanımına ilham veren bir yaklaşım paylaştı.

Eğer oyuncularınızın düşmanların "zeki" olduklarını hissetmesini istiyorsanız, o zaman bu yüksek düzeyde bir cevap ve temel olarak AI ile ilgili "tamamen tahmin etme yeteneği" olan yepyeni bir düşünme şekli sağlayacaktır.

http://www.ted.com/talks/jeff_hawkins_on_how_brain_science_will_change_computing.html


0

Bana göre, "hayatta hissetmek", karakterin gerçek hayatta olacağını düşündüğünüz gibi davrandığı anlamına gelir.

Gerçek hayatta yaşayan insanların ihtiyaçları, motivasyonları, korkuları, kusurları vardır. Konuşuyorlar, eğer bir grupsa birbirlerine tepki veriyorlar, kaçıyorlar çünkü kendi hayatlarını önemsiyorlar.

Askeriyse veya eğitimliyse, taktikleri de vardır.

Belki de insan bilimi alanını kontrol etmelisin, yani insan bilimlerinde, bilgisayar bilimlerinde değil.


1
Bundan emin değilim. Her şeyden önce AI eğlenceli olmalı. Düşmanların kaçması eğlenceli midir? Elbette onlarla savaşmak daha eğlenceli, çünkü oyunun amacı kavga etmek.
tenpn

İstediğin eğlenceye bağlı. İnsanlar simülasyonlarda eğlence bulur, diğerleri arcade oyunlarında ... gerçek hayattan daha fazla hissedilen şey nedir?
Nikko,
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.