Godot Engine ve Unity Karşılaştırması

Piyasada birçok oyun motoru bulunuyor. Bu motorlar arasından sıkça tercih edilen Unity ve Godot Engine’i karşılaştırdık.
Godot vs Unity Mobidictum
Godot ve Unity’i detaylı bir şekilde inceledik.

Godot Engine ve Unity geliştiriciler tarafından sıkça kullanılan oyun motorları. İki oyun motoru da oyun geliştirmek için çeşitli özellikler sunuyor. Peki Godot Engine ve Unity arasında ne gibi benzerlik ve farklar var? Tercih yapmakta zorlananlar için Godot Engine ve Unity’i karşılaştırdık.

Godot Engine nedir?

Godot Engine, MIT lisansı ile yayınlanan, platformlar arası geliştirme desteği sunan ücretsiz ve açık kaynak kodlu bir oyun motorudur. Arjantinli geliştiriciler Juan Linietsky ve Ariel Manzur tarafından Amerikalı birkaç şirket için özel olarak geliştirildi. Daha sonra ise ücretsiz olarak halka açıldı. Godot, 2D ve 3D oyunlar geliştirmek için tasarlanmıştır ve PC, mobil ve web platformlarının tamamı için kullanılabilir. Ayrıca Godot’un çok geniş bir işletim sistemi desteği de bulunmaktadır.

Godot Engine özellikleri

Godot, çok fonksiyonlu ve entegre bir oyun motoru olarak tasarlanmıştır. Geliştiriciler, Godot ile oyun geliştirirken müzik ve görsel tasarım gibi ek içerikler dışında üçüncü parti hiçbir araca ihtiyaç duymaksızın çalışabilirler. 

Godot oyun motorunun mimarisi “düğüm” adı verilen konsept üzerine kuruludur. Bu düğümler, çeşitli amaçlar için kullanılabilir ve “sahne” adı verilen bir diğer sistem içerisinde düzenlenebilir. Böyle anlatıldığında karışık görünüyor olabilir ama bu sistem düzenlenebilir ve birlikte çalışılabilir projeler oluşturmak için avantaj sağlar.

Bu sistem sayesinde komut dosyaları ve görseller dahil olmak üzere tüm oyun kaynakları açık bir klasör olarak kaydedilebilir. Bu açık bilgisayar klasörü, veritabanından farklı olarak birlikte çalışma ortamı sağlar ve VCS (sürümü kontrol sistemİ) kullanan oyun geliştirme ekipleri arasında işbirliğini kolaylaştırır. Kısacası bu açık klasör, paylaşılan herkes tarafından açılabilir, düzenlenebilir ya da kullanılabilir. Bu sebeple Godot GitHub gibi platformlar aracılığı ile kullanılmaya da çok uygundur.

Godot-FPS
Godot ile yapılan FPS oyunu demosundan bir kare

Godot Engine’in kullanılabileceği platform, cihaz ve işletim sistemleri

Godot Engine platformlar arası bir oyun motorudur ve birçok işletim sisteminde kullanılabilir. Godot ile mobil, PC, web ve hatta konsol oyunları geliştirmek mümkündür. Sanal gerçeklik tarafında da Godot ile yapılan bir oyunu çeşitli cihazlarda oynayabilirsiniz. Godot Engine’nin kullanılabileceği platform, cihaz ve işletim sistemleri şu şekildedir:

  • Mobil: Android, iOS
  • PC: Linux, macOS, Microsoft Windows, BSD
  • Web: HTML5, WebAssembly
  • Sanal ve artırılmış gerçeklik (VR-AR): HTC Vive, Valve Index, Oculus Rift, Oculus Go, Oculus Quest, tüm Microsoft MR kulaklıkları, Apple ARKit

Godot Engine konsol platformlarına oyun geliştirmek için de kullanılabilir. Fakat Godot’un açık kaynak kodlu bir motor olması, Sony ve Xbox tarafında birtakım lisans sorunlarına sebep olabiliyor. Bu şirketler Godot’u resmi olarak desteklemiyor ve platforma özel kodlar üretilemiyor. Burada sadece üçüncü taraf şirketler ile yapılan lisans anlaşmaları ile Godot ile yapılan bir oyunu konsollara taşımak mümkün oluyor.

Godot-hangi-platformlarda-kullanilir
Godot’u birçok platform için kullanabilirsiniz.

Godot Engine’de desteklenen yazılım dilleri

Godot yazılım dilleri konusunda oldukça yetenekli bir oyun motoru. GDNative adı verilen ve diğer diller ile iletişim kurmayı sağlayan bir sistem içeren Godot birçok programlama dili ile kullanılabilir. Topluluk tarafından desteklenen diller de göz önüne aldığımızda yaklaşık 10 programlama dili ile kullanılabildiğini söyleyebiliriz. Godot tarafından desteklenen programlama dilleri şu şekilde:

  • Resmi programlama dilleri: Entegre dil – GDScript, C, C# ve C++
  • Topluluk destekli programlama dilleri: JavaScript, Rust, Nim, Haskell, Clojure, Swift ve D

Özellikle C++ yazlılım dile bugün birçok oyunun temelini oluşturuyor. Oyun motorlarının da bir çoğu C++ desteği sunuyor. Burada Godot’un öne çıkan avantajı topluluk dillerinden de yararlanarak daha geniş geliştirme seçenekleri sunması.

Özel olarak bahsedilmesi gereken, Godot’un kendi yerleşik komut dosyası dili olan GDScript’in sözdizimsel olarak Python’a benzeyen yüksek seviyeli, dinamik olarak yazılmış bir programlama dili olması. Bu sayede Python kullanıcıları rahatlıkla adapte olabilir ve GDScript özelliklerinden yararlanabilir. Python’dan farklı olarak ise GDScript, Godot’nun sahne tabanlı mimarisi için optimize edilmiştir ve değişkenlerin katı bir şekilde yazılabilmesini sağlar. GDScript’te “Typed array” adı verilen sistem ile kullanıcılar çok fazla kod değiştirmeden proje üzerinde rahat değişiklikler yapabilir.

Godot Engine sistem gereksinimleri

Godot Engine hemen her cihazda çalışabilir. Resmi sistem gereksinimleri açıklamasında Godot, minimum olarak OpenGL 2.1 / OpenGL ES 2.0 destekli sistemlerin yeterli olduğunu belirtiyor. Önerilen sistem gereksinimleri ise OpenGL 3.3 ve üzeri destekli donanımlar.

Diğer yandan her oyun motoru düşük özellikli sistemlerde çalışabilir ve tek başlarına çok az yer kaplarlar. Burada önemli olan, geliştireceğiniz projenin boyutudur. 2D bir oyun ile 3D bir oyun arasında boyutsal olarak çok büyük farklar vardır ve 3D oyunlar çok daha güçlü sistemlere ihtiyaç duyarlar. Godot, başka hiçbir eklenti ve proje olmaksızın kendi başına bilgisayarınızda yaklaşık 100 MB yer kaplayacaktır. Bir proje geliştirmeye başlar ya da demo indirirseniz boyut çok daha fazla büyüyecektir.

Godot ile yapılan oyunlar

Hem 2D hem de 3D birçok oyun Godot Engine ile geliştirildi. Godot ücretsiz ve açık kaynak kodlu oyun motoru olarak özellikle oyun geliştirmeye yeni başlayanlar için kolay bir kullanım sunuyor.

Godot ile yapılan oyunlar:

  • Carol Reed Mysteries
  • City Game Studio
  • Cruelty Squad
  • Deponia (iOS and PlayStation 4 portları)
  • The Interactive Adventures of Dog Mendonça & Pizzaboy
  • Hardcoded
  • Kingdoms of the Dump
  • Rogue State Revolution
  • Sonic Colors: Ultimate
  • Stereobreak
  • Riven Tails Defense

Bunların yanı sıra büyük küçük daha birçok oyun geliştirilirken Godot kullanıldı. GDScript ve C++ yazılım dillerinin gücü ile fikirlerinizi gerçekleştirebilirsiniz. Ayrıca Godot geliştirici topluluğu oldukça paylaşımcı. Yeni geliştiriciler için birçok eğitim videosu ve rehber topluluk tarafından üretiliyor ve ücretsiz olarak paylaşılıyor. Godot Engine kullanmaya başlamak için Godot resmi sitesinden indirip çalıştırmanız yeterli.

Godot ile yapılmış bir başka FPS demosu – Droivox

Unity nedir?

Unity günümüzde şüphesiz en çok kullanılan oyun motorlarından biridir. 2005 yılında Unity Technologies tarafından piyasaya sürülen oyun motoru PC, mobil ve konsollar için oyun geliştirmekte kullanılıyor. 2005 yılında ilk piyasaya sürülüş amacı Apple OS X olsa da bu gün Unity oyun sektörünün yanı sıra sinema, otomotiv, mimari mühendislik ve inşaat alanlarında da kullanılıyor.

Unity özellikleri

Unity bir oyun motorundan bekleyebileceğiniz hemen her özelliğe sahip çok fonksiyonlu bir oyun motorudur. 2D ve 3D projeler üretmek için kullanılabilir. Burada Unity’i diğerlerinden ayıran bu 2D ve 3D modellerin sadece sürükleyip bırakılarak kullanılabilmesidir. Bu sayede oyun geliştirmenin önemli bir bölümünü oluşturan modelleme konusunda geliştiriciye büyük kolaylıklar sağlar.

Unity, 2D oyunlarda sprite’ların (bilgisayar grafiği – bitmap) içe aktarılmasına izin verir ve gelişmiş bir 2D dünya düzenlemesi sunar. Bunun yanı sıra 3D oyunlar için desteklenen her platform için doku sıkıştırma ve çözünürlük ayarlarının belirtilmesine de olanak sağlar. Bunların yanı sıra Unity’in 3D oyunlara yönelik öne çıkan özellikleri şu şekildedir:

  • Yumru haritalama (bump mapping)
  • Yansıma haritalama (reflection mapping)
  • Paralaks haritalama (parallax mapping
  • Ekran uzayı ortam örtmesi (SSAO, screen space ambient occlusion)
  • Gölge haritalarını kullanan dinamik gölgeler
  • Doku işleme ve tam ekran rötuş efektleri

Yukarıda sıraladığımız teknolojiler Unity tarafından desteklenmektedir. Bu sayede hem 2D hem de 3D oyunlarda Unity ile çok başarılı bir görsellik yakalamak mümkündür. Oyun sektörünün yanı sıra sinema, mimarlık ve yukarıda saydığımız diğer alanlarda da Unity’nin kullanılma sebeplerinden biri budur.

Unity-oyun-gelistirme
Unity, birçok fikri hayata geçirmenize yardımcı olabilecek özelliklere sahip

Unity sunduğu teknolojilerin yanı sıra geliştiriciler için de birtakım ek avantajlar ve hizmetler sağlar. Unity tarafında geliştiricilere sunulan hizmetler şu şekildedir:

  • Unity Reklamları
  • Unity Analitik
  • Unity Sertifikalandırma
  • Unity Bulut Derlemesi
  • Unity Everyplay
  • Unity IAP
  • Unity Multiplayer
  • Unity Performans Raporlama
  • Unity Collaborate

Tüm bu hizmetler geliştiricilere büyük avantajlar sunar. Performans takibinden pazarlama alanında desteğe kadar geniş bir hizmet yelpazesi bulunan Unity oyun motorları arasında bu konuda lider konumdadır.

Unity’nin kullanılabileceği platform, cihaz ve işletim sistemleri

Unity’i PC, mobil, konsol ve VR platformlarında kullanabilirsiniz. Unity çok geniş bir kullanım alanına sahiptir ve hemen her işletim sisteminde kullanılabilir. Unity’nin kullanılabileceği platform, cihaz ve işletim sistemleri şu şekildedir:

  • Mobil: Android, iOS, Windows Phone, Tizen ve daha fazlası
  • PC: Microsoft Windows, macOS, Linux, ve daha fazlası
  • Konsol: Playstation, Xbox, Nintendo (bu üç konsol için tüm versiyonlar) ve daha fazlası
  • Web: HTML5 ve uzantıları
  • Sanal ve artırılmış gerçeklik (VR-AR): Microsoft HoloLens, Oculus Rift, Google Daydream, HTC Vive ve daha fazlası
  • Diğer cihazlar: İçerisinde yukarıda saydığımız sistemlerden herhangi biri yada türevi bulunan tüm cihazlar, örneğin akıllı televizyonlar ve daha fazlası.

Yukarıda saydığımız platform, cihaz ve işletim sistemlerinin birçok farklı türevi dahil olmak üzere Unity çok geniş bir platform desteğine sahip. Unity ile yaptığınız bir oyunu çok kolay birkaç işlem ile diğer platformlara uygun hale getirebilirsiniz. Örneğin macOS sistemi için yazılmış bir proje sadece birkaç tık ile Windows uyumlu hale getirilebilir.

Bu çalışma alanı çeşitliliği geliştiricilere birçok avantaj sağlar. Unity ile geliştirilen bir proje asla “boşuna” olmayacaktır. Unity’nin desteklediği onlarca platform içerisinde kendine mutlaka yer bulacaktır. Bu Unity ile geliştirilen her projenin kar sağlayacağı anlamına elbette gelmez. Buradaki kasıt, oyun motoru kaynaklı teknik bir problem yaşanma şansının çok düşük olduğudur. Desteklenen platformların sayısı ve bunlar arasında kolay uyarlama imkanı geliştiricinin en büyük avantajlarındandır.

Unity’de desteklenen yazılım dilleri

Unity temel olarak C, C++ (Runtime) C#, UnityScript (Unity API) ve Boo dillerini kullanıyor. UnityScript, sözdizimsel olarak JavaScript’e benzeyen bir dil. Fakat günümüzde geliştiriciler Unity kullanırken çoğunlukla C# ve C++ dillerini ve türevlerini tercih ediyorlar. 2017 yılından bu yana UnityScript’in, Unity 5‘in piyasaya sürülmesinden bu yana da Boo dilinin kullanılası tavsİye edilmiyor.

Desteklenen dillerin yanı sıra Unity’de birçok eklenti mevcut. Bu eklentiler çeşitli API’ler ya da geliştiricinin işine yarayacak birçok şablon ve materyaller içeriyor. C programlama dilinin gücü, Unity’nin yetenekleri ile birleşince ortaya şahane işler çıkabiliyor. Bu konuda Unity ve Unreal Engine sık sık karşılaştırılıyor olsa da iki oyun motorunun da kendine has öne çıkan özellikleri mevcut.

C programlama dili
Birçok motorda olduğu gibi C# ve C++ Unity’de de kullanılıyor.

Unity sistem gereksinimleri

Oyun motorlarının sistem gereksinimleri geliştirilecek olan projeye göre değişkenlik gösterir. Tek başların çok yer kaplamaz ve çok güçlü sistemler gerektirmezler.

Windows için Unity sistem gereksinimleri:

  • İşletim sistemi: Windows 7
  • İşlemci: SSE2 komut seti desteğine sahip X64 mimarisi
  • Grafik API: DX10, DX11 ve DX12 özellikli GPU’lar

MacOS için Unity sistem gereksinimleri:

  • İşletim sistemi: Sierra 10.12.6+
  • İşlemci: SSE2 komut seti desteğine sahip X64 mimarisi
  • Grafik API: Metal-capable Intel ve AMD GPU’lar

Oyun motorları içerisinde projeler üretilmeye başladıkça donanım gereksinimleri artar. Unity bilgisayarınızda yaklaşık 3GB yer kaplar. Fakat Unity ile bir proje geliştirmeye ve bu projeye öğeler eklemeye başladıkça bu alan artacaktır. Diğer yandan günümüzün koşullarını göz önüne alarak, Unity için 16GB Ram (Bellek) tavsiye edilebilir. Sisteminiz ne kadar yüksek belleğe sahip olursa o kadar avantajlısınız demektir. Güçlü bir sisteme sahip olmak geliştirme aşamasında karşılaşılacak donanım sorunlarını en aza indirecektir.

Unity ile yapılan oyunlar

Unity, çok sayıda 2D ve 3D oyunun yapımında kullanılmış bir motordur. Bu oyunların sayısı öylesine çoktur ki hepsini burada toplamak imkansız olacaktır. Burada Unity ile yapılan mobil ve PC oyunlarına birkaç örnek verelim.

Unity ile yapılan mobil oyunlar:

  • Parallyzed
  • League of Legends: Wild Rift
  • Shadow Fight 3
  • Free Fire
  • Hearthstone (Mobil)
  • Crossy Road
  • Mobius Final Fantasy (Mobil)
  • Monument Valley 2
  • Orbit

Yukarıdaki listeye birçok oyun daha eklenebilir. Bugüne kadar Unity ile yapılmış birçok oyun olduğu gibi yeni gelecek olan diğer birçok oyun da Unity ile geliştirilmektedir.

Unity ile yapılan PC oyunları:

  • Escape From Tarkov
  • RUST
  • Ori and the Blind Forest
  • Deus Ex: The Fall
  • Assassin’s Creed: Identity
  • Hearthstone: Heroes of Warcraft
  • Firewatch
  • Hitman Go
  • Dead Trigger 2

Konu masaüstü oyunlarına geldiğinde örnek verilebilir oyunların sayısı bir hayli artıyor. Yukarıdaki örneklerden Unity’nin ne denli büyük oyunlarda kullanılabileceği anlaşılabilir. Unity ile geliştirilmiş 3A (AAA) oyunlarının yanı sıra birçok 2D oyun da bulunur. Unity ile oyun yapmak birçok oyun geliştiricinin ilgi duyduğu bir konudur.

“Unity ile oyun yapmak” serimizi takip edebilirsiniz.

Unity oyun motoru paketleri ve fiyatları

Unity her amaca hizmet etmek için tasarlanmış bir oyun motoru. Bu sebeple Unity kişisel kullanım ve girişimler için ücretsiz olarak kullanılabilir. Diğer yandan daha gelişmiş özellikler ve şirket ihtiyaçları için Unity çeşitli ücretli planlar sunar. Unity kaç para sorusunun cevabını bir tablo ile açıklayalım:

Lisans türüTüm özelliklere erişimAçılış ekranı yazısıPremium destekBulut hizmetleri erişimiÇok oyuncu desteğiPerformans raporlama özelliğiFiyat/Ücret
(Her bir geliştirici başına yıllık fiyat)
Kişisel (Personal)VarMade With UnityYokStandart20 CCUYokÜcretsiz
PlusVarİsteğe bağlı özel animasyon Yok Öncelikli50 CCU Var 399 dolar
ProVarİsteğe bağlı özel animasyon Var Eşzamanlı 200 CCU Var 1800 dolar
Enterprise (Girişim)Varİsteğe bağlı özel animasyon Var Dedicated (Özel)Ayarlanabilir miktar Var 2400 dolar (en az 20 kişilik ekip için)
Unity oyun motoru ücretleri

Yukarıda karşılaştırmasını yaptığımız özelliklerin yanı sıra her paket birçok detay içeriyor. Bu detayları Unity fiyat karşılaştırma sayfasında görebilirsiniz. Ücretsiz ya da ücretli olarak Unity’i kullanmaya başlamak için UnityHub‘ı indirermeniz yeterli.

Godot vs Unity

İki oyun motorunun detaylıca ele aldığımız özelliklerinden yola çıkarak Godot ve Unity’i karşılaştıralım. Her iki oyun motorunun da kendine has önen çıkan özellikleri ve kullanım amaçları var. Bu noktada Godot daha geniş topluluk desteği sunarak acemi geliştiriciler için uygun bir ortam sunarken, Unity hem kişisel çalışmaları hem de büyük çaplı projeleri destekleyen daha çok hizmete sahip. Belirli kriterlere dayanan Godot vs Unity tablosu şu şekilde:

Godot EngineUnity
Nedir?Çok amaçlı, topluluk destekli 2D ve 3D oyun geliştirme motorudur.Çok amaçlı, hem kişisel hem de iş amaçlı kullanılabilecek özellikler sunan 2D ve 3D oyun motorudur.
Kendine has özellikler– Ekip çalışmasına uygun
– Açık kaynak kodlu
– Kolay VCS yönetimi
– Çoklu yazılım dili
– Acemi kullanımına uygun
– Tamamen ücretsiz
– En gelişmiş oyun motorlarından biri
– Uzun vadeli iş ve projelere uygun
– Geliştiriciye sunulan resmi hizmet fazla
– Ücretli planlar ile tam destek imkanı
– Çok geniş platform ve sistem uyumu
– 2D ve 3D sürükle bırak özelliği
– Çok gelişmiş grafik işleme özellikleri
Yazılım dilleri– GDScript
– C, C# ve C++

Bunların yanı sıra birçok topluluk destekli dil
– UnityScript ve Boo
– C, C# ve C++
Platformlar ve işletim sistemleri-Mobil: Android, iOS

– PC: Linux, macOS, Microsoft Windows, BSD

– Web: HTML5, WebAssembly

-Sanal ve artırılmış gerçeklik (VR-AR) ürünlerinin çoğu
-Mobil: Android, iOS, Windows Phone, Tizen ve daha fazlası

-PC: Microsoft Windows, macOS, Linux, ve daha fazlası

-Konsol: Playstation, Xbox, Nintendo (bu üç konsol için tüm versiyonlar) ve daha fazlası

-Web: HTML5 ve uzantıları

-Sanal ve artırılmış gerçeklik (VR-AR) ürünlerinin tamamına yakını

-Akıllı televizyonlar gibi birçok diğer cihaz ve platform
Tabloda bahsedilenler hakkında daha fazla bilgi için üst başlıklara göz atabilirsiniz.

Her iki oyun motorunun öne çıkan birtakım özellikleri var. Birbirleri ile kıyaslandığında bazı noktalarda dezavantajlı olsalar da kesinlikle iki oyun motoru da çok başarılı. Kullanım sıklığına ve amacına baktığımız zaman Unity’nin daha yaygın şekilde kullanıldığını görüyoruz. Oyun geliştirmeyi bir hobiden ziyade meslek edinmiş kişiler Unity’i daha çok tercih ediyorlar.

Diğer taraftan Godot, kullanıcıya büyük bir topluluk desteği ve geliştirme kolaylığı sağlıyor. Açık kaynak kodlu olması sayesinde kolayca ekip çalışmasında kullanılabiliyor. Acemi geliştiriciler Godot’u rahatlıkla öğrenebilirken, profesyonel yazılımcılar da Godot ile başarılı oyunlar yapabilirler. Tüm bu özellikleri göz önüne alındığında Godot da tercih edilebilecek bir oyun motoru olarak karşımıza çıkıyor.

Godot ve Unity dışında Unreal Engine, GameMaker Studio gibi oyun motorları da var. Dijital dünyanın imkanlarının giderek genişlediği bu günlerde dilediğiniz oyun motorunu seçebilirsiniz. Burada dikkat etmeniz gereken motorların hangi programlama dilini kullandıklarıdır. Eğer kullandığınız oyun motorundan memnun kalmazsanız aynı dili kullanan bir diğerine daha rahat geçebilirsiniz. Ayrıca, geliştirme amacınızın ne olduğu oyun motoru tercihinizi doğrudan etkileyecektir.

5 dakikada sektörü yakala

Oyun dünyasının gündemini, son raporları ve özel içeriklerini her hafta e-posta kutunuza gönderiyoruz.

    Almak istediğiniz bültenleri seçin:

    Spam yok, dilediğiniz zaman abonelikten çıkabilirsiniz.

    Bir cevap yazın

    E-posta hesabınız yayımlanmayacak.

    Related Posts
    Video Oyunu Pazarlamasına Giriş
    Read More

    Video Oyunu Pazarlamasına Giriş

    İyi bir oyun yaptığınızda insanların onu satın alacağını, başarı yakalayacağınızı düşünüyorsanız, size bunun doğru olmadığını söylemeliyim. Şu an…