12-Chapter09 - Hacettepe Üniversitesi

advertisement
BTÖ 716 Eğitsel Bilgisayar
Oyunları Tasarımı
Yapay Zeka
DERS SORUMLUSU: HAKAN TÜZÜN
HAZIRLAYAN: ÖMER DEMİR
2015-2016 BAHAR EĞITIM -ÖĞRETIM DÖNEMI
HACET TEPE ÜNIVERSITESI
EĞITIM FAKÜLTESI
BILGISAYAR VE ÖĞRETIM TEKNOLOJILERI EĞITIMI BÖLÜMÜ
Genel Bakış 1
• Yapay zeka farklı bağlamlarda farklı şeyler anlamına gelebilir.
• Akademik bağlamda yapay zekan Turing testini geçebilen sistemler olarak
tanımlanmaktadır.
• Turing testinde, bir ekran aracılığı ile kullanıcılar sorular sorarlar. Bu sorular
yapay zeka tarafından cevaplanır. Eğer kullanıcı cevapların bir insan tarafından
üretildiğini düşünürse, sistem Turing testini geçer.
Genel Bakış 2
• Oyun geliştiricileri, oyucuların rakiplerini kontrol etmek için geliştirilen
kodlara yapay zeka demektedirler.
• Yapay zeka araştırmalarında temel amaç insan zekasını taklit etmektir.
• Yapay zekanın kalitesi oyunun ne kadar eğlenceli ve zor olduğunu belirler.
Eğer oyuncular unreal tournament oynarlar
ve rakibin bot veya insan olduğunu ayırt
edemezlerse, Bot’un yapay zekası Turing
testini geçmiş demektir.
Genel Bakış 3
• Eğer bilgisayar oyunu bir spontane olarak oynanan bir tiyatro oyunu ise,
oyuncu ana karakterin yöneticisidir.
• Diğer tüm karakterler ise yapay zeka tarafından kontrol edilir.
Oyun yapay zekasının amacı
• Oyuncular, farklı tipteki oyunlardan farklı güçlerde yapay zeka
beklemektedirler.
◦ Centipede gibi klasik arkade oyunlarında neredeyse hiç yapay zekaya gerek yoktur.
◦ FPS oyunlarında bir miktar yapay zeka gerekmektedir.
◦ The Sims gibi oyunlarda ise yapay zeka oyunun kendisidir.
The Sims oyununun başarısı
tamamıyla yapay zekasının
gücüne bağlıdır.
Oyuncuyu zorlamak 1
• Oyunculara mantıklı bir zorluk yaşatmak herhangi bir bilgisayar oyunundaki
yapay zekanın ilk amacı olmalıdır.
• Centipede oyunundaki böcekler size dokunursa ölürsünüz ancak sizin onları
vurmanız gerekir.
• Doom oyununda düşmanların cephanesi bitmez ama sizin biter ve ayrıca
düşmanlar size karanlıkta görebilir.
• Aslında bu tip oyun özellikleri düşmanların çok zeki olmadıkları gerçeğini
telafi etmek için vardır.
Robotron 2084 oyunundaki zorluk
oyuncuların artan sayıdaki rakipler
ile dövüşmesi gerekliliğinden
kaynaklanır.
Oyuncuyu zorlamak 2
• StarCraft gibi RTS oyunlarında zorlayıcı bir yapay zeka oluşturmak oldukça
zordur.
• Alpha Centauri gibi gibi TBS oyunlarında ise bu durum daha da zordur.
• TBS oyunları düşünce odaklıdır; bu nedenle yapay zeka işlemci gücünü
kullanamaz ve hileler yapmaya başlar.
Alpha Centauri gibi bir sıra tabanlı
strateji oyunu için zorlayıcı bir
yapay zeka geliştirmek oldukça
zor olabilir çünkü oyuncuların
kendisi ile aynı güç ve zayıflığa
sahip bir rakip ile dövüşmesi
beklenmektedir.
Aptalca şeyler yapma (Not Do Dumb
Things )
• Oyuncular bir düşmanın bir ağacın etrafından dolaşmayı başaramadığını
gördüklerinde inanmamanın askıya alınması (suspension of disbelief) bozulur.
• Yapay zekanın aptalca şeyler yapma kotası yapay zekanın ne tip zekayı temsil
etmesi gerektiği ile doğrudan ilişkilidir.
• Marathon 2 oyununda, oyuncular insanlarla değil uzaylılar ve robotlarla
savaşırlar bu nedenle düşmanların bir miktar aptalca şeyler yapmaları kabul
edilebilir.
Marathon 2 oyununda
uzaylılar ile savaşırken,
oyuncu rakiplerin ne kadar
zeki olabileceğine dair
beklentisini düşürür.
Tahmin Edilemez Ol (Be unpredictable)
• İnsanlar tahmin edilemezlerdir. Bu nedenle insanlar multi-player oyunları
oynamak isterler.
• Yapay zekanın amacı her zaman mantıklı davranmak olmamalıdır. İnsanlar bazı
durumlar mantıksız davranırlar.
• Yapay zekanın da bazen mantıksız davranması yapay zekayı tahmin edilemez
yapar.
Tetris oyununun ihtiyacı olan
tek yapay zeka rastgele sayı
üreticidir.
Tahmin Edilemez Ol 2
• Yapay zeka tasarımcıları düşmanları tahmin edilemez yapmak için «Fuzzy
logic» kullanırlar.
• Fuzzy logic temelde birkaç mantıklı ihtimali ele alır ve bu ihtimallere biraz
rastgelelik ekler.
Hikaye Anlatımına Yardım Et (Assist
Storytelling)
• Örnek olarak, Bir RPG oyununda, oyuncu bir kasabayı işgal ettiğinde kasaba
halkının kafelere ve işlerine gittiklerini görmek istemez. Kasaba halkının
oyuncuyu gördüklerinde güvenli bir yere kaçmaları beklenir.
• Damage incorporated oyununda, oyuncuların kişisel özellikleri bulunmaktadır.
Bu özelliklere göre takım arkadaşları savaştan kaçabilir ve taraf
değiştirebilirler.
Damage incorporated oyununda,
yapay zeka oyuncunun takım
arkadaşları aracılığıyla oyunun
hikayesini anlatmakta önemli bir
rol oynar.
Hikaye Anlatımına Yardım Et 2
• The Suffering oyununda, oyuncular oyunda karşılaştıkları dost canlısı insan
karakterlere davranışları temelinde oyunun sonunu belirlerler.
• Oyuncular, oynanamaz insan karakterleri görmezden gelebilirler, öldürebilirler
ve bu karakterlerle işbirliği yapabilirler.
The Suffering oyununda, yapay
zeka oynanamaz karakterin
davranışını oyuncunun eylemleri
temelinde değiştirir.
Yaşayan bir dünya yaratmak
• Yapay zeka sadece oyuncuya tehdit oluşturmak yerine yaşayan bir dünya
yaratmaya da odaklanmalıdır.
• GTA 3 bu duruma iyi bir örnektir.
Meyilli Oyun Alanı (The Sloped Playing
Field)
• Yapay zeka programcıları sıklıkla yapay zekanın oyuncu ile eşit seviyede
olması gerektiğinden bahsederler.
• Yapay zeka programcıları bunu rakip sayısını ve hit-point’i arttırmak ve
rakiplere bütün harita bilgilerini vermek gibi hileli yöntemlerle yapmaktadırlar.
• Ancak bunu diğer yöntemlerle yapmak oldukça maliyetlidir.
• Ayrıca daha zor rakiplerleri yenmek oyunculara daha fazla keyif verir.
Gerçek Nasıl Çok Gerçektir? (How Real
is Too Real)
• Oyunlar, gerçekten sapacak şekilde gerçek olmamalıdır.
• Bazen gerçek olmayan durumlar ilginç ve keyifli oldukları için oluşturulurlar.
• James Bond filmlerinde Bond her zaman bir noktada yakalanır ve kötü karakter
onu yavaş şekilde öldüren bir alete bağlar. Bu sırada ona bütün planlarını
anlatır.
• Bir düşmanın çok az canı kaldığında ve rakibi öldürme şansının olmadığını
anladığında kaçıp saklanması çok mantıklıdır. Ama bu oyun mekaniğini kötü
etkiler.
Yapay zeka ajanları ve çevresi (AI
Agents and Their Environment)
• Yapay zekalar tüm durumlarda başarılı değillerdir. Örneğin, bazıları açık
alanda, diğerleri ise kapalı alanda iyidirler.
• Önce seviye tasarımının mı yoksa yapay zekanın mı geliştirilmesi gerektiği bir
sorun teşkil etmektedir. İki tarafın da iletişim içerisinde olup beraber hareket
etmesi gerekmektedir.
• Örnek olarak, The Suffering oyunundaki oynanamayan karakterler kapıları
açamıyorlardı ve bu nedenle aptal gibi görünüyorlardı. En sonunda onlara bu
özelliğin de verilmesi gerektiğine karar verdik.
Damage Incorparated
oyununda yapay zeka ajanını
doğru düzgün çalıştırmak
seviyelere pek çok değişiklik
yapmayı gerektirdi.
Ne Kadar İyi Yeteri Kadar İyidir (How
Good is Good Enough)
• Yapay zekanın daha da geliştirilmesi gerekliliği, yapay zeka hatalarının oyunu
ne kadar etkilediği ile ilişkilidir. Eğer yapay zeka hatası nedeniyle oyun
bitiyorsa bu çok kötüdür. Eğer hata nedeniyle oyun biraz kolaylaşıyorsa
oyuncular bu duruma göz yumabilirler.
• Constellation kuramına göre, hiç bir anlamı olmasa bile, insanlar her türlü
eyleme anlam yükleme eğilimdedirler. Bu nedenle yapay zekanın yaptığı
rastgele eylemler çok mantıksız olmaması kaydı ile oyuncunun düşmanın bir
şeyler yapmak üzere olduğunu düşünmesine yol açar.
Damage Incorporated gibi takım
arkadaşları ile oynanan bir oyunda
yapan zeka ajanlarının oyuncunun
beklediği gibi davranmaması
oyuncunun oyunu oynama
yeteneğine ciddi bir zarar verir.
Yazma (Scripting)
• Pek çok durumda yapay zekanın spontane olarak düşünüp karar vermesine
gerek yoktur. Bazı önceden belirlenmiş noktalarda, eğer bu noktalar bir kez
oynanacaksa, yazılmış eylemler gerçekleştirilebilir.
• Bu önceden yazılmış eylemler bazı noktalarda kodlamayı kolaylaştırken aynı
zamanda yapay zekanın daha zeki görünmesini sağlar.
• Örneğin, eşlik eden karakterin konuşması, saklanması ve ani saldırılar.
The Suffering oyunu yapay
zeka ajanlarını olduğundan
daha zeki göstermek için pek
çok yazılmış yapay zeka eylemi
kullanmıştır.
Yapay aptallık
• Oyuncular, oyunları genelikle yapay zekaya değil yapay aptallığa sahip olduğu
için eleştirir.
• Ancak yapay zekanın amacının oyuncuyu zorlamak ve eğlendirmek olduğu
düşünüldüğünde pek çok iyi tasarlanmış bilgisayar oyunlarının bunu başardığı
görülür.
• Pek çok oyuncu single-player oyunlar oynamaktadır bu nedenle programcıların
yapay zekanın oyuncuları zorlamak ve eğlendirmek için neler yapması
gerektiği üzerinde çalışması gerekir.
Kaynakça
• Rouse, R. (2005). Game design theory and practice (2. Edition). Texas, USA:
Wordware Publishing.
Download