Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Barış KESGame Engines Konular;
Game Engine (Oyun Motoru) Nedir
Game Engines Öncesi
Game Engines Kısa Tarihi
Popüler Game Engines
Kıyaslamalar
Rendering Engines
Kaynakça
Konular;
Game Engine (Oyun Motoru) Nedir
Game Engines Öncesi
Game Engines Kısa Tarihi
Popüler Game Engines
Kıyaslamalar
Rendering Engines
Kaynakça
Oyun Motoru Nedir.
• Oyun motoru oyun geliştirmek için oluşturulan bir geliştirme ortamıdır.
• Bu Geliştirme ortamı Konsollara,Mobil cihazlara PC lere oyun üretmeye olanak sağlamaktadır.
• Render yapan tüm 2D-3d grafik görüntüleme programlarıda Engine Kapsamındadır.
• Daha detaylı bilgi için;
• https://en.wikipedia.org/wiki/Game_engine
Game Engines Öncesi
• Constructions Kits (1980’s)
ÞPinnball Construction Kit
Þhttps://www.youtube.com/watch?v=ow0X7IrzzO8
Þ Arcade Game Constuction Kit (Comodore 64)
Þhttps://www.youtube.com/watch?v=q_iI87ZFEvs
Bu kitler belirli kısıtlamalar ile oyun geliştirme ortamı sağlıyorlardı.
Game Engines Kısa Tarihi
1989 Ultima Underworld
Ultima Underworld oyunu ile birlikte ilk Game Engine aynı isimle geliştirilmiştir.
1993 Id Tech 1
1993 yılında Id Software Id Tech 1 ile 2.5D Doom oyunu ile game enginelerin doğuşu başlamıştır diyebiliriz.Zamanına göre oldukca hızlı ve standar VGA desteği olan 386 bir PC de çalıştırılabiliyordu.
• John Carmach ve John Romero bu oyun motoru geliştirmesinde büyük rol oynamışlardır.
Carmack&Romeronun bazı Yorumlarını aşağıdaki linkten bulabilirsiniz.
https://www.youtube.com/watch?v=_MWN8a1SJ7Y
Game Engines Kısa Tarihi
1992 Voxel Space NovaLogic firması tarafından geliştirilmiştir 90 lı yılların sonuna kadar çeşitli oyunlar bu engine ile yapılmıştır.
Delta force oyunu bu oyun motorunun bilinen örnekleri arasındadır.
Voxel Space web Demosu;
https://s-macke.github.io/VoxelSpace/
Steam de bu oyun motoru ile yapılmış oyunların bir pack i halen satılmaktadır.
https://store.steampowered.com/sub/46995/
Game Engines Kısa Tarihi
1995 XnGine
ilk DOS tabanlı 3D game Engine olan XnGine Bethesta Softworks tarafından geliştirilmiştir.
Ilk yapılan oyun;
The Terminator FutureShock
Yaklaşık 4 yıl boyunca geliştirilmeye devam edilmiştir
Sonraki versiyonlarında 3DFX ve yüksek çözünürlüğü destekler hale geltirilmiştir.
Yapılan bazı oyunlar.
https://www.youtube.com/watch?v=jnyHG_nHyB0
Game Engines Kısa Tarihi
1996 Quake Engine
Id Software tarafından yılında yapılmıştır.
Bu firmanın ilk 3D game engine i olmuştur ve zamanına göre bir çok performans artısı bulunmaktadır.
Oyuncuya yanlızca kendisinin göreceği kısımlar render edilmekte ve oyunun diğer bölümleri Görüntülenmemekteydi.
İlk oyun Quake’di aslında Quake DOOM esintileri olan bir oyun Quake Engine geliştirimesinde DOOM ekibinde olan John Carmach yine görev almıştır ve aynı konsepti korumuştur diyebiliriz.
Firma Aynı Engine i 1998 yılında OpenGL destekleyecek şekilde, C dilini destekleyecek şekilde ve bir çok optimizasyon ile Id Tech 2 adında tekrar Release edecektir.
Bu seri 7. versiyona kadar ulaşmıştır.
Game Engines Kısa Tarihi
1998 GoldSRC Valve tarafından geliştirilen bu engine “Half-life” oyunu ile hayat bulmuştur Bu engine sayesinde hem OpenGL hemde Direct3d desteği sağlanmıştır.
Sonrasında Counter-Strike,Team Forness Classic gibi oyunlarda kullanılmıştır.
“C” dili ile geliştirme yapılmaktadır.
Game Engines Kısa Tarihi
1998 Unreal EngineEpic games tarafından geliştirilen bu engine ilk olarak Unreal oyunu ile oyunculara sunulmuştur.
Tim Seeeney Tarafından geliştirilen bu engine gelşmekte olan bu engine zamanına göre halen bir çok enginede kullanılan yapılara temel oluşturmuştur. Engine software rendering üzerinden çalışıyordu.
C++ kullanılıyordu.
Bu engine 2.3.4. nesilleri ile günümüze kadar güncelliğini korumuştur.
1999 Game MakerMart Overmars tarafından geliştirilen 2D engine C++,C# dilinde yazılmıştır.
2D iskelet animasyonları geniş bir standart çizim kütüphanesi bulunmaktadır. Kendine ait bir scripting dili olan “GameMaker” dili ile oyun geliştirmek mümkündir bu syntax javascripte yakındır.
Sürükle Bırak (Drag And Drop) visual scripting tool gibi özellikleri de beraberinde getiren bu Engine Günümüzde de kendini güncel tutan ve gelişmeye açık olan popüler engineler arasındadır
Game Engines Kısa Tarihi
2001 GeoModVolition firması tarafından Ref Faction oyun serisi için tasarlanmıştır.
2001 TorqueGarage games tarafından geliştirilmiştir. Şu an open source olarak sitesinden ulaşabileceğiniz bir enginedir.
https://torque3d.org/
Tribes 2 oyununu modifiye edebilmek için geliştirilen bir engine dir.
2001 Serius EngineCroTeam tarafından Serius Sam Serisi için geliştirilmiş bir engine dir. Çok sayıda karakteri ekranda görüntüleme üzerine performansı yüksek olan bir engine dir.
Game Engines Kısa Tarihi
2004 CryEngine CryTek firması tarafından geliştirilen engine da bulunan pixel shader sayesinde Daha realistik su efektleri ve rendering sağlanmıştır.
FarCry,Crysis serisi bu engine in popular oyunları arasındadır
2005 SourceValve tarafından geliştirmiştir. Bu engine sayesinde ileri seviye shader teknolojileri, dinamik ışıklandırma, gölgelendirme gibi konularda yenilikler yapılmıştır.
Daha gerçekci yansıyan su alanları hareket bulanıklaştırma gibi özellikler de gelmiştir.
Game Engines Kısa Tarihi
2005 Id Tech 4 (Doom 3)Id Software tarafından geliştirilen bu engine aslında tüm render kısımındaki kodların tekrar yazılmasını kapsıyor. Ve önceki versiyonların aksine bu cersiyonda “C “den “C++ “ a geçiş yapılmış.
Quake4,Prey,Enemy Territory gibi oyunlar bu engine ile geliştirilmiştir.
Open source linki aşağıdadır.
https://github.com/id-Software/DOOM-3-BFG
Game Engines Kısa Tarihi
2005 UnityUnity Technologies tarafından geliştiriden 25 den fazla patformda oyun geliştiriebilecek bir engine dir. Kolay erişilebilirlik ve sürekli gelişmesi sonucu popüler bir geliştirme ortamı haline gelmiştir. C,C++ ile geliştirilmiştir.
C#,javaScript ile geliştirme yapmaya olanak sağlamaktadır
şu an özellikle mobil oyun sektöründe marketteki oyunların %60 I Unity ile geliştirilmiştir. 2D ve 3D oyun geliştirmeye olanak sağlamaktadır.
2006 RAGEThe Rock Star Advanced Game Engine (Rage) RAGE teknoloji grubu tarafından Rock Start Games için geliştirilmiştir
Game Engines Kısa Tarihi
2008 EGO EngineNeo Game Engine ini modifiye bir versiyonu olan bu engine CodeMasters tarafından geliştirilmiştir. Genelde
Colin McRae serisi F1 serisi gibi yarış oyunlarında kendini göstern bir engine dir.
2008 FrostBiteEA Digital Illusions CE AB (DICE) firması tarafından C++,C# ile geliştirilen engine Battlefield:Bad Company serisi, Metal Of Honor,Battlefield 1943 gibi önemli oyunlarun geliştirildiği bir Engine olmuştur.
Game Engines Kısa Tarihi
2010 Cocos2dOpen source olarak hayatına başlayan 2d game engine Chukong Technologies tarafından C++,Objective-c,python kullanarak geliştirilmiştir.
2d oyunlarda mobil oyun sektöründe bir çok kullanımı buunmaktadır.
Hill Climb Racing ,Family Guy: Quest For Stuff,Flow Free Diamond Dash Castle Clash,Clash of Lords 2 gibi bir çok oyun bu engine ile geliştirilmiştir.
2014 GodotOpen Source olan bu engine bir kaç firmanın birlikte çalışması sonucu geliştirilmiştir. C,C++ diller ile geliştirilen bu engine Developerın tüm ihtiyaçlarını tek bir editör üzerinde toplamayı amaçlamıştır.
Scripting olarakta farklı dillerde geliştirmeye olanak sağlamaktadır C++,C# kendi içinde barındırdığı GDScript gibi.
İçerisinde kendi script editörü bulunmaktadır bu editor ile debugging , compile işlemleri yapılabilmektedirç.
Game Engines Kısa Tarihi
Bu kısımdan sonra Id Tech,Godot,Unity,Unreal vs gibi Engine lerin versiyon güncellediğini görüyoruz. Aslında first release tarihlerinden sonra Engine ler sürekli yenileniyor iyileştiriliyor daha iyi grafikler daha yüksek performans üzerine çalışmalar devam ediyor.
Bir çok game engine linki buradan bulunabilir.
https://en.wikipedia.org/wiki/List_of_game_engines
Popüler Game Engines
Game Engine Nasıl Popüler olur ?Oyun Geliştiricilerinin geliştirme esnasında bir çok ihtiyacı
olmaktadırBunlardan bazıları
=> Fizik(physics)=> input=>rendering=>Scripting=> collision detection=> artificial intelligence
Tüm oyun motorları bu işlemleri kolaylaştıran kütüphanelerle donatılmıştır böylece geliştirici oyundaki diğer elementlere odaklanabilir.
Popüler Game Engines
Game Engine Nasıl Popüler olur ?
Engine Popüler olmasında yukarıdaki maddeler önem taşır bunların dışında
=>Stabilizasyon (Bug free olması)=>Erişilebilirlik=>Süreklilik=> Döküman/Eğitim gibi bilgilere ulaşım kolaylığı
=> Ücretlendirme=> Performans /Kaynak kullanımı
Yukarıdaki bu maddeleri daha iyi değerlendiren ürünler bu sektörü daha çok domine edeceklerdir ve daha popüler olarak kalacaklardır.
Popüler Game Engines
Game Engine Neye Göre Seçilmelidir ?Yapacağımız projenin içeriğine göre seçilecek game engine i belirlemeliyiz.Örneğin 2d bir oyun düşünüyorsak Gamemaker ,Cocos gibi game engine lerde değerlendirilmelidir.3d olarak geliştirme yapılacak projelerde ise proje çapına göre Unity,Unreal,godot,Source gibi engineler bir önceki speclere göre tercih edilmelidir.Tabiki bu süreçte ekibin hakim olduğu geliştirme dili hakim olduğu editörler gibi konularda göz ardı edilmemelidir.
Popüler Game EnginesŞu an Oyun Endüstrisinde Popüler Engineler hangileri?2020 yılı için en başarılı game enginler arasında Þ UnrealÞ UnityÞ Game MakerÞ GodotGeliyor diyebiliriz. Tabiki bunların dışında da seçenekler çok fazla. Ancak ihtiyaçlar ve ekibin bilgi birimine göre bu örnekler arasından seçim yapmak mantıklı olacaktır.
KıyaslamalarUnity & Godot& Unreal EnginesÞ Programming Language
Engine Programming Language
Godot GDScript,Visual ScriptingC#,C++
Unreal Blue Print,C#,C++
Unity C#,JavaScript(UnityScript)Boo
KıyaslamalarUnity & Godot& Unreal EnginesÞ Ücretlendirme
Engine Ücretlendirme
Godot Free/open Source
Unreal Free ancak 4 ay içerisinde 3000 $ üzerinde gelir durumunda %5 Ücret almaktadır. Farkı özel ücretlendirme politikaları da bulunmaktadır./ C++ Open Source
Unity Kişisel Kullanum ücretsiz bunun dışında 4 Paket Bulunmaktadır.https://store.unity.com/compare-plans
KıyaslamalarUnity & Godot& Unreal EnginesÞ Rendering
Engine Rendering
Godot https://www.youtube.com/watch?v=XptlVErsL-o
Unreal https://www.youtube.com/watch?v=ldT6IJYbOW4
Unity https://www.youtube.com/watch?v=34K8YJOMDRY
Unity & Unreal engine render kıyaslaması https://www.youtube.com/watch?v=anYgaf2gI1o&t=126s
KıyaslamalarUnity & Godot & Unreal Engines=> Dökümantasyon & Erişilebilirlik.
Engine Dökümantasyon linki
Erişilebilirlik Asset Store
Godot https://docs.godotengine.org/en/latest/
Diğer Enginelere kıyasla en yenisi godot olduğu için henüz daha istenen seviyede yaygınlaşmamıştırhttps://godotengine.org/community
https://godotengine.org/asset-library/asset
Unreal https://docs.unity3d.com/Manual/index.html
Bir çok döküman bulunabilir gelişmiş bir community ortamı vardır.
https://www.unrealengine.com/marketplace/en-US/store
Unity https://docs.unrealengine.com/en-US/index.html
Bu Konuda en kuvvetli Unity Diyebiliriz Community ortamı çok gelişmiştir
https://assetstore.unity.com/
KıyaslamalarUnity & Godot& Unreal EnginesÞ Platform Destekleri
Engine
IOS Android Windows Mac OS Linux Play Station
Switch/Nintendo
Xbox WebGL VR HTML5
Godot
Unreal
Unity
Günümüz teknolojisinde çoğu oyun motoru bir çok platforma uyum sağlamıştır diyebiliriz.
Rendering EnginesRendering Engine Lisans Kullanım Alanları/Link Ürünler
3Delight Proprietary
Sinema Sektöründe Görsel Effektlerde kullanılmakta
https://www.foundry.com/products/katana/3delight
=>Riddick =>Fantastic Four => Hulk
AIR ProprietarySinema ve Animasyon gibi Sektörlerde kullanılmakta http://www.sitexgraphics.com/ht
ml/gallery.html
Aqsis Free and open-source https://www.aqsis.org/about.htmlDirekt bir ürünü olmamakla
beraber Blender ve Renderman standatlarına uygun bir renderer
Arnold ProprietarySinema Sektörü Mühendislik
sektörleri Oyun Tasarım sektörühttps://www.arnoldrenderer.com/
3dMax,Maya,Cinema4D Sony Pictures Imageworks
C3D Vision ProprietaryGenel olarak Endüstriyel tasarım üzerine kullanılan bir Renderer
https://c3dlabs.com/en/customers/
Cinema 4D ProprietarySinema,Sanat,3d Tasarım gibi bir
çok konuda kullanılmaktadır https://www.maxon.net/en-us/products/cinema-4d/overview/
Cycles Free and open-sourceAnimasyon Sinema Sanatsal alanlarda kullanılmaktadır.
https://www.cycles-renderer.org/
Blender (Blender ekibi tarafından geliştirilmiştir)Poser,Rhino
Editörlerinde kullanılmaktadır. 3d Max a ve Camera4d ye plugin yardımı ile Cycles4d Olarak
eklenebilir.
EEVEE Free and open-source
Blender 2.8 sonrası geliştirilen bir Renderer
https://render.st/engine-blender-eevee/
Flamingo Proprietary http://www.flamingo3d.com/as/features/
iClone ProprietaryPhoto realistik bir rendererdır
https://www.reallusion.com/iclone/visual.html
Indigo Renderer Proprietary
Oldukca gelişmiş realistik bir rendererdır.
https://www.indigorenderer.com/photon-photograph
Kerkythea Freeware http://www.kerkythea.net/cms/index.php/gallery
LuxRender Free and open-source https://luxcorerender.org/gallery/ Maxwell Render Proprietary https://maxwellrender.com/galler
y/
Octane Render Proprietary https://home.otoy.com/render/octane-render/
RenderMan Proprietary https://renderman.pixar.com/stories
Pixar'n geliştirmekte olduğu üründür
SolidWorks Visualize Proprietary https://www.solidworks.com/product/solidworks-visualize
YafaRay Free and open-source http://www.yafaray.org/ Light Tracer Render Freeware https://lighttracer.org/
Kaynakça
https://www.researchgate.net/publication/259496289_History_and_comparative_study_of_modern_game_engines
Wikipedia
Unreal resmi Sitesi
Unity resmi Sitesi
Godot Resmi sitesi.