Strategyturk Forumları

Orjinalini görmek için tıklayınız: HoI4 - Uluslararası Pazar Yapay Zekası
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
hoi4-banner-2018.png

Hearts of Iron IV geliştirici günlüklerinde bu hafta Uluslararası Pazar Yapay Zekası yenilikleri ve nasıl çalıştığı hakkında bilgi veriliyor.

https://forum.paradoxplaza.com/forum/dev...h.1595645/ :Herkese merhaba! Ben Plankie ve Hearts of Iron'ın programcılarından biriyim. İşimin büyük bir kısmı özellik çalışması, hata düzeltme ve genel oyun geliştirmelerinden oluşuyor. Oyun geliştirmenin en sevdiğim kısmı yapay zeka ile çalışmak ve onu daha eğlenceli, ilginç ve oynaması daha gerçekçi hale getirmeye çalışmak. Bu nedenle, bu haftanın geliştirici günlüğünde yapay zekanın önemli yeni özelliklerimizden biriyle nasıl etkileşime girdiğini göstermeye odaklanacağım: Uluslararası Pazar

Çok yüksek bir seviyede, yapay zekanın pazarı kullanabilmesi için yapması gereken birkaç şey vardır:
  • Diğer ülkelerin neleri satışa çıkardığını görebilmesi için pazara erişim sağlamak
  • Ekipmanı başkalarına satmak, yani ekipmanı pazarda satışa çıkarmak
  • Başkalarından ekipman satın almak, yani ne satın almak istediğimize ve ne kadar istediğimize karar vermek

Ayrıca satmak için ekipman fazlasına da ihtiyacı var, ama neyse ki YZ zaten ekipman üretmeyi biliyor, bu yüzden sadece biraz ince bir ayar yapılması gerek.

YZ'nin Uluslararası Pazardaki davranışının temeli, üretim stoğundaki farklı ekipman türlerinde sahip olduğu fazlalık/eksikliktir (lojistik sekmesinin altında gördüğünüz ekipman listesini bilirsiniz). Genel olarak, açığı olan ekipmanı satın almaya çalışacak ve fazlası olan ekipmanı satmayı teklif edecektir. Bu temel davranış daha sonra yapay zeka stratejileri gibi diğer faktörler tarafından değişebilir.

image2.png
Üretim stoğunda hangi ekipmanın mevcut olduğunu gösteren tanıdık lojistik sekmesi. Fazlalık/açığı gösteren en sağdaki sayı, YZ'nin Uluslararası Pazar ile nasıl etkileşime girdiğinin önemli bir parçasıdır.

Ekipmanları Satışa Çıkarma

Herhangi birinin YZ'den ekipman satın alabilmesi için önce YZ'nin ekipmanı satışa koyması gerekir. Tıpkı bir insan oyuncu için olduğu gibi, YZ'nin piyasaya ekipman eklemesi ancak elinde fazla ekipman varsa mümkündür. Ancak, bir fazlalık olması, bu fazlalığın tamamını satışa çıkarmanın iyi bir fikir olduğu anlamına gelmez. Ve eğer fazlalık kaybolursa ve tekrar ekipman eksikliğine girersek, YZ ekipmanı piyasadan almalı, böylece onun yerine kendisi kullanabilmelidir. Temel olarak aşağıdaki gibi bir davranış istiyoruz:
  • Eğer ekipmana kendimiz ihtiyacımız varsa, satmayalım
  • Çok fazla ihtiyaç fazlası ekipmanımız varsa, hepsini değil ama bir kısmını satmaya başlayalım

Sorun şu ki, "çok"un ne kadar olduğunu tanımlamamız gerekiyor ki bunları ne zaman satışa çıkarmaya başlayacağımızı bilelim. Bu, ne tür bir ekipman olduğuna ve ülkemizin içinde bulunduğu duruma göre değişebilir. Basit bir şey yapabilir ve "200'den fazla fazlamız varsa, o zaman satışa başlayın" diyebiliriz, ancak 200 piyade teçhizatı ve 200 stratejik bombardıman uçağı tamamen farklı ölçeklerdedir, bu nedenle mutlak sayılar kullanmak iyi bir fikir değildir. Ancak farklı ekipman türleri, durumlar ve ülkeler için sayıları manuel olarak tanımlamak zorunda kalmak da çok fazla çalışma ve dengeleme anlamına gelir, bu nedenle en azından ince ayar yapma imkanı olan iyi bir varsayılan davranış istiyoruz.

Pazar yapay zekasının ilk versiyonlarından birinde, fazla ekipmanlarının belirli bir oranını (örneğin %20) satışa çıkarmasını sağladık. Basit bir yaklaşım olmasına rağmen oldukça iyi çalıştı ve basit olduğu için anlaşılması ve hata ayıklaması da kolay oldu. Bazı eksiklikleri vardı, bu yüzden biraz değiştirdik, ancak hala YZ'nin nasıl satışa çıkardığının temelini oluşturuyor. Her pazar YZ güncellemesinde, her ekipman türünün toplam fazlasını hesaplar (üretim stoğundaki fazlalık + pazar stoğundaki herşey) ve oranın doğru olduğundan emin olur.

Bu, YZ'nin ekipmana kendisinin ihtiyacı varsa, toplam fazlalığının sıfır olduğu anlamına gelir, bu nedenle 0,2*0 = 0 ekipmanı satışa çıkarırlar, yani satmazlar. Ayrıca kendileri kullanabilmek için halihazırda satışta olan her şeyi geri çekeceklerdir. Ve eğer toplam 100 ekipman fazlasına sahiplerse, 0,2*100 = 20 ekipmanı satışa çıkaracaktır (%20'lik bir oran varsayarak). Yani ne kadar fazla ekipmana sahipse o kadar fazla satmaya çalışır, ancak işlerin kötü gitmesi ve kendisinin de ekipmana ihtiyaç duymaya başlaması ihtimaline karşı bir tampon tutar. Bu aynı zamanda eşik için mutlak bir sayı belirlememize gerek olmadığı anlamına gelir, duruma göre kendini adapte eder.

Ancak belirtildiği gibi, bu yaklaşımın bazı eksiklikleri vardı. Yapay zekanın piyasadaki ekipmanı "damlatma" eğilimi vardı, 5 tüfek fazlalığına sahip olur olmaz 1 tüfek satmaya çalışıyordu, vb. ve bu çok yapay hissettirdi ve pek doğal değildi. Bu durum bizi algoritmayı, yapay zekanın ekipmanı tekil silahlar yerine gruplar halinde düşünmesini sağlayacak şekilde değiştirmeye yöneltti. Bir partinin boyutu, ödeme için bir fabrika kullanılarak bir ayda kabaca ne kadar ekipman teslim edilebileceğidir, bu nedenle YZ'nin 3 tüfek satmaya çalıştığını görmek yerine, şimdi piyasaya sürmeden önce yaklaşık 350 tüfeğe (bir stok fazlalığı) ulaşana kadar beklemektedir.

Bu noktada, YZ'nin ekipmanı nasıl satışa çıkardığına dair makul bir varsayılan davranışımız vardı, ancak yine de bunu değiştirme olanağına ihtiyacımız vardı. Bu, kodlanmış YZ stratejileri aracılığıyla yapıldı. HoI4'te YZ stratejilerinin ne olduğunu bilmiyorsanız, bu aslında içerik tasarımcılarının ve mod yapımcılarının komut dosyası aracılığıyla YZ davranışını değiştirebilmelerinin bir yoludur. YZ stratejileri ile aşağıdaki gibi şeyleri değiştirmek mümkündür
  • Piyasada satmak için ihtiyaç fazlası olarak değerlendirmeden önce ne kadar ekipmana ihtiyaç duyulduğu
  • YZ'nin piyasaya sürmek istediği ekipman oranı
  • Satışa sunulacak minimum ve maksimum ekipman miktarı (varsayılan stok miktarını geçersiz kılar)

Yapay zeka stratejileriyle, örneğin küçük ülkelerin tüm trenlerini satmalarını engellemek mümkündür (bunlar savaştan önce çok fazla kullanılmaz, bu nedenle teknik olarak bir fazlalıktır). Almanya'nın savaşa hazırlanırken büyük silah fazlasını satmaması için kod yazmak mümkündür ( ilginç bir bilgi: Alman yapay zekası, savaş patlak vermeden sadece birkaç ay öncesine kadar büyük bir savaşa gireceğinin gerçekten farkında değildir, bu nedenle farklı kodlanmış yapay zeka stratejileri olmadan bunun için yeterince hazırlanamazlar). YZ stratejilerinin tasarımcılar için çok faydalı bir araç olduğunu söylememize gerek yok.

Ekipman Satın Alma

Eğer YZ'nin bir tür ekipmanı eksikse, bunu Uluslararası Pazardan satın almayı düşünecektir (satmayı teklif eden biri olduğunu varsayarak). Öncelikle ekipman satın almak için kaç sivil fabrika harcamak istediğine karar verir. İkinci olarak, satışa sunulan tüm mevcut ekipmanlara bakar ve orada ihtiyacı olanla eşleşen bir şey olup olmadığını belirler. Bundan sonra, YZ'nin harcayacak fabrikaları varsa ve satın almak istediği ekipman varsa, ilk olarak ne alacağına ve ne kadar alacağına karar verme meselesidir. Bu, her potansiyel anlaşma için bir puan hesaplanarak yapılır, bu puan aşağıdakileri dikkate alır:
  • İhtiyaç duyulan ekipmanın yapım maliyeti - önce en büyük ihtiyaçlarımızı gidermeyi tercih ederiz
  • Ekipmanın ne kadar iyi olduğu - daha iyi özelliklere sahip daha yeni ekipmanları tercih ederiz
  • Ekipmanın ne kadar pahalı olduğu - daha ucuz şeyleri tercih ederiz
  • Uygulanabilir sübvansiyonlar - herhangi bir sübvansiyon varsa bunları kullanmayı tercih ederiz
  • Kodlanmış yapay zeka ağırlıkları - içerik tasarımcılarını ve modcuları mutlu etmek istiyoruz

image4.png

Pazar YZ'si için hata ayıklama bilgi penceresi örneği. Burada, ABD YZ'sinin 294 taktik bombardıman uçağı ve yaklaşık 19 bin piyade teçhizatı açığı var. Eksik bombardıman uçaklarının değeri eksik piyade teçhizatının değerinden daha yüksek olduğu için bombardıman uçakları satın almayı tercih eder, ancak şu an için sadece İngiliz piyade tüfekleri satılıktır, bu yüzden Amerikalılar bunu satın almaya başlar.

Şimdi NEYİ satın almak istediğimizi biliyoruz, peki ya NE KADAR? Eğer 19 bin piyade teçhizatı satın almak isteseydik ama sadece bir fabrika ile ödeme yapmaya hazır olsaydık, yıllarca sürecek bir anlaşmayla karşı karşıya kalabilirdik. Bu gibi sorunları aşmak için yapay zeka, tamamlanma süresi kabul edilebilir olana kadar ekipman miktarını ve atanan fabrikaları değiştirerek ne çok küçük ne de çok büyük sözleşmeler oluşturmaya çalışır. Bu yazının yazıldığı sırada (ve değişebilir), YZ yaklaşık 10 ay içinde teslim edilebilecek olandan daha fazla ekipman satın almaktan kaçınmaktadır. Ayrıca yukarıda bahsedilen "stok fazlalığı" ne kadar ekipman satın alınacağına dair asgari bir sınır olarak kullanır.

image1.png

Sadece bir sivil fabrika ile 19 bin piyade teçhizatını ödemek birkaç yıl alır. Hesap yapmadan önce uzun vadeli silah anlaşmaları kulağa daha iyi geliyor...

Elbette YZ'nin ekipman satın alma şeklini etkileyen YZ stratejileri de vardır. Bunlar ya puanlama hesaplamasına giren (birden fazla alternatif varsa YZ'nin neyi ve kimden almayı tercih ettiğini etkileyen) ya da belli bir türdeki ekipmanı ne zaman satın almak istediği konusundaki eşiği değiştiren değerlerdir.

Pazar Erişiminin Oluşturulması

Artık YZ'nin ekipmanları nasıl satışa çıkardığını ve ne satın almak istediklerini nasıl belirlediklerini biliyoruz. Ancak YZ'nin başka bir ülkenin pazarına erişimi olmadığı sürece tüm bunlar hiçbir işe yaramaz, bu nedenle elbette pazara erişim sağlamanın bir yoluna ihtiyacı vardır.

Pazar erişimi, yanaşma hakları veya saldırmazlık anlaşması gibi normal bir diplomatik ilişkiden daha karmaşık bir şey olmadığı için bu nispeten basit bir süreçtir. Doğal olarak, YZ'ye sorarsanız pazara erişim taleplerine yanıt verebilir, ancak kendileri hiç inisiyatif almasaydı oldukça sıkıcı bir özellik olurdu. YZ'nin başka bir ülkeyle pazar erişimine sahip olma arzusunu etkileyen kesin faktörler elbette oyunu dengeledikçe değişebilir, ancak bu yazının yazıldığı sırada en önemli faktörler şunlardır:
  • Diplomatik görüş - HoI4'te görüşün yeterince kullanılmadığını düşündüğüm için bunu gerçekten seviyorum. Bir ülke ile pazar erişimi elde etmenizi mümkün kılar, yeter ki bunu sürdürmek yeterince PP harcamaya hazır olun
  • Ticari nüfuz
  • "İdeolojik" görüş - Bazı ideolojiler diğer ideolojileri daha çok veya daha az sever
  • Rakip taraflar - Eğer iki ülke farklı taraflarda yer alıyorsa

image3.png
Sovyetler Birliği, pazarlarını İngiliz kapitalistlere açmaya hiç niyetli değil.

Bunun sonucunda ticaret bloklarına benzer bir şey görme eğiliminde olursunuz, birbirleriyle ticaret yapan ülke grupları (genellikle taraf veya ideolojik çizgiler boyunca). Bununla birlikte, ticaret blokları arasındaki sınırlar yumuşaktır ve ülkeleri sizin hakkınızdaki görüşlerini yükselterek sizinle ticaret yapmaya ikna etmek genellikle mümkündür.

İhtiyaç Fazlası Ekipman Üretimi

Son olarak, Uluslararası Pazar ihtiyaç fazlası ekipman etrafında döndüğünden, ticaret yapacak ekipman olmasaydı pek eğlenceli olmazdı. Bu durum, yapay zekanın ekipman üretme biçiminde, özellikle de tüm ihtiyaçlarını zaten karşılamışken, bazı değişiklikler yapılmasını gerektiriyor.

Bazılarınızın fark etmiş olabileceği gibi, By Blood Alone'dan bu yana birçok küçük ülke askeri fabrikalarını tam olarak kullanmakta kötü davrandı. Tüm ekipman ihtiyaçlarını karşılar karşılamaz (sahadaki ordular için bir ara stok bulundurmak da dahil) askeri fabrikalarını kullanmayı bırakıyorlar. Bu davranış By Blood Alone ile ortaya çıkmadı, ancak yapay zekanın orduları işe alma şeklindeki diğer bazı değişiklikler nedeniyle sorun çok daha görünür hale geldi. Ekipman üretmeyi bırakmalarının nedeni, teknik olarak daha fazla ekipmana ihtiyaç duymamaları ve üretmeniz gereken herhangi bir ekipmanınız yoksa... basitçe üretmeyi bırakmalarıdır. Oyuncular olarak, ufukta bir savaşın belirdiğini biliyoruz ve "yeterince var" diye üretimi durdurmak için hiçbir neden yok. Daha büyük bir stokla hazırlıklı olmak daha iyidir. Ve Uluslararası Pazar'ın devreye girmesiyle, içimizdeki kapitalistleri aniden tatmin edebilir ve ihtiyaç fazlası ekipmanlarımızı satarak bir şeyler kazanabiliriz.

Şimdi, YZ kendi ihtiyaçlarını karşılamaya yetecek kadar ekipmana sahip olduğu noktaya geldiğinde, "üretim fazlası durumuna" geçmeye başlıyor. Bu durumda, ne üreteceklerini belirlemek için bir kez daha YZ stratejilerini kullanırlar. Bu, ülkelerin farklı türlerde ihtiyaç fazlası ekipman üretmesini mümkün kılar, bu da pazarda daha fazla "ekipman çeşitliliği" ve aralarından seçim yapılabilecek daha geniş bir ekipman seçeneği sağlar.

Özet

Bu geliştirici günlüğünün sonuna yaklaşıyoruz, bu yüzden hızlıca toparlayalım.

Yeni Uluslararası Pazar özelliği için yapay zekaya biraz derinlemesine baktık ve ihtiyaç fazlası ekipmanı nasıl satışa çıkardığını ve satın alma taleplerini nasıl oluşturduğunu gördük. Buna ek olarak, YZ'nin pazarlarını diğer ülkelere nasıl açtığını etkileyen faktörlere ve son olarak, diğer tüm ihtiyaçlar karşılandığında ihtiyaç fazlası ekipmanın nasıl üretildiğine baktık.

Umarım pazar yapay zekasının iç işleyişini görmek size ilginç gelmiştir ve umarım oyunu yeni ticaret partnerlerinizle oynamaktan keyif alırsınız! Gelecek haftanın geliştirici günlüğünde Hearts of Iron'ın nasıl modlanacağına daha yakından bakmak için bazı içerik tasarımcılarımızla bir araya geleceksiniz. Bizi takip etmeye devam edin!
Oynanış derinleştikçe ai uyum sağlama oranı gerçekten düşüyor bunu nasıl düzeltecekler acaba
(12-08-2023, 13:24)Macchiato : [ -> ]Oynanış derinleştikçe ai uyum sağlama oranı gerçekten düşüyor bunu nasıl düzeltecekler acaba
Tabiki Paradox'a daha fazla para kazandırarak.
(13-08-2023, 01:33)Takeda Akane : [ -> ]
(12-08-2023, 13:24)Macchiato : [ -> ]Oynanış derinleştikçe ai uyum sağlama oranı gerçekten düşüyor bunu nasıl düzeltecekler acaba
Tabiki Paradox'a daha fazla para kazandırarak.
Güzel mantık.... Nedense tanıdık geldi