Günlük: Vic3 - Yapay Zeka
#1
banneran.png

Victoria 3 geliştirici günlüklerinde bu yazıda oyunun yapay zekasına dair bilgiler veriliyor.

https://forum.paradoxplaza.com/forum/dev...i.1543736/ :Herkese merhabalar, Victoria 3 için kaleme alınmış 59. geliştirici günlüğüne hoş geldiniz. Oyunun çıkmasına 1 aydan az süre kala, ekip olarak oyundaki hataları gidermeye ve yapay zekasında geliştirmeler yapmaya odaklanmış durumdayız. Bu sebeple Victoria 3'ün yapay zekası hakkında konuşmanın da zamanının geldiğini düşünüyorum. Yapay zeka nasıl tasarlandı, nasıl çalışıyor, modcular ne gibi araçlara sahip vb. Bu günlükte yapay zekanın sağladığı zorluk veya hangi seviyede oynadığından bahsetmeyeceğim. Bunun sebebi ilk olarak yapay zeka performansının oldukça subjektif olması, 'iyi yapay zeka' tanımının oyuncudan oyuncuya değişmesi ve çıkış öncesi hala gidermemiz gereken bazı hataların olması (örneğin yapay zeka kontrolündeki ülkeler çok sık bir şekilde devrimlerle karşılaşıyor, bu sorunu büyük oranda hallettik fakat QA tarafından onaylanmasını bekliyoruz.)

Peki Victoria 3'te yapay zeka nasıl işliyor? Tıpkı diğer Grand Strategy oyunlarımızda olduğu gibi, yapay zeka da sizinle aynı oyunu oynuyor. Sizinle aynı mekanikleri kullanıyor, sizlerle aynı kısıtlamalara sahip, (bazı istisnai Oyun Kuralları tercihleri haricinde) herhangi bir şekilde hile yapmıyor. Bunun yanı sıra, Victoria 3'te yapay zekanın davranışlarını belirlemede 3 ana tasarım ilkesine sahibiz:
  1. Min-Maxing değil, Roleplaying: Victoria 3'te yapay zeka bir 'oyuncu gibi' değil, tarihsel bir ülke gibi hareket etmeli. Yapay zeka oyun içi mekanikleri suistimal etmemeli ve kendi iç hedefleri doğrultusunda hareket etmeli. Örneğin yapay zeka kontrolündeki küçük bir Alman devleti, ilhak edilmek genellikle iyi bir tercih olmasa bile birleşmiş Almanya'ya katılmaya sıcak bakmalı.
  2. Şeffaflık: Yapay zekanın stratejileri ve karar verme mekanizmaları oyuncu tarafından anlaşılabilir olmalı. Yapay zeka oyuncudan hazzetmiyorsa veya oyuncunun teklifini kabul etmiyorsa, oyuncu bunun neden olduğunu görebilmeli. Roleplaying ilkesi doğrultusunda yapay zekanın iç stratejileri de oyuncu tarafından anlaşılabilmeli.
  3. Makul ölçüde Modlanabilirlik: Yapay zeka oyunun performansını zedelememe kaydıyla olabildiğince modlanabilir olmalı. Yapay zekanın - en azından mevcut donanım kapasitesiyle - ana karar verme mekanizmasını modlamaya açmamız mümkün görünmese de, modcuların tetikleyiciler, tanımlar vb. hususlarla karar verme mekanizmasını etkileyebilmelerini sağlamalıyız.
  4. Çok rastgele de değil, çok net de değil: Yapay zeka, benim tabirimle "yarı rastgele" şekilde kararlar almalı. Yani yapay zeka verebileceği kararları gözden geçirmeli, her seçeneğe bir skor belirlemeli ve mevzubahis karar için rastgelelik barındıran bir tercihte bulunmalı. Örneğin yapay zeka 50 ila 100 temel skor arasında bir tercihte bulunuyorsa ve rastgelelik katsayısı R 1.0 ise, bu kararı alırken değerlendireceği skorlar (X / (1 + R)) ila (X* (1+R)), yani ana skorun 0.5x ila 2x'i arasında, 25-100 ve 50-200 şeklindedir. Bu şu anlama geliyor, yapay zeka 100 skorundaki seçeneği seçmeye daha yakın olsa da, her zaman o seçeneği seçmeyecek, 50 değerindeki seçenek de yeterli rastgelelikle tercih edilebilir hale gelebilecek. Öte yandan yapay zeka 100 ila 10 arasında bir tercihte bulunuyorsa, 1 rastgelelik katsayısıyla her zaman 100'ü seçiyor olacak. Bu tür katsayılarla yapay zekanın tamamen ezbere hareket etmektense, tercihlerini rastgeleleştirmeyi amaçlıyoruz.
Şimdi gelin oyundaki yapay zeka mekaniklerinden bahsedelim. Victoria 3'te yapay zeka için en önemli mekanik, YZ Stratejileri adını verdiğimiz mekanik. Oyundaki her yapay zeka ülkesi, 3 farklı yapay zeka stratejisine bağlı olarak yönetilir: İdari, Siyasi ve Diplomatik. Genel olarak idari strateji yapay zekanın ülkesini nasıl geliştireceğini ele alır (tarla mı inşa etmeli, yoksa sanayileşmeli mi?), Siyasi yapay zeka hangi çıkar gruplarının ve siyasi grupların yapay zeka tarafından destekleneceğini, Diplomasi yapay zekası ise yapay zekanın jeopolitik hamlelerini belirler (örneğin kolonileşecek mi, yoksa izolasyoncu bir tavır mı benimseyecek). Yapay zekanın hangi yapay zeka stratejilerini belirlediği, belli katsayılar doğrultusunda yarı rastgele bir şekilde belirlenir. Örneğin güçlü bir Aydın Çıkar Grubuna sahip ülkeler, İlerici bir siyasi yapay zekaya sahip olmaya daha meyillidir fakat bu durum her zaman gerçekleşmeyebilir.

DD59_1.jpg

Qing oyunun başlangıcında muhafazakar stratejiler benimsemeye meyillidir. Ana öncelikleri iç istikrarı yeniden sağlamak ve ellerindekileri savunmaktır.

Yapay zeka strateji sistemi yapay zekaya önderlik yapan temel çizgilerden ibaret değil. Farklı stratejilere dönüşebilen çok sayıda farklı değerlere sahip. Her yapay zeka bir başka ülkeden gelen Yükümlülükleri nasıl değerlendirdiğini, hangi Savaş Hedeflerini çekici bulduğunu, kime karşı ne kadar saldırgan olacağını ve Diplomatik Oyunlardaki temel tarafsızlık değerini belirleyen gizli bir 'varsayılan stratejiye' sahiptir. Aktif yapay zeka stratejisi yeri geldiğinde bu varsayılan stratejinin önüne geçebilir. Örneğin GSYİH, nüfus ve menzil gibi etkenler doğrultusunda 'Fetih' amacına sahip ülkeler Fethetme Savaş Sebebi için bir strateji oluştururlar, eğer bu yapay zeka ülkesi 'Almanya'yı Birleştirme' diplomatik stratejisine sahipse, bu stratejinin üstüne tüm Kuzey ve Güney Alman kültürüne sahip toprakları ekler.

DD59_2.jpg

Bir Yükümlülüğün değerini belirleyen hesaplamaların bir kısmı.

Stratejik arzulardan bahsetmiştim, bunları küçük stratejiler gibi düşünebilirsiniz. Birbiriyle diplomatik ilişkiye girebilen tüm ülkeler birbirlerine karşı stratejik arzuya sahip olabilir. Bunlar yarı rastgele bir şekilde belirlenirler ve her yapay zeka stratejisi için farklı şekilde belirlenirler. Örneğin 'Koloni Sahibi Olma' yapay zeka stratejisine sahip ülkenin tanınmamış güçleri fethetme ihtimali, 'Güç Dengesini Koru' stratejisine sahip ülkeye nazaran daha fazladır. Bu sistemin en büyük artısı, yapay zekanın bir amaç doğrultusunda hareket etmesini istediğimizde (örneğin Gündem Maddeleri), her bir örnek için ayrı kodlar yazmaktansa yapay zeka stratejilerinde farklı öncelikler oluşturmamızın yeterli olması.

DD59_3.jpg

Osmanlı Mısır'a karşı Düşmancıl bir tavra sahip, hem kötü ilişkiye sahipler hem de Mısır'a karşı Stratejik 'Fetih' arzusuna sahip.

Yapay zeka stratejileri ve Stratejik Arzular elbette oyun boyunca statik bir halde değildir. Bazıları tarih dosyalarınca belirlense de, birçoğu yarı rastgele bir şekilde zaman içerisinde değişiklik gösterebilir. Bu değişiklik çeşitli olaylarla hızlanabilir, her bir yapay zeka stratejisi ve strateji arzusu 100'e vurduğunda tekrar zar atılmasını tetikleyen bir ölçüme sahiptir. Oyunda ülkenin başına gelen çeşitli olaylar bu zarın tekrardan atılma süresini hızlandırabilir. Örneğin bir ülke iflas ettiğinde, o ülke üzerinde stratejik arzuya sahip tüm ülkeler tavır değişikliğine gidebilir ve dostane olmayan yeni bir tavır benimseme ihtimalleri çok daha yüksek olur.

Bir diğer, nispeten daha az dramatik bir örnek ise, bir ülke yeni bir yasa çıkardığında siyasi stratejisinde değişim için ölçümde yeni puanlar edinir. 100'e ulaşması ülkenin stratejisinin veya stratejik arzularının değişeceği anlamına gelmeyebilir, kimi zaman yeniden değerlendirmede eski tercihin makul olduğu görülüp aynı yolda devam edilebilir. 

Yapay zekanın strateji bazında nasıl hareket ettiğini anlattıktan sonra ekonomiye geçebiliriz. Victoria 3'te ekonomi yönetimi oldukça komplike ve yapay zekanın bu yönetimi üstlenmesi kolay bir iş değil. Göz önünde bulundurması gereken çok sayıda farklı faktör bulunuyor, örneğin yapay zekanın Tütün tarlası inşa etme kararını inceleyelim. İlk düşüncede oldukça basit bir hesap olacak gibi görünüyor değil mi? İşçilik maliyetiyle tütünün pazardaki mevcut fiyatını karşılaştırıp, bu yatırımın kar getirip getirmeyeceğini inceleyebiliriz?

Maalesef hayır, birincisi tütünün pazar fiyatı yeni bina tamamlandığı an değişim gösterecek, pazarda daha fazla tütün olması demek, ihtiyaçları doğrultusunda tütün alan Nüfusların daha fazla alım yapması demek, bu da aynı kategorideki - Likör gibi - ürünlerin daha az tercih edilmesi demek, bu da yapay zekanın bu sefer Likörle ilgili üretim yöntemlerini gözönünde bulundurması demek.

Peki yapay zeka bir bina inşa edeceği zaman nasıl karar veriyor? Bunu Harcama Değişkenleri adını verdiğimiz sistemle sağlıyoruz. Her yapay zeka ülkesinin harcama değişkeni, halihazırda inşaat sırasında olan binaların alım ve satım emirlerini karşılaştırıyor. Eğer yapay zeka Araç sıkıntısı çekiyorsa, Araç üreten bir bina yapmaya başlıyor. Bu bina yapıldıktan sonra krizin çözüleceğini görüp, 2. veya 3. bir bina yapmaya kalkışmıyor. Ardından Araç ürününü kullanan bir başka binaya öncelik verebiliyor. Yapay zekanın askeri olarak kendisini tehdit altında hissetmesi askeri harcamaları daha öncelikli hale getirebiliyor.

DD59_4.jpg

Bu değişkenler doğrultusunda harcama kararları alma noktasında, yapay zeka Victoria 3'ün geliştirilme sürecinden ve kullandığımız JIRA sisteminden ilham alan bir sistemi kullanıyor. Yapay zeka ilk olarak yapabileceği tüm harcamaları listeliyor, örneğin bir eyalette kışla inşa etmek veya bir binayı sübvanse etmek vb. Ardından her eyleme bir öncelik ve bir skor belirliyor.

Öncelik, yapay zekanın mevzubahis harcamanın önemine verdiği değeri ifade ediyor. Harcamalar arttığında yapay zeka daha öncelikli olan harcamalara yoğunlaşırken, harcamaları kısarken ilk olarak düşük önemdekilere odaklanıyor. Aynı 'husus' (mesela aynı eyaletteki aynı türdeki bina) harcamaları azaltır veya düşürürken farklı önceliklere sahip olabiliyor zira yapay zeka belli bir miktar para harcadığı binayı zorunda kalmadıkça seviye düşürmekten kaçınıyor.

Öncelikler şu şekilde:
  • Olması Şartlar: Bunlar yapay zekanın gerekirse uğruna iflas etmeyi göze alacağı harcamalar. Yapay zeka bu harcamalar doğrultusunda toplam harcamasını yükseltmeye sıcak bakabilir, harcamaları kısarken asla bu kalemlerden başlamaz.
  • Olmalılar: Bunlar yapay zekanın önem verdiği ve olmasının fayda sağlayacağını düşündüğü hususlardır. Yapay zeka sadece borçta olması durumunda "olmalı" kategorisinde bir harcamayı kısar.
  • Olması İstenenler: Bunlar yapay zekanın nispeten önemli gördüğü, bilançonun pozitif olması durumunda değerlendireceği kalemlerdir. Bilanço negatif olması durumunda bu kalemlerdeki harcamayı kısabilir.
  • Olsa İyi Olurlar: Bunlar yapay zekanın düşük öncelik verdiği, ancak ciddi bir bütçe fazlası olması durumunda değerlendireceği kalemlerdir.
  • Gereksizler: Bunlar yapay zekanın gerek görmediği harcamalardır, bu kalemdeki harcamalar için toplam harcamayı yükseltmezler ve ilk fırsatta bu kalemlerin harcamasını kısarlar.
Skor yarı rastgele bir şekilde belirlenir ve 2 kalem aynı önceliğe sahip olduğunda eşitliği bozma görevi görür. Örneğin Valonya'da kışla inşa etmek ve Flanders'te donanma üssü kurmak arasında kararsız kaldığında, yapay zekanın hangisini inşa edeceği skora göre belirlenir. 

DD59_5.jpg


Şimdi yapay zekanın Diplomatik Oyunlardaki davranışlarından bahsedelim. Bu alanda yakın zamanda ciddi gelişmeler yaşandı. Resmi yayınları ve geliştiriciler tarafından kaleme alınan hikayeleri takip ediyorsanız, yapay zekanın alpha sürümünde Diplomatik Oyunlarda nasıl hareket ettiğine aşinasınızdır. Her iki tarafa da bir skor veriyor, ardından fikir değiştirme tekliflerine bir değer veriyor. (ve kimi zaman fikir değiştirmese dahi o tarafı tercih ettiği için o tarafa katılıyor). Bu sistemde yapay zekanın davranışlarını etkileyen bazı yeni değerlere sahibiz: Tarafsızlık, Sempati, Özgüven ve Cesaret.

Tarafsızlık: Bu değer yapay zekanın Diplomatik Oyuna ne kadar müdahil olmak istediğini belirtiyor. Bu noktada yapay zekanın stratejisi, borçta olup olmaması, ordusunun vaziyeti ve meselenin ilgisini çekip çekmemesi gibi unsurlar belirleyici rol oynuyor. Yapay zekanın bir tarafa çekilmesi için, taraflardan birinin hem diğer tarafın skorunu hem de yapay zekanın Tarafsızlık Skorunu geçmesi gerekiyor. Örneğin Avusturya ve Prusya bir oyunda karşı karşıya geliyorsa, Rusya Avusturya'ya 30, Prusya'ya -10 veriyorsa, bu esnada da 50 Tarafsızlık Skoruna sahipse, normal şartlarda taraf olmayacak ve Avusturya tarafında katılması için Avusturya tarafından en az 21 puan değerinde ikna edilmiş olması gerekecek, öte yandan Prusya'nın 61 puan değerinde bir teklif vermesi gerekecek.

Sempati: Bu, diplomatik oyunlarda lider olmayan ülkeler için belirlenen yarı rastgele bir değerdir. Ülkeler savunan tarafa karşı sempati beslemeye daha meyillidir, dostlarının düşmanlarına antipatiyle yaklaşırlar, yüksek kötü şöhrete sahip bir ülkeyle karşılaşan ülkelere sempatiyle yaklaşırlar. Sempati oyun esnasında değişiklik gösterebilir, örneğin fazladan savaş hedefi ekleyen taraf, savaş hedeflerinin kötü şöhret miktarı boyunca karşı tarafa sempati kazandırır. Taraflardan birine yeni ülke katılması, mevzubahis ülkeyle ilişkiler çerçevesinde diğer tarafın daha sempatik görünmesine sebep olabilir.

DD59_6.jpg

Özgüven: Bu, diplomatik oyundaki lider ülkeler için hesaplanan bir değerdir ve diplomatik oyunun savaşa dönüşmesi durumunda kendilerine duydukları güveni temsil eder. Bu değer ülkelerin birbirlerine oranla güçleri ve seferberlik seviyelerine göre belirlenir, ek olarak savaşın maliyetini karşılayabilme ihtimalleri, karşılaşabilecekleri iç karışıklıklar vb. unsurlar gözönünde bulundurulur. Yapay zekanın özgüveni ne kadar düşükse, geri adım atmaya o kadar meyillidir ve henüz taraf belirlememiş ülkeleri yanına çekmeye o kadar isteklidir.

Cesaret: Bu, diplomatik oyundaki tüm katılımcılar için yarı rastgele bir şekilde belirlenen bir değerdir. Belli stratejilere sahip ülkeler, yüksek kademe ülkeler, güçlü askeriyeye sahip ülkeler ve oyun içerisinde ilhak edilme riski olan ülkeler yüksek Cesaret değerine sahip olurlar. Cesaret değeri ülkenin ne kadar erken seferberlik ilan edeceği, bir şey teklif edilmeden taraf belirleme ihtimali gibi çeşitli unsurları etkiler. Cesaret değeri, Özgüven ile kıyaslanarak yapay zekanın savaşa giden diplomatik oyunda geri adım atma şansını belirler. Özgüven ve Cesaret değerleri toplandığında daha düşük bir sonuç çıkarsa, yapay zekanın geri adım atma ihtimali o kadar yüksektir. Bu noktada yapay zekanın mevzubahis savaş hedeflerinden ne kaybedeceği gibi farklı etkenler de vardır fakat Cesaret genel olarak 'tahmin edilebilir bir rastgelelik' değeri taşır. Tek başına Avusturya ile yüzleşen Modena yapay zekası, ilhak riskiyle karşı karşıya olduğu için çok yüksek bir Cesarete sahip olsa da, bir süre sonra Özgüvensiz kalacağı için meseleyi savaşa dönüşmeden çözme taraftarı olacaktır.

DD59_7.jpg

Yapay zeka tasarlamak benim için kişisel bir tutku (2013 yılında Paradox'ta yapay zeka programcısı olarak işe girmiştim), bu sebeple bıraksanız sabaha kadar bir şeyler yazarım ancak bu geliştirici günlüğü fazlasıyla uzadığı için artık meseleyi toparlamam gerekiyor. Son olarak sizlere Victoria 3'teki Oyun Kurallarından bahsedeceğim, bunlar alışkın olduğunuz oyun zorluk ayarlarından biraz daha farklı. Victoria 3'ün komplike ve iç içe geçmiş tabiatı sebebiyle, 'Yüksek Zorluk' diyip de yapay zekanın daha fazla üretim yapması veya 'Kolay' bir oyunda oyuncunun daha kolay üretim yapması gibi unsurlar istemedik. Bunun yerine, yapay zekanın oyuncuyla ve jeopolitik olarak dünyanın geri kalanıyla nasıl etkileşim içerisinde olacağına odaklandık. Bu sebeple oyuna 2 yeni oyun kuralı ekledik: Yapay Zekanın Oyuncuya Karşı Davranışı ve Yapay Zeka Saldırganlığı.

Yapay Zeka Saldırganlığı, Düşük, Normal ve Yüksek olmak üzere belirleniyor ve tahmin edeceğiniz üzere, yükseği seçtiğinizde yapay zeka tüm ülkelere karşı daha agresif hareket ediyor. Bu ayar yapay zekanın stratejik arzularını, diplomatik oyun başlatma ihtimalini ve kötü şöhret kazanmaya sıcak bakma ihtimalini etkiliyor.

Yapay Zeka Davranışı ise, Ilımlı, Normal ve Sert olmak üzere belirleniyor ve oyunda gerçek anlamda bir zorluk ayarına en yakın ayarın bu olduğunu söylemek mümkün. Normali seçtiğinizde yapay zeka oyuncuya diğer yapay zeka ülkelere davrandığı gibi davranıyor. Ilımlıyı seçtiğinizde yapay zeka size daha dostane yaklaşıyor, yapay zeka oyuncuya yönelik dostane strateji arzulara sahip oluyor ve diplomatik oyunlarda destekleyici tavır takınıyor, hak iddiasına sahip olmadıkları müddetçe oyuncunun Anavatanından toprak almaya kalkışmıyor. Aynı şekilde, Sert seçeneğini seçtiğinizde yapay zeka oyuncuya karşı her zaman bir şüpheyle yaklaşıyor, diplomatik oyunlarda oyuncuyu daha zor destekliyor, fırsatını bulduğunda oyuncuya çelmeyi takıyor.

DD59_8.jpg

Bugünlük bizden bu kadar, umuyoruz Victoria 3'teki yapay zekaya dair kaleme aldığımız bu yazıyı aydınlatıcı bulmuşsunuzdur. Oyunun çıkışına dek gidermemiz gereken bazı hatalar var, çıkış sonrasında oyunu geliştirmeye ve modlanabilirliğini arttırmaya devam edeceğiz. Özellikle topluluktan yapay zeka odaklı oyun kurallarına dair önerileri bekliyor olacağım. Önümüzdeki hafta Michael Victoria 3'ün modlanabilirliğinden bahsedecek.
[+] 2 üye Duman nickli üyenin bu iletisini beğendi.
Cevapla
#2
Güzel umarım yapay zeka işi iyi kotarırda zevkle oynarız
Ara
Cevapla
 




Konuyu Okuyanlar: 3 Ziyaretçi



Strategyturk Forumları

Strategyturk Forumları tüm Türk stratejiseverler için büyük ve kaliteli bir platform olma amacı güder. Forum içerisinde çok sayıda strateji oyunu için bölüm ve bu bölümlerde haber konuları, rehberler, mod tanıtımları, multiplayer etkinlikleri ve üye paylaşımları için alanlar yer alır.