Gönderen Konu: Blog Dev Blog 25/10/18  (Okunma sayısı 238 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı RoadWarriror

  • Community Manager
  • Yönetici
  • Senyör
  • *
  • İleti: 425
  • Beğenildi: 68 kere
  • Bütün insanlar dünyadaki denizler gibi kardeşlerdi
    • Profili Görüntüle
Dev Blog 25/10/18
« : 17 Kasım 2018, 00:09:47 »
Selamlar Kalradya savaşçıları!

Yapay zeka (AI), her tek oyunculu oyun için en önemli özelliklerden biridir. Onu doğru bir şekilde uygulamak deneyimin anahtarıdır: neredeyse görünmez olmalı, oyunculara (mümkün olduğunca) bir makineye karşı oynadıklarını hissettirmemelidir. Dişli bir rakip olacak kadar zeki ve çevik olmalı, ancak aşırıya da kaçmamalıdır – sonuçta insanlar hata yapabilir ve hikayenin kahramanı oyuncunun kazanması beklenir. Mevcut oyun mekaniklerini, sadece oyunun eğlenceli ve çeşitli olması için değil, aynı zamanda oyuncuya neler yapılabileceğini göstermek için kullanmalıdır. Bunlar, deneyimin özünde beceriye dayanan dövüş ve destansı büyüklükte savaşların bulunduğu Mount & Blade II: Bannerlord gibi bir oyunda kulağa özellikle doğru gelmektedir.

Önceki oyunlarımızda yapay zeka, dövüşte yeterli bir şekilde çalışıyordu ancak çok ileri bir seviyede değildi. Savaş taktikleri, yapay zeka orduları tam taarruza geçecekleri ya da geride durup oyuncunun saldırmasını bekleyecekleri sırada oldukça temel seviyedeydi. Araziye pek önem verilmemişti ve herhangi bir noktada yapay zeka, rakiplerin ordularının zayıflıklarından istifade etmeye ya da oyuncunun yaptığı herhangi bir hatadan yararlanmaya çalışmıyordu. Bu derinlik eksiği, yapay zekayı gerçekten dişli bir rakipten ziyade, daha çok bir engel, bir sorun haline getirdi. Bannerlord’da ise bunun baştan sona üzerinden geçildi. Oyuncuların, galip çıkmak istiyorlarsa zorlanmalarını, zeki davranmalarını ve kendilerine sunduğumuz tüm dövüş mekaniklerini kullanmalarını– ve zaman zaman verdikleri mantıksız kararlar veya yaptıkları hatalar yüzünden cezalandırılmalarını istiyoruz. Mount & Blade’de dövüşlerin hem bire bir, hem de büyük savaşlarda olduğunu hesaba katarak bunu yapmak için üç ayrı kategoriye bölünmüş, daha gelişmiş ve tepkisel bir dövüş yapay zekası planlamalıydık: bireysel yapay zeka, birlik yapay zekası ve taktiksel yapay zeka.

Bireysel
Bir savaştaki her bir bireysel karakter kendi yapay zekası tarafından kontrol edilir. Bir pozisyon alma (yön bulma), bir hedef seçme, saldırma ve savunma hep bu düzeyde kontrol edilir. Bireysel yapay zekanın son derece hızlı ve uyumlu olması, sonuçlarının ise çok küçük hata payı ile doğru olması gerekir (bir silahı sallama, aniden saldıran at üzerinde bir düşmanla çarpışmak, vs.). Ayrıca emirlerin tüm birlik boyunca aynı anda uygulanması gerekir. Sonuç olarak zamanlama ve uygulama, mümkün olduğunca mükemmele yakın olmak zorundadır.

Basitçe söylemek gerekirse, bireysel yapay zekanın, dövüşte her bir karakterin etkin bir biçimde davranacağını garanti etmesi için mümkün olduğunca kusursuz olması gerekir. Kendisine verilen emirleri yerine getirirken aynı zamanda mevcut durumu değerlendirerek, hangi adımların atılması gerektiği üzerine kendi kararlarını almalıdır.

Ve tüm bu hesaplamaları aynı anda yapan yüzlerce karakteriniz olduğunda performans, adresleme gerektiren (bizim durumumuzda parallel işleme kullanılarak çözülen) büyük bir potansiyel sorun haline gelir.

Birlik
Birlik yapay zekası, bireysel yapay zekanın hemen üstünde bir seviyede yer alır. Birlik yapay zekası, bir birlik içindeki her bir karaktere komut vermek ve birliğin hangi eylemi (örneğin saldırı, savunma, yan taarruzu, geri çekilme, vs.) gerçekleştirmesi gerektiğine karar vermek için kullanılır. Ancak, birlik yapay zekası tarafından verilen emirlerin sadece her bir bireysel karakterden ne beklendiği belirlediğini; onlara doğrudan bir şey yaptırmadığını akılda tutmak önemlidir: yorumlama ve uygulama kısmı bireysel yapay zekaya bırakılır.

Birlik yapay zekası, oyuncu ile aynı arayüz ve komut dizisine erişir. Başka bir deyişle, dövüş yapay zekamız hile yapmaz! Kararlarını vermek için bir oyuncunun erişebileceği (muhtemelen oyuncunun tahminlerinden biraz daha doğru ve detaylı) her bir bilgiyi kullanır.

Taktik
Taktik yapay zekası, bir yapay zeka ordusuna tüm savaş planını veren şeydir. En iyi taktiği belirlemek için her bir ordunun yapısının yanında, savaş alanının arazisine de bakar. Her bir savaşı farklı tutmak ve oyuncu için ortaya çıkan hikayeyi devam ettirmek için dövüş yapay zekasının bu katmanı orduyu komuta eden yapay zeka beyinden (lordundan) etkilenir. Bazı beyler daha temkinli davranır ve savunmacı bir birlik kurmadan üstünlüğü sağlamayı tercih ederlerken, bir diğeri daha erken saldırıya geçip, rakipleri üzerinde baskı kurarak daha atılgan olabilirler.

Seçilen taktik, her bir birliğin kendilerinden ne beklendiğini bildiği ancak ona sıkı sıkıya bağlı kalmadıkları tüm savaş planını belirler. Bunun anlamı, her birliğin yapay zekasının taktikten bağımsız, avantajdan yararlanma ya da gerektiğinde geri çekilme gibi ani savaş alanı kararları alabilecekleri, ancak yapılması gereken acil bir durum olmadığında plana bağlı kalmaya çalışacaklarıdır.

Buna bakmanın bir yolu, yapay zekanın kendi komuta zinciri olduğunu düşünmek, taktik yapay zekasının ordunun başında bir general olması, astlarına komutalar vermesi ve onların, verilen komutaları yetenekleri doğrultusunda en iyi şekilde yerine getirmelerini beklemektir.

Bu yeni dövüş yapay zeka sistemini geliştirirken ana kaygılarımızdan biri, yapay zekanın verdiği herhangi bir kararın oyunculara inandırıcı gelmesini sağlamaktı. Yapay zekanın oyuncuların aklına yatacak mantıklı kararlar vermesi gerekir, aksi takdirde sistem basit bir şekilde oynanabilir ve oyuncunun oyunla bütünleşmesi kötü etkilenebilir. Şimdiye kadar aldığımız sonuçlardan oldukça memnunuz. Bannerlord’un yapay zekasının seriye geri dönen oyuncular için yeni bir zorlu görev olacağını ve hem yeni hem de eski oyunculara kendi bireysel dövüş becerilerini ve taktik hünerlerini test edebilecekleri dinamik dövüş deneyimleri sunacağını düşünüyoruz.

Son olarak, Bannerlord’un yapay zekasının da modlanabilir olduğuna ve mod geliştiriciler için önemli olan, onların işlerini kolaylaştıran ve onlara daha karmaşık modifikasyon imkanı sağlayan üç farklı seviyeye ayrılmasına değinmek istiyoruz. Taktik, birlik ve karakter seviyelerinin ayrı olması son derece önemlidir: tıpkı komutanların savaş sırasında emirlerini değiştirmeleri askerlerinin de kendilerini değiştirmeyeceği gibi yeni taktik eklemek, her bir birlik davranışı ya da karakter yapay zekasını modellemenizi gerektirmez. Yeni birlik davranışları eklemek, yapay zekanın kullandığı ya da sizin kullanacağınız arayüzün hiyerarşiler arasındaki ortam olmasından, karakter yapay zekasını derinlemesine araştırmanızı gerektirmez. Bu, mod geliştiricilerin yeni birlik davranışları ve çeşitli birlik davranışları kullanarak yeni taktikler hazırlamaları için karmaşık ya da basit komutlar dizini ve mantık kullanarak, hiçbir şeyi bozmadan, ihtiyaçlarına uygun özel yapay zeka hazırlamalarına olanak verir.
« Son Düzenleme: 17 Kasım 2018, 00:10:16 Gönderen: RoadWarriror »
 

 

Forumdan uzaklaştırmalara itiraz, yasal talepler veya uygunsuz içerik bildirimlerinizi İletişim Sayfamız üzerinden yapabilirsiniz. 3 gün içerisinde yanıt verilecektir.