Nasıl oyun yapıldığını merak edenler için giriş seviyesindeki dijital oyun tasarlama rehberimizde Unreal, GameMaker Studio, Buildbox ve Unity 3D oyun motorları ile Unity'nin kurulumu ve kullanılması ile ilgili bilgileri vermeye çalışacağız. Umarız nasıl oyun yapıldığını merak edenler için faydalı bir rehber olur.
Oyunlar eski zamanlardan beri varlığını sürdürmüştür. Satranç olsun, kendi milli oyunumuz mangala olsun oyunlar her dönemde hayatımızda kendine yer bulmuş ve önemli bir yer tutmuştur.
1980’li yıllardan itibaren dijital oyunlar hayatımıza girmiş ve oyunlar için adeta yeni bir dönem başlamıştır. Bu dönem ile birlikte oyunlar sektörleşmeye başlamış, oyun yapım şirketleri ortaya çıkmıştır.
Örneğin: Nintendo, Capcom, Bandai Namco gibi şirketler. Bunların devamında oyun konsolları çıkmaya başlamış ve nerdeyse herkesin evinde bir konsol olmaya başlamıştır.
Bizim ülkemizde ise ilk olarak oyun konsolu reklamını Atari yapmıştır. Teknolojinin iyice gelişmesiyle oyunlar farklı tarz bir boyuta geçmiştir : 3 boyuta! 3D oyunlar konsollara ilk olarak Nintendo 64 ve Playstation ile girmiştir.
Şu an ise oyunlara gelen en son teknoloji sizlerin de bildiği gibi Ray Tracing (RTX) özelliğidir. Oyun tarihine kısaca değindiğimize göre asıl konumuz olan oyun yapımı ve oyun motorları hakkındaki bilgilendirmelere geçebiliriz.
Oyun tasarlamak mı, oyun yazmak mı dersiniz bilemem ama bu iş öncelikle sabır işidir. Sabır, burada bizim en büyük kozumuz olacak.
Çünkü tasarım işinde herhangi bir zorluk ile karşı karşıya geldiğimizde hemen pes etmemeyi, yılmamayı öğretecek bize. Sabrınızın hazır olduğunu düşünüyorsanız, hadi o zaman başlayalım!
OYUN MOTORLARI:
İlk öğrenmeniz gereken şey bir oyun motoru öğrenmek. Bunun için size piyasadaki en iyi 4 oyun motorunu önereceğim.
UNREAL ENGINE:
Unreal Engine, piyasadaki en gelişmiş oyun motorlarından biridir. Unreal Engine ilk olarak 1998’de çıkmıştır. Epic Games çatısı altında olan bir oyun motorudur.
Çok iyi ışıklandırma ve render işlemi yapan bir oyun motoru olduğu için yaptığınız oyunlar adeta AAA oyun kalitesindeymiş gibi görünür. Son zamanlarda Unreal Engine Marketplace mağazası da oldukça ilerleme kat etmiştir.
Burada ise öğrenmeniz gereken yazılım dili C++’dır. Bir de Unreal Engine’nin içinde bulunan bir sistemdir. Sadece bu sistem ile de oyunlar yapılabilir. Şimdi sırada Unreal Engine ile yapılmış oyunlar!
- Playerunknowns Battlegrounds,
- ARK: Survival Evolved,
- Fortnite,
- Hello Neighbor.
Artıları:
+ Çok iyi bir render ve ışıklandırma sistemi vardır.
+ Oyun motoru hakkında bilgilere ve kaynaklara ulaşmak kolaydır.
+ PC, Android, IOS, PS4 ve Xbox One platformlarına oyun çıkarabilmeniz için destek verir.
Eksileri:
– Sistem dili İngilizcedir.
– Arayüzü ilk başlayanlar için karışık gelebilir.
– Sistem gereksinimleri biraz tuzludur.
– Türkçe kaynak azdır.
GAMEMAKER STUDIO ENGINE:
GameMaker, sizlere 2D oyun yapma deniyimi sunar. Kendine has bir yazılım sistemi (GameMakerLanguage-GML) olan bu oyun motoru 2 boyutlu oyunlar için çok fazla imkanlar sağlamaktadır.
2017 senesinde ikinci versiyon çıkmış, daha da kapsamlı hale gelmiştir. Ücretli olan bu oyun motorunun fiyatı 3 farklı versiyon için şu şekildedir:
- Free Versiyon 0$,
- Creator 49,99$,
- Indie 99,99$,
- Enterprise 799,99$.
Aynı zamanda ücretsiz 30 günlük deneme versiyonu da bulunmaktadır. GameMaker Studio ile yapılmış oyunlara da değinmeden geçmeyelim.
- Death’s Gambit,
- Orbit,
- Blackhole,
- Orphan.
Artıları:
+ 2D oyunlar yapmanız için kullanışlı bir arayüzü vardır.
+ PC, Android ve IOS platformlarına oyun çıkarabilmeniz için destek verir.
Eksileri:
– Sistem dili İngilizcedir.
– Türkçe kaynak yok denecek kadar azdır.
BUILDBOX ENGINE:
Buildbox, 3D ve 2D oyunlar yapmanızı sağlayabilecek bir oyun motorudur. Yeni versiyonları ile ücretsiz hale gelmiştir. Kendisine has programlama ağacı bulunan Buildbox, sistemi çözerseniz adeta vazgeçemezsiniz çünkü hiçbir yazılım dili öğrenmenizi istemez.
Programı ilk açtığınızda hazır bazı projeleri size gösterir, onları isteğinize bağlı geliştirip tamamen yeni bir oyun yapabilirsiniz.
Örneğin: 2D platform, 3D koşu oyunu, 3D trafik yarışı. Madem her oyun motoruna o motorla yapılmış örnek verdik buna da vermezsek olmazdı.
- Color Switch,
- Timelight.
Artıları:
+ Göze hoş gelen bir arayüzü vardır.
+ Kullanılabilir hazır proje dosyaları vardır.
+ PC, Android ve IOS platformlarına oyun çıkarabilmeniz için destek verir.
+ Hiçbir kodlama bilgisi istemez.
Eksileri:
– Sistem dili İngilizcedir.
– Türkçe kaynak yok denecek kadar azdır.
– Arayüzü ilk başlayanlar için karışık gelebilir.
UNITY ENGINE:
Unity Engine, size hem 3 boyutlu hem de 2 boyutlu oyun yapma imkanı sunar. Kişisel sürümü tamamen ücretsizdir, 2020 versiyonu ile siyah teması da ücretsiz hale gelmiştir.
Bununla birlikte kendisine has olan bir mağazası bulunmaktadır. Bu mağazada 60.000′i aşkın varlık (kaynak) bulunmaktadır. Bu varlıklardan 6450’si ise bedavadır.
Mağazadaki varlıkları kendi projenizde de kullanarak işinizi kolaylaştırabilirsiniz. Ama atalarımızın da dediği gibi emek olmadan yemek olmaz, burada bizim üzerimize düşen ise yazılım öğrenmektir.
Unity oyun motorunun kullandığı yazılım dili ise C#’dır. Benden size tavsiye başlamadan önce C# temelinizi bayağı bir oluşturun derim. Şimdi size Unity oyun motoru ile yapılmış bazı oyunları göstereceğim.
- The Forest,
- Ori and the Blind Forest,
- Among Us,
- Fall Guys: Ultimate Knockout.
Artıları:
+ İnternette bu oyun motoru hakkında kaynak bulmak çok basittir, özellikle Youtube’da güzel içerikler bulunmaktadır.
+ En çok Türkçe kaynak bulunan oyun motorudur.
+ Mağazasında 6000’ i aşkın ücretsiz 3D obje – 2D obje – VFX – SFX varlıklar bulundurur.
+ PC, Android, IOS, PS4 ve XboxOne platformlarına oyun çıkarabilmeniz için destek verir.
Eksileri:
– Sistem dili İngilizcedir.
– Arayüzü ilk başlayanlar için karışık gelebilir.
UNITY ENGINE REHBERİ:
Yazımızın bu bölümüne kadar oyun motorlarından bahsettik. Şimdi oyun motorları arasından seçtiğimiz Unity oyun motorundan da biraz bahsedelim. Çok daha fazla detayı ise Unity Documentation sayfalarında bulabilirsiniz.
KURULUM:
Unity Engine kurulumu için öncelikle aşağıdaki bağlantıdan Unity Hub programını indirin. Bu program içindeki “Installs” kısmına gelip Unity oyun motorunu indirip kurun.
Sizin için en uygun versiyonu seçin (Personel/Profesyonel). Tabii ki de en iyi seçim kişisel olan versiyon olacaktır. Kişisel versiyonun burada ücretsiz olması en önemli etken ve profesyonel ile neredeyse hiç farkı yok. Ama karar yine de sizin.
Bu arada Unity hesabınızı oluşturmayı unutmayın. Projenizi Android ya da IOS platformlara çıkarmayı düşünüyorsanız kurulum aşamasında eklentileri seçin.
Hali hazırda seçili olan eklentileri çıkarmayın, onların arasında Microsoft Visual Studio Unity araç kiti olan versiyonda seçili ve bu program projemize kodlama yapmamızı sağlayacak. Kurulumu tamamladığınıza göre ikinci aşamaya geçelim.
PROJE OLUŞTURMA
Kurulumu tamamladıktan sonra Unity Hub programı içindeki “Projects” kısmına gelip sağ üst kısımda mavi renk ile belirtilmiş New yazısını seçin.
Şimdi açılan sayfada projenizin adını, projenizin dosyasının bulunduğu dosya konumunu ve oyunun türünü(2D/3D) seçin. Artık projeniz oluştu ve çalışmaya hazırsınız.
Ama öncelikle size arayüzden bahsetmeliyim. Çünkü ilk deneyiminiz için biraz karışık gelecektir. Hadi başlayalım!
ARAYÜZ
Sizlere arayüzde projeniz için vazgeçilmez olanları göstereceğim sadece. Göstermediğim bazı şeyler fazladan bilgidir. Bu göstereceklerim sizin işinizi görecektir.
FILE MENÜ: Unity arayüzünün sol üstünde bulunur. Projenizdeki dosya işlemlerinizi görür.
NEW SCENE (CTRL+N): Bu seçenek projeniz için yeni bir sahne oluşturur.
OPEN SCENE (CTRL+O): Bu seçenek seçili bir dosya konumundaki sahneyi açar.
SAVE (CTRL+S): Bu seçenek sahneyi kaydetmeyi sağlar.
SAVE AS (CTRL+SHIFT+S): Bu seçenek sahneyi seçtiğiniz dosya konumuna kaydetmeyi sağlar.
NEW PROJECT: Bu seçenek yeni proje oluşturmayı sağlar.
OPEN PROJECT: Bu seçenek seçili bir dosya konumundaki projeyi açar.
SAVE PROJECT: Bu seçenek projeyi kaydetmeyi sağlar.
BUILD SETTINGS(CTRL+SHIFT+B): Bu seçenek projenizin bir oyun olarak çıktısını almayı sağlar. Bu seçeneğin altındaki “Build and Run” ise oyunun dosyası oluşturulduktan sonra hemen açılmasını sağlar.
EDIT MENÜ: Unity arayüzünün soldan ikinci kısmında bulunur. Projenizi düzenlemek için araçlar bulunur.
UNDO SELECTION CHANGE (CTRL+Z): Bu seçenek projenizde yaptığınız bir işlemi geri alır.
REDO (CTRL+Y): Bu seçenek projenizde yaptığınız bir işlemi ileri alır.
SELECT ALL (CTRL+A): Bu seçenek projenizdeki dosyaların hepsini tek seferde seçer.
DESELECT ALL (SHIFT+D): Bu seçenek projenizdeki tek seferde seçtiğiniz öğelerin hepsini tek seferde bırakır.
CUT (CTRL+X): Bu seçenek seçtiğiniz öğeleri keser.
COPY (CTRL+C): Bu seçenek seçtiğiniz öğeleri kopyalar
PASTE (CTRL+V): Bu seçenek kestiğiniz veya kopyaladığınız öğeyi yapıştırır.
DUPLICATE (CTRL+D): Bu seçenek kopyala ve yapıştır fonksiyonunu tek tuşta yapar.
RENAME: Bu seçenek seçtiğiniz öğeyi yeniden adlandırmanızı sağlar.
DELETE: Bu seçenek seçtiğiniz öğeyi siler.
PLAY (CTRL+P): Bu seçenek projenizi oynatır.
PAUSE (CTRL+SHIFT+P): Bu seçenek oynatmaya başladığınız projenizi duraklatır.
STEP (CTRL+ALT+P): Bu seçenek oynatmaya başladığınız projenizi bir adım ileri sarar.
PROJECT SETTINGS: Bu seçenek sizi, projenizin ayarlarını yapabileceğiniz bir pencereye yönlendirir. (Ayrıntılı pencereler bir sonraki yazılarımızda!)
PREFERENCES -> EXTERNAL TOOLS: Projenizin Android için çıktısını alırken istediği SDK dosyalarını belirteceğiniz seçenektir.
SHORTCUTS: Unity oyun motorunun seçeneklerini kolayca kullanabilmenizi sağlayan kısayol tuşlarının belirtildiği yerdir.
CLEAR ALL PLAYERPREFS: Projenizin save sistemini yazdığınız zaman oyununuzu test ettiğinizde yaptığınız değişiklikler kaydedilebilir. Bu da çıktısını aldığınız projenizde save dosyası bulunabilmesine sebep olabilir.
İşte bu seçenek save dosyalarını silmenizi sağlar.
GRAPHICS TIER: Bu seçenek üç farklı shader ayarlarından bir tanesini seçmemizi sağlar.
GRID AND SNAP SETTINGS: Bu seçenek projenizin sahnesinde bulunan düzenleme ızgarasının ayarlarının yapılmasını sağlar.
ASSETS MENÜ: Unity arayüzünün soldan üçüncü kısmında bulunur. Projenize kaynak eklemeyi sağlar.
CREATE: Bu seçenek projenizde bir şey oluşturmayı sağlar.
Folder: Bu seçenek yeni bir dosya oluşturmayı sağlar.
C# Script: Bu seçenek yeni bir C# yazılım dosyası (.cs) oluşturur.
Scene: Bu seçenek yeni bir sahne oluşturur.
Audio Mixer: Bu seçenek yeni bir ses karıştırıcısı oluşturur.
Material: Bu seçenek yeni bir materyal oluşturur. Bu materyal doku (texture) olarak kullanılabilir.
Lighting Settings: Bu seçenek ışıklandırma ayarı oluşturur.
Sprites: Bu seçenek 2D cisimler (kare, üçgen vb.) oluşturur.
Animator Controller: Bu seçenek animasyonların kontrolünü yaptığımız aracı oluşturur. Bu araçta, örneğin hareket edince karakterin yürüme animasyonunu çağırır. Ama bu animasyonun çalışması için ayrıyeten bir yazılım da yazılması gerekir.
Animation: Bu seçenek animasyon aracı oluşturur.
Physic Material / Physics Material 2D: Bu seçenek fizik materyallerini oluşturur. Bunlara örnek olarak, sürtünme kuvvetini değiştirme ayarı yapılabilir. Böylelikle karakteriniz zıpladığı zaman duvara değdiğinde yapışıp kalmaz.
Import New Asset: Bu seçenekten projenize içeriden aktardığınız kaynak eklenir. Unity oyun motorunun sağladığı Asset Store’dan da kaynak ekleyebilirsiniz.
“Dijital Oyun Tasarlama Rehberi”mize Unity oyun motoru arayüzünün GAMEOBJECT bölümüyle devam ediyoruz.
GAMEOBJECT MENÜ: Bu seçenek projenize yeni oyun objeleri eklemenizi sağlar ve birçok alt başlığı vardır.
CREATE EMPTY: Bu seçenek boş bir obje oluşturmanızı sağlar.
3D OBJECT: 3 boyutlu objeler oluşturmanızı sağlar.
Cube: 3D bir küp cismi oluşturur.
Sphere: 3D bir küre cismi oluşturur.
Capsule: 3D bir kapsül cismi oluşturur.
Cylinder: 3D bir silindir cismi oluşturur.
Plane: 3D bir zemin cismi oluşturur.
Terrain: Sahneye arazi ekler.
Tree: Sahneye ağaç cismi oluşturur.
Wind Zone: Sahneye rüzgar ekler.
3D Text: 3 boyutlu metin oluşturur.
2D OBJECT: 2 boyutlu objeler oluşturmanızı sağlar.
Sprite: Boş bir 2D obje oluşturur.
Tilemap: 2D bir düzenleme ızgarası oluşturur.
EFFECTS: Görsel efekt oluşturmanızı sağlar.
Particle System: Partikül efekt oluşturmanızı sağlar.
Line Render: Düz bir çizgi olarak gözüken bir efekt oluşturur.
LIGHTS: Sahneye ışıklandırma koymanızı sağlar.
Directional Light: Güneş gibi her yeri aydınlatan bir ışık oluşturur.
Point Light: Bir alanı aydınlatacak kadar ışık oluşturmanızı sağlar.
Spot Light: Bir noktayı aydınlatacak kadar ışık (Fener ışığı gibi.) oluşturmamızı sağlar.
Reflection Probe: Sahnenizin bir bölümünü refleksiyon olarak yansıtmanızı sağlayan cismi oluşturur.
AUDIO: Sahneye ses koymanızı sağlar.
VIDEO: Sahneye video koymanızı sağlar.
UI: Sahneye bir arayüz oluşturmanızı sağlar.
Text: Arayüze metin oluşturmanızı sağlar.
Image: Arayüze görsel eklemenizi sağlar.
Button: Arayüze buton eklemenizi sağlar.
Toggle: Arayüze seçimli bir buton (Örneğin, Ses |X|.) eklemenizi sağlar.
Slider: Arayüze kaydıraçlı bir cisim (Örneğin, Ses düzeyi.) ekler.
Scrollbar: Arayüze kaydırma barı (Örneğin, siteyi aşağı kaydırırken kullandığımız bar çubuğu.) koyar.
Dropdown: Arayüze farklı seçim opsiyonları bulunan bir buton ekler.
Input Field: Arayüze boşluk doldurmalı bir kutucuk eklemenizi sağlar.
Canvas: Arayüzünüzün çercevesini oluşturur.
Panel: Arayüze boş bir panel oluşturmanızı sağlar.
Scroll View: Arayüze kaydırmalı bir panel oluşturmanızı sağlar.
Event System: Arayüzünüze yerleştirdiğiniz butonların basmasını sağlar.(Bunu her zaman arayüzünüzde bulundurun.)
CAMERA: Sahneye bir kamera eklemenizi sağlar.
COMPONENT MENÜ: Sahnenizde bulunan cisimlere ekleyebileceğiniz bazı özellikler (fizik, yerçekimi...) bulunur.. Bu başlık ayrıntılı olduğundan fırsat bulabilirsek ileride değinmeye çalışacağız.
Fakat aşağıdaki videodan ve bağlantılı olduğu YT kanalından birçok bilgiye ulaşabilirsiniz. Eğer katkı vermek isteseniz yorumlarınızı bekleriz.
WINDOW MENÜ: Unity oyun motorunun pencerelerini açmanızı sağlar.
HELP MENÜ: Unity oyun motoru hakkında yardım alabileceğiniz seçenekleri açmanızı sağlar.
Son Sözler:
Oyun motorları hakkında ve nasıl oyun yapılabileceği ile ilgili giriş seviyesinde bilgiler verdiğimize göre yazımızın sonuna geldik. Bir de unutmadan oyun yapımında ihtiyaç duyulan görsel ve ses tasarımını konusuna da değinelim.
Eğer görsel ve ses tasarımını kendiniz yapmayı düşünüyorsanız size kullanmanızı önereceğim birkaç tasarım programını şunlar;
Başka yazılımlar da kullanabilirsiniz, bu tamamen sizin isteğinize bağlı ama 3D cisimler ‘.obj’ ya da ‘.fbx’ uzantılı (Bazı motorlar .fbx uzantısı kabul etmeyebilir), 2D cisimler ‘.png’ uzantılı, ses dosyaları ise ‘.mp3’ ya da ‘.wav’ uzantılı olmalıdır.
Umarız rehberimizi beğenirsiniz ve sizler için faydalı olur. Lütfen oyun yapmak ile ilgili bilgilerinizi, görüşlerinizi ve katkılarınızı yorum kısmından yazınız, teşekkürler.
harika bilgiler paylaşım için teşekkür ederim.


