Linux Oyunculuğunun Altın Çağı?
Table of Contents
Fark etmişsinizdir ki, bir süredir Linux adı oyun sektöründe fazlasıyla duyulmaya başladı. Neredeyse her ay “Linux” ve “Oyun” kelimelerinin beraber yer aldığı bir haber duyar olduk. Peki bu nasıl bu hale geldi ve gelecek bize neyi gösteriyor? Bu yazımda biraz bu durumu inceleyip kişisel görüşlerimi aktarmak istedim. Önden uyarayım, bir Linux kullanıcısı ve özgür yazılım taraftarı bir insan olarak bu yazıda bahsi geçecek çoğu detay aşırı optimist olabilir.
In The Begining, Gaben Said Let There Be Steam!!! #
Muhtemelen pek çok kişi için bu ivmenin başlangıç noktası tartışmasız bir biçimde Valve’in Steam Linux clientını açıklamasına dayanıyor. Bu haber o dönemde tanıdığım çoğu Linux kullanıcısının kalbinin küt küt atmasına sebep olmuştu. “Artık bizim de elimizde yaygın kullanılan bir oyun platformu olacak” düşüncesindeydik. Ki işin sonunda yanılmamıştık da.
Steam Linux gerçekten pek çok şeyin hızlanmasına sebep oldu. İlk başta Valve biraz zorunluluktan yapmış hissi vardı gerçi. Uzun bir süre betadan çıkmaması, güncellemelerin bazı bilinen sorunlara çözüm getirmemesi gibi. Mentalitemiz kesinlikle “Gabe baba bizi seviyor” değil, “En azından bizim varlığımızı unutmamışlar” idi. Tabii bu süreçten bir kesim memnunken bir kesim de daha fazlasını istiyordu. Ki istedikleri oldu da…
SteamOS ve Steam Konsol. Gizli Kahraman? #
Günümüzde en azından bir yarısı Valve’in yakın tarihteki en büyük başarısızlığı kabul edilse de, diğer yarısı pek gözüktüğü gibi bir hikaye değil. Önce bilmeyenler için Steam OS ve Steam konsol ya da diğer adıyla Steam Machines projeleri neler?
SteamOS, Valve’in oyun odaklı olarak çıkarttığı, ön tanımlı olarak Steam’i Big Picture modunda açarak başlayacak ve oyun için potimizasyonlara odaklanmış, diğer işleri çok umursamayan, Debian tabanlı bir Linux dağıtımı.
Steam konsolları ise Valve’in eş zamanlı duyurduğu ayrı bir konsept. İçerisinde SteamOS, yani Linux kurulu gelen bir konsol olarak duyurulmuştu. Sonradan öğrenildi ki bu tek bir cihaz değil pek çok firma tarafından geliştirilen farklı farklı cihazlarmış. İşte bu detay da projenin fişini çeken detay oldu. Çünkü Valve burada PC oyunculuğu geçmişinden geldiği için konsol oyuncusu mentalitesini hesaplayamadı.
Konsol oyuncusu maximum iki, bilemedin üç seçenek arasında kalıp bunlar arasından kendine uygun olan ürünü seçip yıllarca onun üzerinden oyun oynayan ve komplike detaylardan uzak duran bir kesim. Fakat Valve’in bu birden fazla üretici ve model mentalitesi konsol oyuncusu için sadece bir caydırıcı detaydı. PC oyuncusu ise hali hazırda sahip olduğu donanımlardansa böyle bir şeyi tercih etmeyeceğinden proje Valve’in elinde patladı.
Ama işin görünen arafının yanında görünen tarafında ufak bir nokta var, önde olan proje battığı için insanlar diğer proje de battı zannediyor. Peki SteamOS projesi ne durumda? Düzenli olarak güncelleme ve iyileştirme almaya devam ediyor. Ama soracaksınızdır ki “Neden spesifik bir makine için geliştirilmeye başlamış bir sistem cihaz yokken devam etsin” diye. Aslında sorunun cevabı basit, SteamOS Valve, oyun geliştiricileri ve donanım üreticileri için aşırı geniş Linux dünyasının temsilcisi bir sistem. SteamOS sayesinde Valve kendi apilerine, Steam istemcisine iyileştirmeleri, donanım üreticileri sürücülerinin oyun odaklı durumunu kontrol etmeyi, oyun geliştiricileri ise oyunlarını test etmeyi daha rahat bir biçimde yapabiliyor. Bir yandan da kendisi direkt kullanılacak bir dağıtım olmasa da, son kullanıcı odaklı dağıtımlara en azından oyun kısmında bir nevi şablon oluyor. Ki salonuna kendi ev yapımı Steam makinesini koymak isteyen insanlar gerçeği de var.
Bütün bunları göze aldığımızda Steam makineleri projesi başarısızlıkla sonuçlansa da SteamOS, belki başlangıç amacında değil ama yeni bir amaçla beraber yoluna devam ediyor.
Daha Fazla Port #
Valve’in üstteki atılımlarının en büyük etkisi belki de oyun geliştiricilerinin Linux’a teşvik edilmesi olmuş olabilir. Daha fazla oyun geliştiricisi oyunlarını Linux destekli şekilde çıkartmaya başladı. Burada hem Valve’in başarılı bir şekilde sunduğu örnek AAA projeler, hem daha rahat yayınlayabilecekleri bir platform, hem de gene yukarıdaki gelişmelerin etkisi ile daha fazla göz önüne gelen açık kaynak projelerin geliştiricilere daha fazla imkan sunması ile oyun geliştiricileri arasında Linux’a önem verme oranı gözle görülür biçimde arttı. Feral Interactive gibi port üzerine uzmanlaşan firmaların da bu dönemde yıldızları parlamaya başladı. Bu sayede şu an Tomb Raider gibi ünlü bir AAA oyun serisi, Paradox , 2K gibi dev firmaların yeni çıkan oyunları, neredeyse piyasadaki her Indie oyun, Life is Strange gibi popüler isimler, strateji oyunlarının önemli bir kısmı vb Linux altında gayet kusursuz bir biçimde oynanabiliyor. Tabii bu cephede herşey günlük güneşlik değil. Çünkü bağzı oyun firmaları da iş gücü yetersizliği, platformun yabancılığı gibi detaylar yüzünden görece olarak daha küçük olan bir market payına en azından bir süre destek vermek istemiyor. Tabii bu durum Steam’deki Linux istatistikleri arttıkça ve firmaların Linux altından satışları arttıkça değişecektir.
Daha Özgür Araçlar #
Yukarıda ucundan bahsettiğim bir durum burada devreye giriyor, açık ve ögür araçların sayı ve kalite olarak artış göstermesi. Bunlardan en öne çıkanı belki de Vuklan API projesi olmuş olabilir. Öncesinde AMD’nin geliştirdiği Mantle projesi iken sonradan özgür yazılım dünyasına bağışlaması ve OpenGL ekibinin işin içine girmesi ile birlikte yepyeni bir API olan Vulkan doğmuş oldu. Şu an hala genç ve geliştiriciler henüz alışmamış olsa da yavaş yavaş oyun piyasasında DirectX’i tahtından ediyor. Bunun yanı sıra AMD’nin AMDGPU sürücüsü gibi aşırı başarılı açık kaynak sürücüler de işin içine girince durum sadece kullanıcıya yarıyor. Ek olarak gene Feral Interactive firmasının bize kattığı Game Mode gibi projeler sayesinde oyunların sistemi daha verimli kullanmasını da sağlıyoruz.
Araçlardan söz açılmışken WINE cephesini de esgeçmek olmaz. WINE projesinin kendi içerisinde çok bir yeniliği olmasa da gene de WINE 3.0 sayesinde işin oyun tarafı bir nebze güçlenmiş oldu. Ama WINE cephesindeki asıl büyük bomba WINE projesinden değil, tamamen başka bir yerden, Github ‘da ufak bir projeden geldi. Bu projenin adı DXVK . Peki nedir bu DXVK?
Kendi Devrimsel, İsmi Sade, DXVK… #
Oyun sektörünün Linux’a, hatta ve hatta MacOS’a adapte olmasında yaşadıkları en büyük sıkıntı her halde PC oyun sektörünün DirectX tekelinde olması olabilir. DirectX de bir Microsoft ürünü olarak haliyle sadece kendi platformları, yani Windows üzerinde çalışan bir API. Zamanında yeterli imkan sunan bir rakibi olmadığından ötürü piyasayı ele geçirmiş ve şu an kendisine oyun geliştiricisi diyen pek çok insanın aşina olduğu platform haline gelmiş, dolayısıyla da oyun geliştiricisi kültürünün önemli bir parçası olmuş bir API kendisi. Bu sebepten ötürü de beraberinde Windows’un da PC oyunculuğunda lider olmasını getirmiş durumda.
Her ne kadar artık elimizde Vulkan gibi aşırı güçlü, hatta DOOM gibi bir oyunun normalde oynanılamayacağı bir sistemde bile rahatlıkla oynanmasını sağlayan bir kütüphane elimizde olsa da hem bu proje daha gençliğinde, hem de oyun geliştiricileri hala Vulkan’a alışkın değil. Yeni nesil geliştiriciler içerisinde Vulkan kullanımı artışta olsa da eski nesil büyük oranda bildiği ile devam edeceğinden, en azından bir süre daha DirectX tahtta oturmaya devam edecdek gibi gözüküyor. Peki bu DirectX muhabbetini neden açtım? Eğer DXVK’nin açılımını biliyorsanız sorunun cevabı projenin adında gizli zaten. Ama bilmiyorsanız da söyleyeyim, DXVK’nin açılımı “DirectX VulKan”. Aslında biraz düşününce projenin adı tam olarak yaptığı içi açıklıyor. Tıpkı WINE’ın Windows komutlarını Linux’a tercüme etmesi gibi, DXVK de DirectX komutlarını Vulkan’a tercüme eden bir uyumluluk katmanı. Yani oyun DirectX altında çalıştığını zannetse de aslında Vulkan altında çalışıyor. Ki Vulkan günümüzde Apple ekosistemi hariç her yaygın kullanılan sistemde çalışan bir kütüphane olduğu için bu pek çok Windows oyununun gayet güzel performanslarla Linux altında oynanabilmesine imkan tanıyor. Tabii burada unutulmaması gerekilen birkaç nokta da var. Öncelikli olarak DXVK hala çok genç bir proje. Pek çok oyun Windows’ta aldığınız performansta olamayacaktır. Hatta bazı oyunlarda ciddi sorunlar yaşama ihtimaliniz var. Haliyle bir de kendiniz yapılandırmaya çalışırsanız işler biraz zor olacaktır. Burada birazdan devreye girecek başka bir araç ile içinizi rahatlatabilirsiniz. Bir de en önemli uyarı, bazı oyunların hile algılayıcıları, DXVK DirectX kütüphanelerini modifiye ettiği için hile kullanıldığını zannedebiliyor. Gerçi bu noktada Blizzard’dan da bir dizi hareket geldi ve en azından kendi oyunlarında bunun önüne geçmek için DXVK ekibiyle beraber çalışacaklarını belirttiler.
Zahmeti Üstümüzden Alan Güzellikler #
Gel gelelim önemli bir sıkıntıyı da üzerimizden alan bir projeye, Lutris . Lutris projesi baside indirgersek eğer, oyun kütüphanenizi yönetmeniz için bir araç. Lutris sayesinde çeşitli emulatörler, Steam, sisteme paket olarak kurulu oyunlar, ve en önemlisi WINE üzerinden Windows oyunları rahatlıkla yönetilebiliyor. WINE kısmında önemli bir kısma daha değinmemiz lazım, Lutris’in kurulum scriptleri desteği…
Lutris’in kendi sitesinde yer alan ve kullanıcılar tarafından geliştirilen kurulum scripleri sayesinde hem pek çok oyunun kurulumu, hem WINE üzerinde yapılması gereken özel ayarlar varsa onlar, hem de DVXK gibi teknolojilerin yapılandırılması otomatik bir biçimde gerçekleştirilerek son kullanıcının çoğu oyunu sadece “next, next” şeklinde kurmasına imkan tanıuyor. Tabii bu her oyunda kusursuz biçimde çalışmıyor. Mesela Overwatch , Battle.net sebebiyle kurulumu bu scriptlere rağmen zahmetli bir oyun. Bunu geçenlerde çektiğim Linux Altında Overwatch Kurulumu videosunda da görebilirsiniz. Ama diğer yandan da Warframe , Dauntless gibi oyunlar hiçbir zorluk çıkartmadan rahatlıkla kurulabiliyorlar.
Valve Gene Yaptı Güzelliğini #
Yukarıda uzun uzun DXVK’den bahsettik, peki DXVK’e en çok destek veren firmanın Valve olduğunu söylesem ne dersiniz? Evet, Valve uzun bir süredir DCVK projesine destek veriyordu. Bir süre “acaba neden” diye sorguluyordu insanlar. Sonrasında bir anda Valve’in Github sayfasında ilginç bir dizi hareket uyanmaya başladı. Windows oyunlarının Steam Linux client altında direkt olarak çalışması şeklinde… Aradan çok zaman geçmeden Valve Proton ve Steam Play adında iki duyuruda bulundu.
Proton, teknik olarak içerisinde DXVK barındıran ve oyun için optimize edilmiş bir WINE forku. Neticede WINE projesinin ana hedefi oyun değil, genel kullanım. Ama Proton ise sadece oyun performansını hedefliyor. Steam Play ise Proton kullanarak Windows oyunlarının direkt olarak Steam Linux client üzerinde çalışmasını sağlayan araç. Bu proje hala beta aşamasında olsa da şimdiden etkisini göstermeye başladı. Uzun bir süredir pek çok oyuncu (ben de dahil), Windows oyunlarını oynamak için WINE altında bir Steam kurulumu gerçekleştirip o şekilde oynuyorduk. Bu her ne kadar oyunu oynamamıza imkan sağlasa da Steam istatistiklerinde bizim bu oynayışımız “Windows” olarak gözüküyordu. Ancak Steam Play ile beraber bu durum artık değişti, çünkü artık ortada çalışan client Windows değil Linux client.
Tabii bu her oyunun tam teşekkürlü çalışacağını garantilemiyor. Ben bu yazıyı yazdığım esnada Valve’in “Bunlar kusursuz biçimde çalışıyor” diyerek onayladığı, yani ayarlardan bütün oyunları göstermesini seçmediğiniz taktirde göreceğiniz 68 oyun var. Fakat bunların yanı sıra kullanıcılar tarafından da test edilip oluşturulan bir liste de söz konusu. SPCR sitesi üzerinden kullanıcılar kendi deneyimlerini, yaşadıkları problemleri vb belirterek aşırı geniş bir liste oluşturmuş durumda. Hatta sitede kendi hesabınızı da bağlayarak sahip olduğunuz oyunları da listeleyebiliyorsunuz. Bu site sayesinde Valve’in açıkladığı 68 oyunun yanında yüzlerce daha oyunun mükemmel bir şekilde çalıştığını öğrenmiş olduk.
Peki Bütün Bunları Geleceğe Dökersek? #
Gel gelelim işin en can alıcı kısmına, bütün bunlar neye varıyor? Steam Play öncesinde kullandığımız yöntemler her ne kadar Windows oyunlarını oynamamıza izin verse de önemli bir götürüsü vardı; geliştirici bunu görmüyordu… Geliştiriciye giden istatistik oyununun Windows altında oynandığı şeklinde oluyor, yani Linux altında da bir kesim olduğunu görmüyordu. Eş zamanlı olarak pek çok kullanıcı hem Linux hem de Windows Steam kullanım oranına katkı sağladığından istatistiklerde Linux olduğundan daha zayıf gözüküyordu. Şimdilik durum hala böyle devam etse de sadece iki ay içerisinde Valve istatistiklerinde ciddi bir artış gözlemlenmeye başladı, ki bunun sadece artacağını düşünüyoruz.
Bunun geliştirici için iki anlamı var:
- Geliştirici Linux altında oynanma oranının arttığını görüp Linux platformuna destek vermeye, ya da hali hazırda veriyorsa ağırlık vermeye yönelebilir.
- Geliştirici Steam Play işe yarıyor diyerek native olarak oyununu Linux’a geçirmektense Proton için optimizasyonlar yapabilir. Her ne kadar 2. seçenek biraz daha istemediğimiz bir seçenek olsa da gene de kullanıcı için kazançlı hale gelecek bir seçenek. Diğer bir etken ise Linux oyuncularının, kitle olarak korsana daha karşı ve sevdikleri bir şeye para harcamaktan daha az çekinen bir kesim olduğu detayı devreye giriyor.
Yakın gelecek bu noktada tahmin etmesi kolay bir durumda. Linux altında oyun oynama kolaylaştıkça pek çok oyun kütüphanesi azlığı yüzünden geçmekten çekinen kullanıcı da geçişini yapmaya başlayacak gibi duruyor. Ki o kişilerden şimdiden geçişi tamamlamış birkaç kişi tanıyorum bile. Diğer bir yandan oyun sektöründeki platform tekeli konseptinin yıkılması herkes için büyük bir kazan olacak. Dolayısıyla da şu anki gidişatın şu şekilde, hatta ivmelenerek yükselmesini öngörüyor çoğu insan.
Valve’in Bundan Çıkarı Ne? #
Yazı boyunca önemli bir isim kendisini çok fazla gösterdi, Valve. Peki neden? Neden Valve gibi zaten tuzu kuru bir firma böyle başlangıçta riskli gözüken bir atılımda bulunup bunda ısrar etmeye devam etsin? Aslında yanıt basit, Valve bundan sonra yapacağı işler için spesifik bir firmanın eline muhtaç olmak istemiyor. Bu senaryoda bahsi geçen firma Microsoft, ve kendisi de elindeki imkanları kullanarak insanları oyun konusunda Windows Store’a çekmeye çalışan bir firma. Düşünürsek şu an elimizde Windows Store dışında bir şey yükleyemediğimiz Windows sürümleri mevcut. Bunun yanı sıra her güncellemede Steam gibi üçüncü parti oyun kütüphanesi yazılımlarına yeni sıkıntılar çıkarttığı da biliniyor. Dolayısıyla da Valve’in görüşüne göre bir an önce Microsoft’un bu tekelinin kırılıp PC oyun sektörünün daha rahat bir açık market haline gelmesi lazım ki kendi işleri hiçbir şekilde riske girmesin. Bunun için önünde iki seçenek var. Ya MacOS altında oyunculuğun gelişmesini sağlayacak, ki bu durumda Microsoft ekosisteminden bile daha kapalı bir ekosisteme hapsetmiş olacak kendisini, ya da Linux’a, yani herkesin söz sahibi olduğu bir platforma desteğini verecek. Valve de haliyle Birilerinin altında olmasını gerektirecek değil, kendisinin üstte ya da eşit düzeyde olacaği bir ekosistemi, yani Linux’u tercih etti.
Dolayısıyla da Valve bu süreç içerisinde sürekli bir öncü modunda. Linux altında oyunculuğun gelişmesi için Vulkan, DXVK gibi yazılımlara tam destek veriyor, pek çok önemli sistem parçalarına katkılarını sunuyor, Proton ile yaptığı geliştirmeleri açık bir biçimde yapıp WINE projesine geri katkı sağlıyor. Bütün bunların yanında da geliştiricileri Linux’a teşvik etmek için elinden geleni yapıyor ki PC oyunculuğu piyasasındaki platform tekeli kırılabilsin ve insanlar direkt olarak kendine en uygun platformda oyununu oynayabilsin.
Son Sözler #
Evet, bu uzun yazının ardından önümüzde parlak bir gelecek var gibi duruyor. Belli başlı birkaç problem ve olası birkaç sıkıntı söz konusu ama işler iyiye gittiği taktirde onlar da üstesinden gidilebilecek gibi. Şu anki öncelikli sıkıntılar driver sıkıntıları, oyunculara özel yazılımların azlığı, DXVK ile elde edilen performansın Windows’a kıyasla hala biraz geride olması ve her oyunda tam çalışmaması, native portların görece olarak azlığı gibi. Bunlar süreci yavaşlatsa da emin adımlarla olduğu gerçeğini dğeiştirmiyor.
Yorumlarda sizlerden de bu konu hakkında fikirlerinizi, atladığımı düşündüğünüz noktalar varsa onları belirtmenizi ve hoş bir muhabbet ortamı sağlamanızı rica eder, okuduğunuz için teşekkürler, Köfteista Köfte’den iyi günler, iyi eğlenceler dilerim…