/makaleler/oyunlarda-yapay-zeka-nasil-calisir/GFwCmgBXwAAAMK9.jpg

Oyunlarda Yapay Zeka Nasıl Seçim Yapar?

Oyunlarda Yapay Zeka Nasıl Seçim Yapar?

Son zamanlarda bir yapay zeka çılgınlığı yaşıyoruz. ChatGPT başta olmak üzere pek çok yapay zeka aracıyla içli dışlı olmaya başladık. Ancak bu yapay zeka araçları ile video oyunlarında karşımıza çıkan yapay zeka aslında çok farklı kavramlar. Her ne kadar oyunlarda yapay zeka kavramından bahsetsek de, aslında gerçekte olan şey ortam koşullarına göre önceden belirlenmiş eylemleri uygulayan bir seçim mekanizması.

Yapay zeka kavramıyla bahsettiğimiz şey aslında; çevresini algılayabilen, algıladıklarını öğrenebilen, öğrendikleriyle bir karar alabilen dijital yapı.

Ancak video oyunlarında yapay zeka olarak andığımız şey, bu kavramdan çok uzak. Oyunlardaki yapay zeka öğrenip düşünebilen bir sistemden ziyade, önceden belirlenmiş belirli durumlara karşı önceden belirlenmiş aksiyonları alan bir yönetim mekanizması. Örnek üzerinden ilerleyelim. Bir düşman yapay zekası düşünelim.

  • Eğer oyuncuyu görüyorsan, ateş et.

Düşman karakterimiz, oyuncunun kendisine yaklaştığını fark edip kendisini korumak için ona ateş etme kararını almıyor. Biz sadece ona emir verdik. Sürekli oyuncuyu görüp görmediğini kontrol ediyor, gördüğünde ise bizim belirlediğimiz ateş etme aksiyonunu gerçekleştiriyor. Geliştirici bunu istediği şekilde manipüle edebilir. Mesela eğer oyuncuyu görüyorsan ateş et demek yerine oyuncuyu görüyorsan zıpla diyebiliriz.

Burada gördüğünüz üzere öğrenen bir sistem söz konusu değil. Biz karaktere, belirlediğimiz bir değişkenin değerini sürekli kontrol ettirdik. Ve bu değişkenin değeri, istediğimiz değeri alınca istediğimiz aksiyonun gerçekleşmesini sağladık.

Neden Bazı Oyunlarda Yapay Zeka Çok Kötü?

Eğer olay bu kadar basitse, niye bazı oyunlarda düşmanlarımız gerizekalı gibi davranıyor? Olay aslında basit değil. Siz ne kadar fazla koşul girerseniz, sözde yapay zekanız o kadar iyi olur. Örneğimizi geliştirelim:

  • Eğer oyuncu ile aranda 10 ile 50 metre var ise ona ateş et.
  • Eğer oyuncu ile aranda 10 metreden az var ise, geriye çekil.
  • Eğer oyuncu ile aranda 50 metreden fazla var ise, oyuncuya yaklaş.
  • Eğer canın azaldıysa, sipere gir.

Gördüğünüz üzere bu yapay zeka, bir öncekinden biraz daha zeki gibi hareket ediyor. Zaten oyun geliştirmede her şey gibi yapmak üzere. Yapay zekayı zeki yapmaya gerek yok, zeki gibi olması yeterli. Düşünsenize, yapay zekanın gerçekten zeki olduğunu. Gerçekten etrafı algılayıp yeni şeyler öğrenebildiğini. Oyunu oynayamazdınız. Çünkü yapay zeka sizi sürekli yenerdi.

Oyunlardaki bu sisteme yapay zeka demek yerine davranış ağacı demek aslında daha mantıklı. Her karakterimiz için bir davranış ağacımız var. Görselde örnek bir davranış ağacı görüyorsunuz. Davranış Ağacı Devriye gezen bir karakterimiz var diyelim. Devriyedeyken birini görürse ateş ediyor. Aşağı yukarı ekrandakine benzer bir davranış ağacımız olacak.

Buradaki koşul sayısını ne kadar arttırırsanız, o kadar iyi bir yapay zekaya sahip olursunuz. Örneğin her adımda karakterin canını kontrol ettirebilirsiniz. Karakterin canı 100 ise sakindir, 75 ise agresiftir. 50’nin altına düştüyse temkinlidir. 10’un altına düştüyse saklanmaya çalışıyordur, gibi gibi.

Tabii şöyle bir şey de var. İyi bir oyunda, her yapay zekanın birebir aynı davranmasını istemezsiniz. Çünkü sürekli aynı şeyle karşılaşan oyuncu sıkılmaya başlar. Az önceki örnekte, canı 10’un altına düşen NPC saklansın, demiştik. Bunun yerine şöyle bir şey yapabiliriz. Can değeri, 10’un altına düştüğünde yapılabilecek eylemler listesi oluştururuz. Can değeri, ne zaman 10’un altına düşerse, bu eylemlerden biri rastgele gerçekleştirilir. Böylece daha iyi bir davranış ağacı yapmış oluruz.

Ancak yakın zamanda, gerçek yapay zekayı oyunlarda görmeye başlayabiliriz. Örneğin bir RPG oyunu düşünün. Bir yere girmeniz gerekiyor, ama kapıda bir koruma var. Günümüz RPG oyunlarında, oyun size 3-4 diyalog verir. Bu diyaloglardan biri, korumayı ikna eder ve kapıyı açar. Gerçek yapay zekayla birlikte, diyalog seçenekleri yerine, istediğimiz diyaloğu yazıp korumayı manipüle etmeye çalıştığımız bir oyun yapabiliriz.