AÖF Soru Bankası

Dijital Oyun TasarımıÜnite 2 Soru-Cevap

Dijital Oyun Tasarımı (GIT409U) soru-cevapları.

Dijital oyun tasarımı motoru nedir?

Dijital oyun bileşenlerinin etkili olarak bir araya
getirilmesini sağlayan, çok sayıda kütüphane içeren ve oyunların farklı platformlarda çalışabilmesini olanaklı kılan yazılımlara verilen genel addır.

Oyun motorlarının gelişimini etkileyen unsurlar nelerdir?

  • Kişisel bilgisayarların işlem gücündeki artış
    (1970’ler)
    • Grafik kartlarının gelişmesi (1980’ler)
    • Çoklu ortam öğelerinin (ses, resim, video,
    animasyon vb) gelişmesi (1990’lar)
    • Bilgi depolamada CD ve DVD’lerin ortaya
    çıkışı (1990’lar)
    • İnternetin yaygınlaşması (1990’lar)
    • Oyun tasarım yazılımları ile bu yazılımlarda kullanılabilecek hazır materyallerdeki
    artış (2000’ler)
    • Mobil teknolojilerin yaygınlaşması (2010’lar)
    • Bulut teknolojilerin yaygınlaşması (2010’lar)
    • Yapay zekâ ile içerik üretiminin yaygınlaşması (2020’ler)

Dijital oyun motorlarının gelişiminde ilk kez hangi oyun ele alınabilir?

İlk kez 1952 yılında İngiliz akademisyen AS Douglas’ın doktora tezinin bir parçası olarak yaptığı OXO isimli oyun ele alınabilir. 

İlk oyun motoru ürünleri olarak kabul edilebilecek oyunlar hangileridir?

İlk oyun motoru ürünleri olarak kabul edilebilecek oyunların
Görsel 2.1’de görülen Mystery House (1980) ve The
Secret of Monkey Island (1990) olduğu söylenebilir.

Hangi tür gelişmeler günümüz oyun motorlarının gelişimine ortam hazırlamıştır?

Grafik alanında yapılan iyileştirmeler, farenin bir veri giriş aracı olarak  kullanımının yaygınlaşması, çoklu ortam desteğinin oluşması ve CD-ROM gibi görece gelişmiş depolama
teknolojileri ile taşınabilmesi, sonrasında ise internet erişiminin artması gibi gelişmeler (Çoklar, 2017) günümüz oyun motorlarının gelişimine ortam hazırlamıştır

Construct 2 isimli oyun motorunu nasıl tanımlarsınız?

Construct 2 isimli oyun motoru da 2B oyunların yapımına odaklanan bir oyun motoru olup, en iddialı olduğu noktanın karmaşık kodlama becerilerine gerek duyulmaması olduğu ifade edilmektedir

Dijital oyun motorları genel anlamda oyun geliştiricileri için hangi temel bileşenlerden oluşmaktadır? 

Grafik Derleme (Rendering) Modülü: Bu modül genel olarak oyundaki 2 veya 3 boyutlu görselleri yani grafiğe dayalı verileri
işleyerek ekranda görüntülenen piksellere dönüştürmektir. Bu nedenle oyun tasarım motorlarının kullanılacağı bilgisayarların
da oyuncu bilgisayarları gibi güçlü bir grafik kartı, işlemci ve ana belleğe sahip olması gerekir.

Ses Modülü: Oyuna ait diyalog, ses efekti veya müzik odaklı seslerin kontrol edilmesini sağlayan modüldür. Oyun

Mekaniği/Mantıksal Modül: Oyunda nihai olarak hedeflenen sanal bir dünyaya ait karakterlerin beceri ve yeteneklerini,
sanal dünyadaki nesnelere atfedilen rolleri, oyunculara ait görevler ile yapay zekâ tarafından yönetilen karakterlerin görevleri gibi
senaryo çerçevesinde belirlenen kuralların yönetilmesini sağlayan modüldür.

Yapay Zekâ Modülü: Oyun oynayan bireyler dışında oyunda yer alan ve bilgisayar tarafından oyuncunun hareketlerine göre hareket eden nesnelerin davranışlarını kontrol etmeyi sağlayan modüldür.

Animasyon/Fizik Motoru Modülü: Bir eylemin oluşması durumunda nesnelerde meydana gelecek değişiklik efektinin (patlama, yanma, yok olma vb.) kontrol edilmesini sağlayan modüldür.

Ağ modülü: Özellikle çok oyunculu yapı gösteren oyunlarda, birden fazla oyuncunun aynı oyunda rol alabilmesini sağlamaya
yönelik işlevleri yerine getiren modüldür.

Diğer Yazılım Araçları: Oyun motoruna destek görevi üstlenen, oyun geliştiricinin verimliliğini artırmak amacı ile kullanılan
yazılımlardır. Bu modül sayesinde kolaylıkla oyunlara ses efekti, görsel unsur, animasyon veya yapay zekâ algoritmaları eklenebilir. Oyunların tasarımını kolaylaştıran destek yazılımları olarak düşünülebilir.

Oyun motorlarının tasarımcılara sunduğu yararlar nelerdir?

Farklı Platformlar Arası Uyum: Oyun geliştiriciler geliştirdikleri oyunları, oyun motorları aracılığı ile kolayca mobil, konsol gibi farklı
platformlarda çalışabilir hâle getirebilmektedir.

Verimlilik ve Hız: Oyuncular oyun geliştirme sürecinde oyun motorlarında bulunan özellikler sayesinde çok sayıda zor işlevi
kolay ve hızlı bir şekilde yapabilmektedir. Bu nedenle oyun motorları verimlilik adına önemli katkı sunmaktadır.

Zengin İçerik: Oyun motorlarında hâlihazırda çok sayıda kütüphane ve içerik desteği (asset) bulunmaktadır. Bu sayede oyun geliştiriciler kolay ve hızlı bir şekilde tasarımlarını gerçekleştirebilmektedir.

Çoklu Ortam Desteği: Oyunlar sahip olduğu modüller sayesinde kullanıcının ihtiyaç duyduğu ses, görüntü, animasyon ve efekt gibi varlıkları kolaylıkla işleyebilmektedir.

Eğitim Hizmeti ve Ek Kaynaklar: Oyun motorlarının kullanımı konusunda oyun motoru tasarımcıları kendi web siteleri, video paylaşım siteleri gibi çok sayıda ortam aracılığı ile bilgi paylaşımı
sağlamaktadır.

Toplulukların Desteği: Oyun motoru kullanıcıları kendi içlerinde bir iletişim ağına sahiptirler. Bu ağ aracılığı ile zorlanılan bir konu hakkında diğer tasarımcıların deneyimlerinden yararlanılabilinir. Bu ise özellikle yeni başlayan tasarımcılar için önemli bir yarar olarak ifade edilebilir.

Yaygın olarak kullanılan oyun motorları nelerdir?

Scratch, Unity, Unreal Engine, Godot, Phaser, Game Maker Studio 2, Armory, Cryengine, Defold, Amazon lumberyard, Gamesalad

Oyun Motorlarında Kullanılan Programlama Dillerinin işlevleri nelerdir?

Bu programlama dilleri sayesinde oyundaki tüm
davranışların yönlendirilmesi, optimizasyon işlemleri, yapay zekâ mekanizmalarının çalıştırılması,
platformlar arası geçiş işlemleri gibi pek çok işlev
yerine getirilebilir. Programlama dilleri yazılan oyun
senaryolarının hayata geçirilmesini sağlamaktadır.

Oyun motorlarında kullanılan programlama dillerini nasıl açıklarsınız?

C#: Microsoft tarafından geliştirilen bu dil kolay yazılışı ve geniş destek toplulukları ile önemli
bir kullanım potansiyeline sahiptir. Öğrenmesinin
kolay olması nedeniyle yeni başlayanlar için de uygundur. Unity tarafından kullanılan C# programlama dili gerek 2B gerekse 3B oyunlarda sıklıkla
kullanılmaktadır.

C++: Bu programlama dili de C# gibi oyunlarda sıklıkla kullanılmasına karşın, öğrenmesinin
daha zor olduğu söylenebilir. Oyun sektörünün
öncülerinden olan Unreal Engine tarafından tercih
edilmektedir. Hız ve performans konusunda avantaj sunan bu dil sayesinde kaliteli oyunlar yapmak
mümkündür.

Java: Java programlama dili daha çok android
işletim sistemine yönelik oyun tasarımlarında tercih edilmektedir.

Python: Phyton hazır kütüphaneler bakımından öne çıkan bir programlama dilidir. Phytonda
bulunan Pygame kütüphanesi oyun tasarımcılarına
yönelik çok sayıda işlevi bulunduran kütüphanedir.
Pygame başta olmak üzere sahip olduğu kütüphaneler aracılığı ile oyun tasarımına hız kazandırdığı
ifade edilebilir.


JavaScript: Javascript denilince akla ilk olarak
web işlemleri gelmektedir. Web tabanlı oyunlar geliştirmek isteyenler için bu dilin kullanımına izin
veren yazılımlar tercih edilebilir. Javascript bağlamında da Phyton’daki Pygame kütüphanelerine
benzer şekilde Phaser ve Three.js gibi kütüphaneler
bulunmaktadır.


Swift: Android tabanlı oyunlarda tercih edilen
Java programlama diline benzer şekilde iOS tabanlı
oyunlar geliştirmek isteyen kullanıcılar Swift programlama dilini öğrenebilirler. Apple’ın programlama dili olan Swift’in kullanıldığı oyun motorlarına
örnek olarak Xcode verilebilir.


Lua: Hafif ve hızlı prototip yapma konusunda
ön plana çıkan Lua dili, pek çok oyun motorunda
oyun geliştiricilere önemli avantajlar sunmaktadır.


Blueprint: C++ gibi öğrenmesi zor olan bir
dil yerine daha küçük çaplı ve karmaşık olmayan
oyunlar geliştirmek amacıyla kullanılabilecek bir
dildir. Ancak oyunların ileri düzey oyunlar için
karmaşaya neden olduğu ifade edilmektedir.

Scratch nedir?

Scratch çocuklar için geliştirilmiş blok tabanlı
bir programlama dili olarak tanımlanmaktadır. Bir
başka ifade ile metin tabanlı karışık programlama
süreçlerini görsel kod blokları ve sürükle-bırak
şeklinde daha basit hâle getirmek amaçlanmıştır.

Scratchin sağladığı avantajlar nelerdir?

Ücretsiz kullanılabilmesi
Bloklar şeklinde kodlama nedeniyle öğrenmesinin ve oyun geliştirmenin kolay olması
Çocuklar başta olmak üzere her yaştan bireye hitap etmesi
Türkçe de dahil olmak üzere 70’ten fazla dil
desteği sunması
Çok zengin bir topluluğa sahip olması ve
destek hizmeti sunması
MIT tarafından geliştirme süreçlerinin devam etmesi ve sürekli yeterliklerinin gelişmesi

Unity oyun sektörü dışında başka hangi sektörlerde kullanılmaktadır?

Unity en yaygın kullanılan oyun motorlarından
birisidir. 2005 yılı itibarıyla gelişim sürecine başlayan Unity, günümüze kadar çok yönlü gelişmiştir.
Oyun sektörünün yanında, film, otomotiv, inşaat,
mimari gibi çok sayıda sektörde kullanılmaktadır.

Unity'in dezavantajları nelerdir?

Unreal Engine kıyasla görsel kalitesinin düşük olması yönündeki eleştiriler
PC ve konsol oyunlarında kısmen az tercih
edilmesi
Optimizasyonun zor olması
Kullanıcı arayüz tasarımının kısıtlayıcı olması

Unreal Engine motorunun özellikleri nelerdir?

Unreal Engine, Epic Games tarafından geliştirilmiş ve oyun geliştirme süreçlerinde yaygın olarak
kullanılan bir platformdur (Sanders, 2016). Diğer
oyun motorlarının çoğuna kıyasla öğrenilmesinin
zor olmasına karşın, öğrenme ve geliştirme süreci
yeni sürüm olan Unreal Engine 5’in yayımlanması ile daha kolay hâle gelmiştir. Söz konusu oyun
motorunun diğer bir özelliği ise C++ programlama
dilini kullanıyor olmasıdır.

Godot oyun motorunun özellikleri nelerdir?

İlk kez 2014 yılında geliştirilen, farklı platformlarda çalışabilen ve ücretsiz bir oyun motorudur. Godot ile iki boyutlu ve üç boyutlu oyunlar geliştirmek mümkündür.Açık kaynak kodlu olması nedeniyle geniş bir komüniteye sahiptir. Godot da diğer oyun motorları gibi blog, forum, sosyal ağ gibi kullanıcı paylaşım platformlarına ve varlık deposu gibi olanaklara sahiptir.
C++, C# gibi dilleri desteklemesine karşın öncelikli olarak kendi betik dili olan GDScript’i kullanmaktadır
(Görsel 2.11). Bu dil, kolay kullanım özellikleri ile programlama adına oyun geliştiricilere önemli katkılar
sağlamaktadır. Ayrıca Baked Light sistemi görsel kalitesini desteklerken parçacık sistemi de etkili animasyonlara olanak sağlamaktadır.

Phaser oyun motorunun avantajları nelerdir?

Phaser, açık kaynak kodlu olması nedeniyle geliştirme sürecinde esneklik gibi önemli
avantajlar sağlamaktadır.
Basit tasarım gereksinimleri nedeniyle oyun
geliştirme süreci kolaydır.
Forum, blog ve benzeri internet kaynakları
üzerinden ulaşılabilecek geniş bir topluluk
desteğine sahiptir.

İki boyutlu oyunların tasarımı konusunda
esnek bir yapıya sahip olmakla beraber, tarayıcılarda kolaylıkla çalışmaktadır.

Game Maker Studio 2 oyun motorunun özellikleri nelerdir?

Oyun geliştirme süreçlerinde kullanılabilecek diğer bir oyun motoru ise 2012 yılında geliştirilmeye
başlanılan Game Maker Studio 2’dir. Temel düzeyde kullanımı ücretsiz olmakla birlikte, profesyonel destek, ileri düzey araç ve kütüphane desteği gibi hizmetler içeren ileri düzey lisanslama için ücret talep etmektedir. Kendi programlama dili olan GML (Game Maker Language) ile kullanılmaktadır. Sürükle bırak özelliğiyle kullanılabilen bu dil, kolaylığı ile tasarımcılar açısından önemli bir tercih sebebidir. Ayrıca daha basit kullanım yapısına sahip olan Blueprint desteği ile de hem yeni başlayanlar hem
de Blueprint kullanımını bilenler tercih edebilir.

Game Maker Studio 2’nin avantajları ve dezavantajları nelerdir?

Avantajları;
• Görsel araçları hızlı bir tasarım olanağı sunmaktadır. Bu açıdan basitlik ve kolay kullanım sağlayan tasarım genel avantaj olarak
ifade edilebilir.
• Diğer oyun motorlarının çoğunda olduğu
gibi Windows, Android, iOS ve Linux başta
olmak üzere çok sayıda platforma uygun tasarım desteği sunmaktadır.
• Topluluk ve eğitim gibi çok yönlü destek
olanağı bulunmaktadır.
Dezavantajları;
• Game Maker Studio 2 için bazı özelliklerinin karmaşık olduğu ve ilk kullanım süreçlerinde öğrenmenin zor olduğu yönünde
eleştiri yapılmaktadır.
• 3B oyunların tasarımı konusunda sınırlılığa
sahiptir.
• Tam özelliklerine sahip olmak için ücretli
versiyonunu kullanmak gerekir.

Bu ünitenin sorularını uygulamada çözŞıklar, doğru cevaplar ve süreli sınav modu AÖF Soru Bankası uygulamasında