Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
ARTIFICIAL INTELLIGENCE (YAPAY ZEKA )
Ömer Gökalp GÜNDÜZ
2
İçerik Oyunlarda Yapay Zeka(AI) Nedir? AI ve Oyun Tasarımı
Oyundaki AI Amaçları Eşit olmayan oyun alanı Ne kadar gerçek, gerçektir? AI ajanları ve çalışma ortamları Yeterince iyi ne kadar iyidir? Scripting Yapay Aptallık
3
Oyunlarda Yapay Zeka(AI) Nedir?
Oyunda, bütün oyuncu olmayan karakterlerin(NPC) hareket ve davranışlarını kontrol eden sistemdir. Oyuncuya eğlenceli ve mücadeleci bir deneyim sunmak üzere geliştirilirler. Oyununun tür ve içeriğine göre farklılık gösterirler.(örn.Tetris ve Doom)
4
AI ve Oyun Tasarımı İnsanların AI geliştirmenin yalnızca programcıların işi olduğunu düşünmeleri doğru değildir. İyi bir AI geliştirme iki alt işe bölünmektedir. Tasarım ve programlama. Tasarım tarafı yaratıcılık, dolayısıyla bir tasarımcı gerektirir. Tasarımcı, tasarlanan oyuna göre AI’ı da tasarlamalıdır. Oyunun gameplayine olumlu katkıda bulunması hedeflenen bir AI sadece programcılar tarafından geliştirilirse sonucundan pek memnun kalınmayabilir.
5
Oyundaki AI Amaçları Oyuncuların oyundaki AI’dan beklentileri oyun türlerine göre değişmektedir. Örneğin, Centipede ya da Tetris gibi arcade oyunlarında basit bir AI yeterli iken, bir FPS oyununda daha zeki düşmanlarla karşılaşmak isteriz. RPG oyunlarında oyuncular «Yaşayan Dünya» simülasyonunu görmek isteyeceklerdir. Bu da bütün NPC lerin gerçekçi hareket ve davranış göstermelerini gerekir.
6
Oyundaki AI Amaçları Oyuncuların oyunlardan farklı AI beklentileri olsa da genel bir amaç listesi oluşturulabilir. Oyuncuya meydan okumak(Challenge the Player) Aptalca şeyler yapmamak(Not Do Dumb Things) Tahmin edilemez olmak(Be Unpredictable) Hikaye anlatımına yardımcı olmak(Assist stroytelling) Yaşayan bir dünya yaratmak(Create a living world)
7
Oyuncuya meydan okumak (Challenge The Player)
Oyuncuları mantıklı bir şekilde zorlayıp rekabetin içine çekecek bir ortam sağlamak oyun AI’ının birincil görevidir. Oyuncuların karşı karşıya gelmeye değecek bir zorlulukla karşılaşmaması oyunu fazla kolay yapacak ve keyifsiz hale getirecektir. Daha kötüsü, eğer hiç bir rekabet ortamı sunulmazsa oyun, oyun olmaktan çıkıp bir puzzle veya interaktif bir film haline gelecektir.
8
Oyuncuya meydan okumak (Challenge The Player)
Oyunlarda rekabet ortamı sağlamak için genellikle düşman sayısı fazlalığından ve düşmanların güçlerinden yararlanılır. Örneğin, Centipede oyununda aynı anda bir çok böcek oyuncu üzerine gelmektedir ve oyuncuyu bir dokunuşla öldürebilmektedirler. Buna karşılık oyuncular böcekleri vurmak zorundadır ve bu dokunmaktan daha zor bir iştir. Başka bir örnek olarak, Doom oyununda oyuncunun mermileri biter ancak düşmanların mermileri bitmez. Genel olarak AI ın oyuncudan daha az zeki olması sayı fazlalığı ile kapatılır.
9
Oyuncuya meydan okumak (Challenge The Player)
Gerçek zamanlı strateji oyunları(örn. Starcraft) için zorlayıcı bir AI hazırlamak tamamen başka bir problemdir. Bu tarz oyunlarda AI oyuncuyla aynı güçte oyuna başlar ve oyuncular gibi ordu geliştirme, kaynak oluşturma(madencilik, çiftçilik vb.) ve bu kaynakları kullanma gibi işleri gerçekleştirmesi gerekir. Bunu sağlamak için oyunlarda AI lehine bazı avantajlar konulmalıdır. AI oyuncudan farklı olarak bütün haritayı ve haritadaki aksiyonları sürekli görebilir. AI ın kontrol ettiği rakibin başlangıç noktası harita üzerinde kaynak açısından en zengin bölge olur. Sonuç olarak türü ne olursa olsun oyuncuların iligisini çekecek bir rekabet sunmak AI’ın başlıca görevidir.
10
Aptalca şeyler yapmamak (Not Do Dumb Things)
Oyunda kullanılan AI fazla aptal görünmemelidir. Bir NPC nin bir yere giderken yerdeki bir taşa veya bir ağaca takılıp orada kalması oyunculara ne kadar komik gelse de oyuna olan inançlarını zedeler. AI aynı zamanda oyunun temasına uygun olmalıdır. Örneğin insan olmayan bir düşmanın aptalca hareketler yapması, insan olanın yapmasından daha tolere edilebilirdir.
11
Tahmin edilemez olmak (Be Unpredictable)
Multiplayer oyunların çok tutulma sebebi rakiplerin tahmin edilemez olmasıdır. Single player oyunlarda oyun AI’ı mümkün olduğunca tahmin edilemezliği sunması gerekir. Oyuncu oyunun bir sonraki adımını rahatça tahmin edememelidir. Tahmin edilemezlik genelde AI’ın bir duruma karşı verebileceği n adet tepki arasından birini rastgele seçmesi ile elde edilir. Her tepkinin bir ağırlık katsayısı bulunur. Ağırlık katsayısı yüksek olan tepkinin seçilme ihtimali daha fazladır.
12
Hikaye anlatımına yardımcı olmak (Assist stroytelling)
AI oyunlardaki hikaye anlatımını daha derin bir hale getirmek için kullanlıabilir. Örneğin oyuncuyu gördüğünde kaçıp saklanan bir köy halkı AI ı tasarlanırsa bu oyunucuyu meraklandıracak ve köyü keşfetmesine yol açacaktır.
13
Hikaye anlatımına yardımcı olmak (Assist stroytelling)
Oyundaki düşman ve yardımcı NPC’lere AI yardımıyla bir kişilik kazandırmak yine hikaye anlatımına fayda sağlayabilir
14
Hikaye anlatımına yardımcı olmak (Assist stroytelling)
Lineer sonlu oyunlar yerine AI yardımıyla hikaye akışı değişecek oyunlar geliştirilebilir. Bu tip oyunlarda AI, oyuncunun seçimlerine göre önceden hazırlanmış hikaye akışlarından birini seçmektedir. Bu sayede oyuncuya daha özel bir deneyim ve tekrar oynanabilirlik sunulmaktadır.
15
Yaşayan bir dünya yaratmak (Create a living world)
AI oyunlarda sadece düşman ve takım arkadaşı oluşturmak için kullanılmamaktadır. Örneğin Grand Theft Auto oyunlarında sokaklarda hikaye ile alakası olmayan, kendi hayatlarını sürdüren bir çok NPC bulunmaktadır. Bu NPC ler sayesinde oyuncu, oyunun dünyasına daha çok çekilecektir ve daha iyi bir oyun deneyimi yaşayacaktır.
16
Eşit olmayan oyun alanı
AI’ın kontrol ettiği düşmanlar her zaman oyuncudan sayıca, can ve mühimmat olarak üstün olmak zorundadır. Hatta bazı AI’ların hile yaptığı görülmüştür. Bunun sebebi AI’ın bir insan kadar zeki olamayışıdır. AI’ın amacı oyuncuya denk olmak değil, oyuncuya eğlenceli bir gameplay deneyimi sunmaya yardımcı olmaktır. Ayrıca sayıca fazla düşmanı yenmenin oyuncuları çeken bir tarafı da vardır. Hollywood filmlerindeki kahraman olma hissi gibi.
17
Ne kadar gerçek, gerçektir?
AI programlamadaki sorunlardan biri de fazla gerçek bir AI geliştirmektir. AI «gerçek bir insan gibi» davranarak gameplay’i baltayabilir. Örneğin canı azaldığında kaçan bir düşman oyuncudan hızlıysa oyuncu onu asla yakalayamayacak ve oyunda ilerleyemeyecektir. Bu durumda oyuncu oyundan soğuyacaktır. AI asla gameplayin önüne geçmemelidir. Oyun geliştiricilerinin amacı fazla gerçekçi değil eğlenceli bir AI üretmek olmalıdır.
18
AI ajanları ve çalışma ortamları
AI’ın başarılı olması için gameplay ve level tasarımına uygun olarak geliştirilmesi gerekir. Örneğin dar alanlarda düzgün çalışan bir AI ajanı açık alanlarda düzgün çalışmayabilir. Bu sebeple AI geliştiricileri level tasarımcıları ile koordine çalışmalıdır ancak level tasarımı oyun geliştirmedeki en son yapılan işlerden biri olduğu için bu pek mümkün olmayabilir. Eğer levelları ve AI’ı bir kişi geliştiriyorsa bir sorun olmayacaktır ancak günümüzde böyle bir durumla pek karşılaşılmaz. Dolayısı ile level tasarımcılarının ve AI geliştiricilerinin sürekli fikir paylaşımında bulunarak ilerleme kaydetmesi gerekir.
19
AI ajanları ve çalışma ortamları
Bunu başarmanın bir yolu öncelikle temel, oynanabilir bir AI hazırlamaktır. Eğer AI başarılı sayılabilir bir şekilde çalışıyorsa level tasarımcıları levelları bu AI’a uygun bir şekilde tasarlamaya başlayabilirler. AI geliştiricileri de bu temelin üzerine yeni özellikler eklemeye devam ederler. İki taraf da geliştirme esnasında birbirileri ile iletişim halinde olmalıdırlar. AI’a eklenen yeni özellikler level tasarımcılarının elini kuvvetlendirebilir veya level tasarımı yeni AI ihtiyaçları doğurabilir.
20
Yeterince iyi ne kadar iyidir?
Oyundaki bütün sistemleri olabilecek en iyi hale getirmek önemli bir avantajdır ancak genelde buna vakit bulunamaz. AI’da mutlaka hatalar bulunacaktır ancak her hatayı düzeltmek mümkün olmayabilir. Oluşan hatalar eğer oyuncuya avantaj sağlıyorsa oyuncular bu hatayı çok da umursamazlar. Ancak eğer gameplayi baltalıyorsa ve hatta oyunun ilerlemesini engelliyorsa bu hatalar mutlaka çözülmelidir. Böyle hatalara sahip olmayan ve AI hedeflerine göre tasarlanmış bir AI oyun için iyidir denebilir. Ayrıca AI’ın bazen hiç beklenmeyen bir davranış sergilemesi oyuncular tarafından daha zeki zannedilmesine yol açabilir. Tabii sürekli ve çok aptalca olmamak kaydıyla.
21
Scripting AI’ın oyundaki bütün davranışları düşünmesine gerek yoktur.
Bazı davranışlar AI içerisinde önceden tanımlanır. Önceden tanımlanan bu davranışlara Script adı verilir. Scriptler genelde tekrarlanmayan bölümlere sahip oyunlarda kullanılırlar. Siper, zıplama ve sniper konumları scriptler sayesinde tanımlanabilir. Veya oyuncu bir bölgeye girdiği anda sadece o bölüme özel olacak bir davranış scriptlerle tanımlanır. Half-Life karmaşık scriptleri ilk kullanan oyunlardan biridir. Bu sayede oyunculara eğlenceli bir deneyim sunmuşlar ve zamanın oyun basınından AI konusunda fazlaca övgü toplamışlardır.
22
Yapay Aptallık Oyunların sıklıkla AI sahibi olmadığı söylenir. Bu aslında oyunda bulunan AI’ın başarılı olmadığı -aptal olduğu- anlamına gelir.Bunun birçok oyun için doğru olduğu söylenebilir. Multiplayer oyunlar daha rekabetçi bir gameplay sunsalar da oyuncuların büyük bir kısmı hala singleplayer oyunları tercih etmektedirler. Bunun sebebi singleplayer oyunların sunduğu eşsiz deneyimdir. Ve bu eşsiz deneyimin hayati parçalarından biri de AI’dır. AI’ı mümkün olabildiğince dikkatlice tasarlamak ve geliştiricilerin tasarımı tamamen anladığından emin olmak tasarımcının görevidir.
23
TEŞEKKÜRLER
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.