Bu site şu an geliştiriliyor.

Yunus Atalay
← Yazılar
2023

Oyunlarda Yapay Zeka

Pac-Man'in hayaletlerinden F.E.A.R.'ın öngörülemeyen düşmanlarına, oyunlardaki yapay zekânın 50 yıllık tarihi.

Örümcek ağınızı fırlattınız ve karşıdaki çatıya zıplayacaksınız lakin karşı çatıda iki adam sizi bekliyor ve örümcek ağının sesi ile irkildi siz zıpladığınız zaman ise birden size doğru dönüp ateş etmeye başladılar, saklandığınızı gören rakipleriniz de size aynı şekilde karşılık verdi. Onları göremiyorsunuz ama onlar size karşı büyük bir karşılık vermek için hazırlanıyor bunun farkındasınız ama Örümcek Adam olarak süper kahraman olan siz saklandığınız duvarın üzerinden zıplayarak onları ağ ile kaplıyorsunuz. Şimdi durun! Buraya kadar olan her sahnede yapay zeka size bir karşılık verdi değil mi? Ve sizde örümcek dürtülerinizle onları alt ettiniz. Peki sizi süper kahraman gibi hissettiren şey sadece karakterinizin üzerindeki kıyafet ve ağ atmak mıydı? Yapay zeka sizin attığınız adımdan, tıkladığınız tuşa kadar her hareketi görüyor ama geliştiriciler öyle yerlerde dur, öyle yerlerde saldır şeklinde bunları bize sunuyor ki biz oynarken "Abi oyunda yapay zeka yok!" ya da "Ben Assassins Creed Unity'nin…" bir yandan ise F.E.A.R, Metal Gear Solid 5 gibi oyunlar ise "Muhteşem! İnanılmaz!" dedirtebilecek kadar bu konuda çıtayı yükseğe koyuyor.

Tarihler 1951'i gösterdiğinde NİM isimli oyun, sanal ortama uyarlandı ve yapay zekası insanları yenebilecek düzeydeydi. Sonralarda bu yapay zeka geliştirilerek 1997 yılında satranç oynayacak ve dünyaca ünlü satranç şampiyonu Garry Kasparov'u Deep Blue adında bir yazılım yenecekti.

Peki biz video oyun severler tam olarak tarihin neresindeyiz?

Hunt The Wumpus (1972) ve Star Trek (1971), yapay zekanın ilk kırıntılarını gördüğümüz ve bizleri oynanış açısından metin tabanlı karşılayan oyunlar. Sadece birkaç yıl sonra yerlerini arcade türünün altın çağını başlatan oyun olarak anılan Space İnvaders (1978)'a bırakacaktı. Bu oyunda ilerledikçe zorluk seviyesi artıyordu ve düşmanlar birbirinden farklı hareketler yapıyordu, bu da yapay zekanın oyunlarda daha farklı geliştirilebileceğini ve insanlara daha yenilikçi oynanışlar sağlayabileceğini gösterdi. 1980 yılında Pacman karşımıza çıktı. Peşimize takılan hayaletlerden kaçtığımız ve oyunun izin verdiği sürede onları yemeye çalıştığımız bu oyunda hayaletlerin yapay zekasını rastgele hareketler oluşturuyordu. 1984 yılına geldiğimizde Karate Champ, oyuncuya karşılık veren ve rakibiniz olduğunu hissettiren bir yapay zekaya sahipti, ilk defa bir dövüş oyununda sizinle bir yapay zeka dövüşüyordu. 1988 yılında First Queen, yanımızda bize oyun boyu yoldaşlık eden arkadaşımızın yapay zekaya sahip olduğu ilk oyundu. Sadece 2 yıl sonra, Dragon Quest 4 çıktı. Artık yanımızdaki arkadaşımıza komutlar verdiğimiz ve onun da bunları değerlendirip bize karşılık verdiği bir oyundu.

Aslında oyunlarda yapay zekanın yükselişini gerçek zamanlı strateji oyunlarına bağlayabiliriz. Bu türe örnek olarak Stronghold Crusader ya da Company of Heroes'u verebilirim. 1989 yılında Herzog Zwei çıktı, problemli bir yapay zekaya sahipti ve biz oyuncuları tatmin etmemişti. Ama onu örnek alarak 1992'de çıkacak oyun Dune 2, yapay zeka konusunda öyle kaliteli bir iş ortaya koydu ki, oyunda rakibiniz sizi alt etmek için hile bile yapıyordu.

Aynı yıl piyasaya sürülen Wolfenstein 3D oyunu, o zamana kadar yapılmış en büyük video oyunlarından biri olarak kabul ediliyordu. Biraz daha detaya inersek, nişancı olacağınız bir konsept üzerine tasarlanan oyunda, askerler FSM (Finite-state machine) algoritmasının temel bir formuna sahipti. Bu algoritmada tasarımcılar bir botun yaşayabileceği tüm olası olayların bir listesini oluşturdular. Ekip, o aşamada bir düşman askeri botunun arkadan vurulması, nişan alınması vb. bütün olasılıkları düşünerek hareket etti. Sonrasında derledikleri bu listeye göre botun göstereceği davranışları programladılar.

FSM'nin tekrarlanabilirlik ve hata yönünü önlemek için geliştiriciler MCTS (Monte Carlo Tree Search) algoritmasını geliştirdi. MCTS, ilk olarak bir botun kullanabileceği tüm olası hareketleri görselleştirir. Sonrasında, bu olası hareketlerin her biri için oyuncunun verebileceği yanıtları analiz eder. Ardından ise bu analizler sonucu yapılabilecek hareketleri çözümleyip bunların karşılığında botun yapabileceği tüm olası yanıtları belirleyerek ağaç benzeri bir grafik hazırlar. MCTS algoritması, bir bilgisayarın bir insana karşı hareket etmeden önce geçtiği süreci vurgulamaktadır. Oyuncu bir sonraki hamlesini yaptığında bilgisayar ağaç oluşturma sürecini baştan tekrarlar. En başta anlattığım Örümcek Adam'ı hatırlayın.

Counter Strike oynarken rehine koruma görevlerini hatırlarsınız, tıpkı ona benzer bir şekilde ama konseptin tamamı bunun ve aksiyonun üzerine odaklı olan oyun GoldenEye 007. 1997 yılında çıkan bu oyunda yanımızdaki kişiyi korumaya çalışıyor, ona eşlik etmeye çalışıyorduk. Gizlilik odaklı oyunlarda ise 1998 yılında çıkan Thief ve Metal Gear Solid'i örnek verebilirim. 2001'de Black & White bizleri çok şaşırttı çünkü oyun içinde kendi evcil hayvanımızı yetiştirebiliyorduk ve bu canlı varlık kendi kendisine de bir şeyler öğrenebiliyordu. Hatta bu öyle dikkat çekti ki o yıl Guinness Rekorlar kitabından bir video oyununda ki en zeki varlık ödülünü aldı. Halo, 2001 yılında tarihte kendine yer buldu. Bugün bile kendinden bolca söz ettiren 2005 yapımı olan F.E.A.R ortaya çok kaliteli bir iş koymuştu. Yapay zeka oyunun şartlarına göre kendisini ayak uyduracak şekilde ayarlanıyordu ve bizler her seferinde farklı yolları aramak zorunda kalıyorduk.

Daha sonraki yıllarda Left 4 Dead gibi artık yapay zekanın oyunun sistemine uyarlandığını gördüğümüz oyunlar çıktı. Bugün dönüp baktığımızda MGS 5 ve RDR 2'yi kaliteli yapay zeka oyunları olarak örnek verebilirim.

Ama aklıma hep takılan bir soru var: Ubisoft gibi büyük yapımcıların AAA seviyesindeki oyunlarında yapay zeka gerçekten bizlere çok şapşal geliyor :D Mesela Assassin's Creed Valhalla oynuyorsunuz, artık bir vikingsiniz ve ilk 20 saati geçtiniz, artık her şeyi ezberlemiş ve otomatik olarak tuşlara basarak geçiyorsunuz ta ki dağ haydutlarına gelene kadar! Garip şekilde dağ haydutları sizi zorluyor, oyunun bu bölümünde geliştiricilerin yapay zekayı daha zorlayıcı yazdığını düşünüyorsunuz. KitFox Games'in oyun tasarımcısı ve kurucu ortağı Tanya Short bu konuyla ilgili: "Oyun geliştiriciler, botları programlarken tahmin edebileceğimiz eylem türlerine öncelik verme eğilimindedir. Eğer yapay zeka öngörülemeyen şeyler yaparsa çıkan ilginç sonuçlar oyunculara çok da eğlenceli gelmeyebilir." diyor. Yani bizlerin oyundan kopmaması için yapay zekayı kötü yapıyorlar. O zaman bağımsız yapımcılar neden yapay zekayı daha iyi yapabiliyor?

Bugün geldiğimiz noktada ise DLSS gibi teknolojiler hayatımıza giriyor. DLSS, grafik işlemcisine yük olmadan, oynadığınız oyunun daha yüksek çözünürlüklü halini ve yapay görüntülerini oluşturuyor, bunun için de yapay zekâ ve makine öğrenimini kullanıyor. Bu şekilde grafiklerdeki pürüzleri gideriyor ya da daha güzel gözükmesini sağlıyor.

Oyun sektörüne geniş açıdan baktığımız zaman bulut teknolojisi tabanlı oyunları, tekelleşen oyun motorları ile yapılan eserleri görüyoruz. Kutulu oyun dediğimiz devir ise neredeyse tamamen bitiyor. Sizce daha neler olabilir?