PlayPendium
Bulwark · Düşündürücü Konular

Bir Savaş Ağası Nasıl Düşünür

Tek başınıza oynayın, dört kaleden üçünü bir makine savunur. Her bilgisayar savaş ağası aynı kısa döngüyü işletir: korkulmaya değer topu bul, duvarını nereden geçeceğini kestir, karşılamak için kay; ve bir çantada keklik ile bir baş belası arasındaki fark dört sayıya iner.

Kolay · nişan sapması 0,18 ray kesri cinsinden hata
karşı
Zor · nişan sapması 0,015 neredeyse kusursuz yerleşim

İngilizce yazılmış ve düzenlenmiştir. Bu Türkçe sürüm makine çevirisiyle oluşturulmuştur; kesinliğin önemli olduğu yerlerde İngilizce özgün metin esas alınmalıdır. İngilizce orijinalini okuyun →

01 · Neden korkulacağını seçmek

Her top bir tehdit değildir

Bir savaş ağasının ilk işi, saniyede yüz yirmi kez, triyajdır. Arenada aynı anda en fazla iki top serbest dolaşırken, yapay zekâ hangisinin kalkanını hak ettiğine karar vermek zorundadır. Etkin ve tutulmamış her topu kendi kralına olan uzaklığına göre puanlar, sonra gerçekten köşeye doğru gelen her toptan sabit 250 birimlik bir ikramiye düşer; uzaklaşan bir top, gerçekte olduğundan 250 birim daha uzaktaymış gibi işlem görür. 1 En düşük puan kalkanın ilgisini kazanır.

Sonuç, zararsızca yanından süzülüp giden bir top için paniğe kapılmayan, ama hem daha yakın hem de üzerine gelen bir topa kenetlenen bir savunucudur. Bu, bir insanın düşünmeden yaptığı şeyin kaba bir modelidir: üstüne geleni izle, gideni boş ver. Bütün yargı, topun hızı ile krala giden yön arasındaki tek bir nokta çarpımıdır; pozitifse "bana nişan almış" demektir ve bu kadarı yeter.

02 · Nereye ineceğini kestirmek

Topu rayın üzerine öncelemek

Bir tehdit seçtikten sonra savaş ağası, çapraz rayının neresinde duracağına karar vermelidir. Tam sekme yolunu çözmez: ne yansıma izi sürer ne de duvarlardan sekmeyi öngörür. Topun konumunu alır, onu mevcut hızı boyunca kısa bir adım ileri iter (0,12 saniyelik bir önceleme) ve o gelecekteki noktayı doğrudan rayın üzerine izdüşürerek 0 ile 1 arasında bir hedef kesri elde eder. 1

Bu, bilinçli olarak sığ bir öngörüdür ve yapay zekânın yenilebilmesinin nedeni de budur. Yalnızca saniyenin sekizde biri kadar öncelediği ve bir sekmeyi hiç hesaba katmadığı için, bir duvara çarparak gelecek bir top onu kandırır; topun şu anda gösterdiği yere bağlanır. Atışlarını arena kenarlarından sektiren bir insan tam olarak bu kör noktayı sömürmektedir. Makine, bir kıl payı öngörüyle şimdiki zamana tepki verir; plan yapmaz.

Bilgisayar topun geleceğini hesaplamaz. Saniyenin sekizde biri kadar öne eğilir, kalkanını topun hiçbir şey araya girmese olacağı yere doğrultur ve araya giren her şeyin sizin fırsatınız olmasına izin verir.

03 · Üç kademe, dört kadran

Zorluk bir tablodur, yeniden yazım değil

Üç zorluk derecesi tek ve aynı kod gövdesini paylaşır. Kolay, orta ve zor arasında değişen şey, dört ayar sayısından oluşan bir satırdır. 1 Titreşim, kalkanın hedefine rastgele hata ekler; öyle ki kolay bir savaş ağasının nişanı rayının neredeyse beşte biri kadar gezinirken zor olanınki neredeyse tamdır. Tepki mesafesi, savaş ağasının bir topu izlemeye tenezzül etmesi için onun ne kadar yaklaşması gerektiğini belirler: kolay olanı kralından 420 birimden uzaktaki her şeyi, yani tahtanın genişliğinin yarısının biraz altındaki bir mesafeyi yok sayar; zor olanı arenanın tamamını izler. Yakalama şansı, kalkanına yakalanacak kadar yaklaşan bir topu kapma olasılığıdır. Rakiplere nişan alma ise savaş ağasının hiç hücum oynayıp oynamayacağına karar veren tek bir anahtardır.

Yapay zekâ ayar tablosu; kademeler arasındaki farkın tamamı
KadranKolayOrtaZor
Nişan titreşimi (ray kesri)0.180.070.015
Tepki mesafesi (birim)4207002,000
Yakalama şansı0%25%55%
Rakiplere nişan alıyor mu?hayırhayırevet

Dört değerin dördü de Bulwark oyun motorunun içindeki tek bir küçük ayar tablosundan gelir; kademe başına bir satır. Zor kademede tepki mesafesi arenanın genişliğinin iki katı olarak yazılmıştır ve arena 1.000 birim karedir, dolayısıyla 2.000 birim "her zaman izliyor" demektir. 1

04 · Makine saldırdığında

Zor bir savaş ağasını tehlikeli kılan tek anahtar

Kolay ya da orta bir savaş ağası asla vurma niyetiyle yakalamaz. Kolay olanı topu hiç yakalamaz, orta olanı ise yalnızca arada bir yakalar ve topu bir kez eline geçirdiğinde onunla ne yapacağına dair hiçbir planı olmaz. Yalnızca zor kademenin yaptığı şeyi, rakiplere nişan alma anahtarını çevirin, yapay zekâ salt tepkisel olmaktan çıkar. Topu tuttuğunda tahtanın öte yanına bakar, en yaralı rakibi (en az tuğlası kalanı) seçer ve oraya nişan alır. 1

Bunu hiçbir yol bulma algoritması olmadan yapar. Kendi rayı boyunca on bir aday konum örnekler ve her biri için motorun bırakma matematiğini yeniden üreterek o atışın hangi yöne uçacağını görür, sonra çıkış vektörü seçilen kurbana en doğrudan işaret eden konumu tutar. 1 Bu, zekâdan çok bir avuç seçenek üzerinde kaba kuvvettir, ama sabırlı bir kaba kuvvettir: bir nokta seçtikten sonra savaş ağası, kalkan gerçekten oraya kayana dek topu tutar ve ancak oraya vardığında ya da beklemenin atışın değerinden fazlaya mal olacağı kadar uzun süre tuttuğunda bırakır. Niyet apaçık stratejiktir; kolay bir av peşindeki bir insanın yapacağı şeyin tam olarak aynısı. Hedefi "en az tuğla" ölçütüyle seçmek, birbirinden bağımsız üç savunucuyu zaten kaybetmekte olanın üzerine doğrultur.

05 · Her seferinde aynı savaş ağası

Yeniden oynatabileceğiniz rastgelelik

Bir savaş ağasının yaptığı her "rastgele" şey — nişanındaki titreşim, yakalayıp yakalamayacağına dair yazı tura — çekirdek sayıyla beslenen bir üreteçten çekilir: tek bir başlangıç sayısını uzun ve yinelenebilir bir sözde rastgele değerler akışına çeviren, mulberry32 adıyla bilinen derli toplu bir yordam. 2 Ona aynı çekirdek sayıyı verin, sonsuza dek aynı diziyi üretir. Canlı bir maç çekirdek sayısını saatten alır, dolayısıyla hiçbir iki oyun aynı açılmaz; ama aynı çekirdek sayıyı geri verin, maç birebir yeniden işler: aynı fırlatma açıları, aynı sapmalar, aynı yakalamalar.

Bu belirlenimcilik süs niteliğinde bir ayrıntı değildir. Oyunu sınanabilir kılan şey odur — test takımı sabit bir çekirdek sayıdan bilgisayara karşı bilgisayar maçlarının tamamını oynar ve her seferinde aynı sonucu bekler — ve üretecin imleci dahil bütün simülasyonun JSON'a paketlenip yeniden kurulmasını, böylece çevrim içi oyunda ana bilgisayarın kendi durumunu akıtabilmesini ve diğer oyuncuların her birinin birebir aynı tahtayı yeniden kurmasını sağlayan şey de odur. Savaş ağaları canlı hissettirir, çünkü hataları insana benzer; altta yatansa herkesin başa sarabileceği kısa bir aritmetik yinelemedir. Bir kaleyi koruyan bir makinenin, anlaşılan, yalnızca birkaç sayıya ve yeniden üretilebilir bir şans akışına ihtiyacı var. 2

Sources & notes
  1. Bulwark game engine: the warlord AI. Threat scoring (distance from a ball to the king, minus a 250-unit bonus for inbound balls), the 0.12-second lead used to project the intercept point, the tuning table that holds jitter, react distance, catch chance and the aim-at-rivals switch for each tier, the “most wounded rival” target selection, and the eleven-sample search over release positions. Read from the game's own source.
  2. Bulwark game engine: the deterministic random generator, an implementation of mulberry32, the compact public-domain algorithm by Tommy Ettinger that maps a 32-bit seed to a repeatable stream. Its own comment notes that it seeds ball launches and AI jitter so that games are reproducible and testable, and it can save and restore its cursor so the state round-trips through JSON. Read from the game's own source.
    Algorithm origin: Tommy Ettinger, “Mulberry32 PRNG” (public domain).
Was this worth reading?
Play Bulwark
PlayPendium · About · Contact · Privacy · Terms · Cookies · Accessibility · Copyright · Browse all games · Classic arcade games · © 2026