Oyun motorları ve oyun geliştirme arayüzleri, oyun sektörünün gelişmesi ile paralele olarak önem kazanıyor. Üretim arttıkça ve yatırım aldıkça da becerileri artıyor; hatta film özel efektleri ve üç boyutlu animasyon üretiminde de kullanılır hale geldiler.
Türkiye’deki mobil oyun piyasasının dünya ölçeğinde yatırımlar alması da açık bir göstergedir ki, bu ülkemizi de kapsayan bir büyüme. İnsanlar eve kapandıkça ve dijitalleşme arttıkça da bu büyüme sürecek.
Bu yazıda en iyi oyun motorlarına dolayısıyla oyun geliştirme editörlerine ve oyun animasyonu için çıktı sağlayan yazılımlara değineceğiz.
Animasyon temelli olduğum için oyun motorlarına kod bariyeri yüzünden mesafeli duruyordum. Ancak oyun motorları ile yapılan animasyon filmlerini ve visual script gibi görsel kutulardan oluşan kodlama biçimlerini görünce yine fikrim değişti. (Eskiden Blender‘a da şüpheyle bakardım; ancak Blender beni Grease Pencil ile kendisine aşık etti. Kendisi başlı başına bir yazıyı hak ediyor artık.) Dilerseniz şimdi zamanla güncelleştireceğim bir başka dev yazılım araştırmama, yani oyun dünyasın belkemiğini oluşturan oyun motorlarına ve oyun geliştirme arayüzlerine bir bakalım.
Not: Ekleme veya önerileriniz için en alttaki yorumlar köşesine beklerim.
Terminoloji
Sektör yeni olduğu ve sürekli geliştiği için terimlerde karmaşalar ve zamanla anlam kaymaları olabiliyor. Anladığım kadarıyla kodlar belli iskelet (framework) grupları oluşturuyor. Bu iskeletler birleşip kütüphanelere (library) dönüşüyor. Kütüphaneler, kodlamada kullanılan kod aileleri ve bu kütüphanelerle yazılan etkileşimli yazılımlar ise “oyun motorları”nı (game engine) oluşturuyor. Oyun motorları tek başına bir anlam ifade etmiyor. Bunları işlemek için de düzenleyici (editor) yazılımlara ihtiyaç var. Editor ile oyun motoru bir araya gelip Yazılım Geliştirme Arayüzlerini (SDK: Software Development Kit) oluşturuyor. Aslında bu araştırma Oyun SDK’larını listeliyor; fakat “oyun motoru” daha yaygın bir söylem. Bu kavramları ve konuyla ilgili bulduğum her şeyi aşağıdaki infografikte de detaylı olarak resmetmeye çalıştım, yoruma açıktır yeni bilgiler ışığında güncelleyeceğim.

Özetle, hepsini şimdilik (SDK oldukları halde) “oyun motoru” (game engine) olarak isimlendiriyoruz ve büyük ihtimalle de bir gün uzman söylemi ile halk söylemi uzlaşacak ve bu kavramlar yolunu bulacak. Her neyse yazılım listemize başlayalım artık:
1. Üst Düzey Film / Oyun Motorları
PC ve oyun konsollarını destekleyen görsel açıdan zengin, imkanları geniş, kodlama açısından derin; ancak öğrenmesi daha çok emek isteyen oyun motorları bunlar. Hatta o kadar becerikliler ki oyun motoru kavramı da yetersiz kalıyor. Bence “Film Motoru” veya daha genel olarak “Render Motoru” demek daha doğru olabilir; çünkü günümüzde film ve CGI animasyon yapımlarında da belkemiği olarak kullanılıyor. Bu konuda -şimdilik- Unity ve Unreal Engine sancağı elinde tutuyor.
1.1. Unity 3D
Boyut: 2D, 3D, Animasyon, CGI VFX
Kod Bilgisi: Orta, C#, Visual Script (Bolt)
Platform: Desktop, mobile, web, consoles.
Fiyat: Öğrencilere 1 yıl ücretsiz, Gelir kazanmaya başlayınca paralı. Pro $1800.
En geniş eğitim videosu desteğine sahip dolayısıyla en popüler oyun motoru. C++’tan daha kolay olan C# desteği. Zengin yan ürün mağazası (asset store) ve kodlamayı görselleştiren Bolt eklentisi ile tam bir yıldız. Son güncellemeler ile artık animasyon işlerinde de kullanımı yaygın olamaya başladı. Aşağıda portfolyosunu görebilirsiniz.
1.2. Unreal Engine
Firma: Epic Games
Boyut: 3D, Animasyon, CGI
Kod Bilgisi: İleri, C++, VisualScript (BluePrint).
Platform: Desktop, mobile, web consoles…
Fiyat: Oyun Lisansı: ücretsiz + ilk başarılı yayından %5 komisyon. Oyun-dışı lisansı: bağımsızlara ücretsiz; ancak firmalar için kişi başı $1500.
Listedeki en iyi grafik motoru diyebiliriz. Star Wars evreninde geçen Mandolorian dizisini izlerken credits kısmında Epic Games yazısını görünce “bi dakka ya!” dedim. Oyun firması değil miydi bunlar? Sonra Unreal Engine’in dizideki görsel efektlerde kullanıldığını öğrenince işlerin ne kadar ilerlediğini anladım. Aşağıdaki video Game of Thrones özel efektlerini yaparken Unreal Engine’in VR sahnelemesini nasıl kullandıklarını gösteriyor. Bu yüzden şimdilik en elit motor bu arkadaşlar.
1.3. Diğerler Üst Düzey Motorlar
Oyun firmaları büyüdükçe ve ihtiyaçları özelleştikçe kendi motorlarını yazmaya başlıyorlar. Mesela AAA Oyun dünyamızın gururu TaleWorlds, 9 yıllık hasretin ardından çıkardığı dünyaca ünlü Bannerlord için kendi motorunu üretmiş. Bu onları tam bağımsız bir unicorn haline getiriyor. Helal olsun diyoruz. TaleWorlds, Peak Games… yürüyün kardeşim.
Listeye, Almanya’daki Türk kardeşlerin yazdığı CryEngine, 3D MMO’lar için üretilen HeroEngine, GTA’yı yapan Rockstar Games’in geliştirdiği RAGE, Half Life’ı yapan ve Steam’in sahibi Valve’ın ürettiği Source Game Engine, Amazon CryEngine temelli Amazon Lumberyard ve kamuya kapalı olan PS2 için geliştirilen Renderware gibi motorları ekleyebiliriz. Fakat bunların Unity ve Unreal kadar geniş bir eğitim desteği ve kitlesi bulunmuyor. Ancak iyi bir yazılımcının da bu motorlar arasında geçiş sorunu yaşayacağını sanmıyorum. (Yaparsınız siz, kendinize güvenin.)
2. Orta Düzey Oyun Motorları
Cep telefonu, tablet bilgisayar ve internet gezgini (web browser) gibi kısıtlı işlemci kaynaklarında çalışan oyun motorları. Hypercasual oyunların altın çağını yaşadığı bu dönemde incelemeye değer motorlar olduğunu düşünüyorum.
2.1. Game Maker Studio
Firma: Yoyo Games
Boyut: 2D
Kod Bilgisi: C temelli GML dilini kolay olduğunu belirtmişler.
Platform: Desktop, mobile, HTML5
Fiyat: Deneme 1 ay ücretsiz, Windows/Mac yayını yıllık $39, kalıcı lisans $99-$199 arası, konsol yayını için yıllık $799-$1500 arası.
Kodlama bilmeyenler için oldukça kullanıcı dostu bir arayüze sahip. Spine gibi yine başka bir lüks iskeletleme sistemi ile ortak çalışıyor. Oyun portfolyosu da baya zengin. Paralı olmasa diyeceğim ki en iyisi budur; ama işte açık kaynak kodlular da var.
2.2. Godot Engine
Boyut: 2D, 3D.
Kod Bilgisi: Orta C++, C#, GDscript (like python), Visual
Platform: Desktop, mobile, HTML5
Fiyat: Open Source (Yani beleş!)
Bana oyun dünyasının Blender’ı gibi geldi. Heyecanlı bir kitlesi var YouTube’ta kalabalık bir eğitim arşivi var. Ve benim için en önemlisi Visual Script olayı var. Performansını bilmiyorum ama denemek istiyorum.
2.3. Defold
Boyut: 2D
Kod Bilgisi: Orta, JavaScrip’te benzeri Lua dilini kullanıyor.
Platform: Web (HTML5), mobile.
Fiyat: Open Source (Beleş)
Oldukça geniş bir oyun portfolyosu var. Godot’un en büyük rakibi. Geniş bir tutorial desteği var çünkü hypercasual Candy Crush’ı yapanlar üretmiş. Mobil oyunlar için reklam eklemesi ve analitik verilerini çekmek daha kolaymış.
2.4. Buidbox
Boyut: 2D 3D
Kod Bilgisi: Yok, sadece Visual Script!
Platform: Desktop, mobile, HTML5
Fiyat: Kısıtlı versiyonu ücretsiz olsa da limitsiz versiyonu aylık $50.
Listedeki en kolay oyun yapma programı. SDK’nın olanakları dışında düzenleme olanağı sınırlı olsa da hazır asset’leri sayesinde hızlıca bir prototip yapma imkanı sağlayabilir.
2.5. Pico-8
Boyut: 2D (8-bit)
Kod Bilgisi: Orta, Lua
Platform: Desktop, mobile, HTML5
8-bit’in minik ekranlarda harika durduğunu kabul edelim. Pico-8’in online kitlesi çok sağlam, bu sayede doküman bulmak kolay. 80’lerdeki Commodore-64 zamanlarındaki vintage tadını arayanlar için harika.
2.6. Ren’Py Visual Novel Engine
Boyut: 2D, (Ancak 3D animasyonlarla desteklenebilir.)
Kod Bilgisi: (Oldukça kolay) Simple Scripting Language
Platform: Windows XP+ (x86), Mac OS X 10.6+ (x86_64), Linux
Görsel romanlar için tasarlanmış en popüler motor. Çizgisel hikayeye ek olarak alternatif yollar da seçebiliyoruz. Bu nedenle eskilerin text base adventure oyunlarına benzerlik sergiliyor. Akla gelecek her çizgi romanı ve hikayeyi belli slaytlar aracılığı ile interaktif romana dönüştürme imkanı sunuyor. Ortaya hayli ilginç işler de çıkıyor.
2.7. Diğer Orta Düzey Motorlar
Size 2 adet profosyonel ve 4 tane de orta seviye oyun motoru önerisi sundum. Açıkçası bu liste sonsuza kadar gider. Bir motor ne kadar becerikli ve kolay olursa olsun arkasında bir kitlesi olmadıkça bir hit oyun ile fanları heyecanlandırmadıkça popüler olması çok zor. İhtiyacınıza göre uygun olanı seçin. Bunlara ek olarak kendi siteleri dışında derinlemesine bilgi bulamadığım ama yine de bahsetmek istediğim oyun motorları da var.
- GameSalad, 2D / 3D, JavaScript, Visual Script, Desktop, mobile, HTML5. Listedeki en ilginç motorlardan biri. Çünkü özellikle okullardaki makine öğrenme, problem çözme gibi dersler için de kullanılıyor. Fiyat: Basic $17/m, öğrenci $8/m, pro $25/m. (Sen ne kadar okullara yönelik çalışırsan çalış işte fiyat olayı kitleyi küstürür. Ben de küstüm buraya koydum.)
- Cocos, 2D / 3D, JavaScript, Desktop, mobile, HTML5. Çin desteği. Evet arkasında Çin var. Open source, fakat kitlesi kapalı gibi geldi.
- Construct, 2D, Başlangıç, JavaScript, Visual, Desktop, mobile, HTML5, Aylık Pro $16.49, Yıllık Pro $99. Zynga, Sega kullanmış güle güle kullansınlar.
- LibGDX, 2D, JavaScript, Desktop, mobile, HTML5, 2D animasyon iskeletleme yazılımı olan Spine desteği. Hakkında fazla eğitim kaynağı ve kitle bulamadım maalesef. 3D yazılımlarda olduğu gibi zamanla tüm liste değişebilir belli olmaz.
- RPG Maker, 2D, Ruby Game Scripting System (RGSS). Fiyat: Windows $25, Visual Novel Maker $70. Piksel tarzı açık kaynak alternatif oyun motorları varken, RPG Maker’ın karmaşık ürün yelpazesi ve pahalı fiyatları yüzünden popülerliğini yitirmiş bir motor olarak görüyorum.
3. HTML5 Oyun Motorları
Boyut: 2D
Kod Bilgisi: İleri (JavaScript)
Platform: İnternet arayüzü ile açıldığı için platformlardan bağımsız. Sadece internet olması yeterli.
Açık kaynak kodu. Web kodlama dili olan JavaScript kullanıldığı için web yazılımcılarının geçiş yapması kolay olan bu oyun motorları ImpactJS ve Phaser gibi özelleşmiş kütüphaneleri ile meşhur. Web tasarımından gelenler için güzel bir giriş noktası olabilir.
4. 2D Oyun Animasyonu Yazılımları
Oyunlar için gereken animasyon genelde bir kaç karelik animasyonlar olduğu için çok karmaşık olması gerekmiyor. Eğer iskeletleme yoksa Photoshop’la da yapılabilir. Fakat daha yumuşak bir hareket isteniyorsa bunlar gerekecektir.
4.1. Spine
Boyut: 2D
Firma: Esoteric Software
Fiyat: İlk ay ücretsiz, essential $69, pro $69, enterprise $2200.
En popüler animasyon karakteri iskeletleme (rigging) yazılımı. GameStudio ve LibGDX gibi 2D oyun motorları ile uyumlu. Fakat ne bileyim pahalı olması ve Godot gibi motorların kendi rig sistemi olması ekstra iş gibi geldi bana.
4.2. DragonBones
Boyut: 2D
Firma: Esoteric Software
Fiyat: OpenSource (Oley!)
Hem animasyon hem de motion comics yapmayı sağlayan bir açık kaynaklı yazılım. Bu bakımdan MotionArtists yazılımına güzel bir alternatif olabilir. Comics Flash, Cocos2D, Unity ile uyumlu.
[Edit 14.10.2020: 2 senedir güncelleme gelmiyor sitesinden de indirilemiyor. Belki düzelir diye tutuyorum. Spine’ın en büyük rakibiydi çünkü.]
4.3. Aseprite
Boyut: 2D (8-bit)
Firma: Esoteric Software
Fiyat: $20 (tek seferlik)
8-bit’çileri tatmin edecek animated sprite editör ve pixel art aracı. Arayüzü de 8-bit. Photoshop’ta da aynı üretimi yaparsınız ancak bu editörün havası gel sadece 8-bit yap diyor. Bu alandaki sanatçılar için güzel bir deneyim olabilir.
4.4. Piskel
Boyut: 2D (8-bit)
Firma: Adobe
Fiyat: Free
Ücretsiz online sprite hazırlama aracı. Offline kullanım için indirebiliyorsunuz.
4.5. Adobe Animate
Boyut: 2D (vektörel)
Firma: Adobe
Fiyat: Karışık
2000’li “Flash” zamanlarında oldukça popüler bir oyun motoruydu. Fakat güvenlik açıkları, isim değişikliği gibi kötü market politikaları yüzünden Animate kendini vektörel animasyon ile sınırladı. Zaten açık kaynakların koşturduğu bu alanda tutunması da kolay olmazdı. Animasyon için hâlâ tavsiye ederim; Harmony‘den hafif ve kolaydır.
4.6. Diğer Oyun Animasyonu Yazılımları
Eğer iskelet gibi karmaşık işlemler yapılmayacaksa ve hareket bir kaç sprite karesinden oluşacaksa her animasyon yazılımı bu işi görür. OpenToonz, Moho, After Effects, Procreate vd. Ayrıntısı için 2d animasyon yazılımları araştırmalarıma bakabilirsiniz.
Sonuç / Tavsiye
Araştırmam sonucunda edindiğim izlenimi özetlemek gerekirse, hemen iş bulmak isteyen kod temelli arkadaşlara önerim Unity; çünkü her ilanda adı geçiyor. Büyük firmalarda gözü olanlar için Unreal. Uzun vadede sindirerek gelişmek isteyenlere ise açık kaynak kodlu yazılımları, parayı önemsemeden hemen hızlı bir giriş yapmak isteyenler için GameStudio diyorum.
Sanat temelli arkadaşlara önerim ise Spine gibi karakter animasyonu yapan yazılımları incelemeleri eğer oyun yapmak istiyorlarsa da daha çok görsel dili (Visual Script) destekleyen açık kaynak kodlu motorları denemeleri. Bu araştırma sonucunda şahsen gözüme Godot’yu kestirdim. Bakalım nasıl işler çıkacak.
Kolay gelsin herkese.
Bir cevap yazın