Merhaba e-bergi okurları! Uzunca, 1 yıl yeterince uzun sayılıyor sanırım, bir aradan sonra yeni yılda sizlerle buluşabildiğimiz için sevinçliyiz. Konuyu dağıtıp, Bergi’nin çıkmayan sayıları nedeniyle aldığımız meraklı/kaygılı e-mail lerden bahsedip uzunca bir özür yazısı yazabilirdim ama en iyisi bundan sonra aynı şekilde bir ara vermek zorunda kalmamayı umarak asıl bahsetmek istediğim konuya döneyim.
Başlıktan da anlayabileceğiniz gibi Unity’den bahsedeceğim. :) Daha önce(Ocak 2011) İrem Unity’nin varlığından ve ne işe yaradığından kısaca bahsetmişti. Kısaca bir özet geçmek gerekirse alabildiğine modüler, kolay öğrenilen ve en önemlisi çok kısa sürede 3 boyutlu oyunlar geliştirmenizi sağlayabilen bir “oyun motoru”.
Peki bu konuyu ben neden yeniden gündeme getiriyorum? Bildiğiniz veya bilmediğiniz üzere 1 aydan biraz daha uzun bir süre önce Unity4 olarak tekrar karşımıza çıktı. Her büyük versiyon güncellemesinde olduğu gibi yine beraberinde oyun geliştirme dünyasının dengelerini değiştirebilecek yenilikler getirdi. Tabi ki mevcut parçalarında performans artışları ya da küçük boyutlarda(evet, arayüz yenilemesi de) bir çok şey dahil bu güncellemeye. Ama ben yazımda bunları üç ana başlıkta inceleyeceğim:
DirectX 11 Desteği
Bu madde, en son paylaşacağım yenilikle biraz çelişse de oyun geliştirme dünyasında muhtemelen büyük etkiye sahip olacak.
Evet, çok dağılmadan... Unity4 artık DirectX11 grafik kütüphanesine de destek sağlıyor. Bu ne demek? Çok yüzeysel bir tanımla, çok daha güzel grafikler! Bilmeyenler için, DirectX sadece Windows ortamında çalışan bir grafik kütüphanesi. Şimdilik(!) oyun sektörü büyük ölçüde Windows üzerinde kendisine yer bulduğu için çok önemli bir adım bu.
İşin teknik kısmına çok girmeyeceğim, daha yeni grafik kartlarını daha verimli kullanmamızı ve göze daha güzel görünen oyunlar yapabilmemizi sağlayacak kısaca. Ama burası sadece küçük bir kısmı. Asıl olay, Unity gibi ucuz, diğer 3 boyutlu oyun motorlarıyla araç-gereçleriyle kıyaslanınca 1,500 dolar gerçekten ucuz, bir araçla milyon dolarlık bütçesi olan oyun firmalarının ürünleriyle, kısaca AAA şeklinde kategorize ediliyorlar, boy ölçüşebilecek görsel kalitede oyunlar ortaya çıkarılabilmesi teoride mümkün.
Desura, Steam Greenlight gibi oyun satan platformlardan sonra tek kişilik, veya küçük çaplı oyun stüdyolarının da piyasada yer edinmeye başladığını gördüğümüz bu günlerde. Bu tarz girişimlerin edinebileceği bir araç Unity. Bu durumda tercih sebebi olması işten bile değil. Önümüzdeki aylarda muhtemelen AAA oyunlarla bu bağımsız oyun geliştiricilerinin oyunları arasındaki farkı ayırt etmek, en azından görsel açıdan, zorlaşacak gibi duruyor.
Mecanim
Mecanim, kendi çapında dinamik model animasyonları üretmekle uğraşan bir firmaydı. Unity son versiyonundan önce bu şirketi satın alıp, Mecanim’in geliştirdiği animasyon motorunu da Unity 4’e dahil etti.
Animasyon motoru çok yaygın bir kullanım değil henüz. Yaptığı iş temel olarak verilmiş bir sabit modele otomatik olarak bir iskelet giydirip, hareketlerine göre modeli anime etmek. Yani, büyük paralar yatırılıp yapılan motion capture(hareket yakalama?) tekniğine bir alternatif olmayı amaçlıyor. Ama şu aşamada ne kadar doğal göründüğü tartışılabilir. Unity’nin gösterdiği demolarda, ben henüz kullanma fırsatı bulamadığım için kendi deneyimlerimi aktaramıyorum, oldukça başarılı işler çıkarıyordu. Özellikle optimize yapısı tek bir animasyonu birden fazla objede kullanmaya izin verdiğinden, saçma derecede büyük sayıda animasyonlu model bir sahnede kullanılabiliyor. Bu konuda nasıl sonuçlar ortaya çıktığını görmek için unity’nin sitesinden veya youtube’dan mecanim kullanılmış videoları izlemenizi tavsiye ederim.
Ayrıca, DirectX’te olduğu gibi Mecanim de, küçük çaplı oyun geliştiricilerine resmen hediye edilmiş bir yenilik. Hatta Mecanim, Unity’nin ücretsiz versiyonunda da mevcut ki, alternatifi olduğu motion capture, büyük paralar harcanarak alınmış ekipmanlardan oluşan stüdyolarda yine büyük zamanlar harcanarak gerçekleştirilebilen bir teknik. Biraz ütopik görünse de, aynı işi hiç para harcamadan, sadece iki-üç script ile halledebildiğinizi düşünmek korkutucu bile denebilecek derecede devrim niteliği taşıyor.
Linux Desteği!!!!!!!
En önemli, bana göre, maddeyi sona sakladım. Unity4 ile artık yaptığınız oyunları Linux için de çıkarabiliyorsunuz. Bu hareketiyle, zaten yeterince çok platforma desteği bulunan bir araçken artık Linux kullanan PC’leri de etkisi altına almış bulundu.
Burada teknik olarak sadece performans konusunu konuşabiliriz sanırım. Yeterli karşılaştırma henüz internete düşmüş değil(en azından bu yazının yazıldığı tarihte) ama ilk izlenimler başlangıç için yeterli performansı sağladığı yönünde. Yani Linux’ta da oynanabilecek oyunlar yapmak Unity ile artık mümkün. Tabi bu Linux desteği sadece çıktı alınan oyunlarda geçerli, Unity Editörü’nün Linux’ta çalışması için herhangi bir çalışmalarının olduğu bilgisi şimdilik yok.
Şimdi biraz, diğer maddelerde olduğu gibi, bu yeniliğin de oyun dünyasında nelere yol açabileceğinden bahsedeyim. Öncelikle “Linux’ta oyun oynamak” bir kaç yıl önceye kadar bir kaç aşırı gönüllü, idealist programcının güncel oyun araçlarından yararlanamadan yaptığı, genellikle, küçük çaplı oyunları oynamak anlamına geliyordu. Bahsettiğim güncel araçlardan yoksunluk, özellikle görsel açıdan kendisini hissettiriyordu, o yüzden bugüne kadar hiç bir Linux’a yönelik oyuna bakıp da, “Çok güzel görünüyor bu! Keşke Windows’ta da olsa.” denilmemiştir. Son bir yıl içerisinde açık kaynak kodlu, veya java/AIR/flash tabanlı çok platformlu oyunların/araçların sayısı arttıkça Windows amaçlanarak yapılmış oyunları Linux’ta da görmeye başladık. Hatta DirectX yerine OpenGL’i tercih eden oyun firmaları sayesinde bir kaç AAA oyunun da Linux versiyonları indirilebilir halle geldi. Bu konuda Ubuntu Software Center’dan satın alınabilen oyunlar göze çarpacaktır.
Özellikle son dönemde humblebundle isimli internet sitesinin getirdiği kampanyalar Linux’ta da önemli bir oyuncu potansiyelinin olduğunu ortaya çıkardı. Bu “bundle” lar genellikle bahsettiğim bağımsız oyun firmalarının oyunlarından oluşuyor, ve istediğiniz(!) bir fiyata dijital hak yönetimi koruması vb. bir zincirle bağlı olmadan edinebiliyorsunuz. Aldığınız bir oyun, oynanabildiği her platformda kullanımıza sunuluyor. Bu noktada, yapımcıları, oyunlarının Linux versiyonlarını da yayınlamaya ittiğini söyleyebiliriz.
Humblebundle’ların Linux’taki performansının da etkisiyle(bana göre) Valve firmasının(Half-Life? Portal? Team Fortress?) sahibi olduğu oyun satış platformu olan Steam’i Linux’a getireceğini açıklaması da çok büyük bir adım oldu. Ki burası yazıyı Unity’e bağlayacağım kısım. :)
Artık oyun firmaları, oyunlarını Steam vb sistemler üzerinden de Linux platformu için satabilecekler. Unity de çoklu platform oyun yapmakta büyük kolaylık sağladığından, Unity’yi tercih eden bağımsız oyun firmalarının sayısı muhtemelen artacaktır.
Sonuç olarak, Unity’nin attığı bu adım, aynı Valve ve Humblebundle’ın atılımları gibi, Linux’a da açılmaya başlayan oyun dünyasının kapılarını zorlayacak nitelikte ve bu kesinlikle büyük bir devrim.