Oyun yapmak için ne gerekir?

Önerim "at0m" izlemendir. Oyunbaz isimli kanalını 6 senedir izlerim güzel adamdır.
 
Diyelim ki ben bir oyun yapmak istiyorum. Senaryo hazır ama ne ile yapacağım hangi uygulama aracılığı ile hangi kodlama dillerini kullanarak nasıl yapacağım? Merak ettiğim bir konu ayrıntıları ile anlatırsanız sevinirim.
Gereken yazılımlar:
*Oyun motoru
*Modelleme/Çizim programı
*Sesler için bir program
*Kod yazmak için bir program (IDE)

Gerekenler:
*Kod
*Modelleme/Çizim
*Ses/müzik

Oyun motoru:
Birçok oyun motoru var ama araştırarak bunların arasından size en uygun olanı seçmelisiniz.
Unreal, Unity, Godot, CryEngine... gibi birçok oyun motoru var.
Unreal: Bizzat kullanmadığım için hakkında çok bilgim yok ama şablon sisteminden (blueprint) çok bahsediliyor. Grafik konusunda yardımcı olabilir. Güzel ve sık kullanılan bir motordur.
Unity: En büyük artısı topluluğu, kullanan kitle devasa boyutta. Mobil oyun konusunda en çok tercih edilen oyun motoru olmasının yanı sıra gayet güzel işler çıkarabilirsiniz.
Godot: Açık kaynak kodlu, kaliteli bir motor. 2 boyutlu oyunlarda en iyi tercih olacaktır diye düşünüyorum. 3 boyutlu oyunlar da yapabilirsiniz.
CryEngine: Grafik konusunda yardımcı olur. Oyun motoru ile 3 boyutlu güzel oyunlar yapabilirsiniz. Tek sakıncası var o da kullanan kitle biraz küçük.

Modelleme/çizim programı:
3 boyutlu modelleme için Blender en iyi seçim olacaktır. 2 boyutlu bir oyun için çizim programı konusunda en çok Photoshop ve diğer Adobe uygulamaları çok kullanılıyor, bunların dışında Inkscape ve Gimp de gayet güzel ve kaliteli programlardır.

Ses/müzik:
FL Studio ve LMMS programlarına bir bakın.


Basit bir oyun yapmak çok zor değil fakat belli bir kalitenin üzerine çıkabilmek için bir ekiple çalışmak şart gibi bir şey. Bir kişi olarak hem kod, hem tasarım, hem ses kısmını iyi bir şekilde yapmak zor iş. O yüzden bir ekip kurarak iş bölümü yapmak çok daha mantıklı olacaktır.
 
C++ veya benzer bir dil bilmelisin.
Bir oyun motoru seçmelisin.
Modelleme yapmayı bilmeli veya paylaşılan modelleri bulup oyununa eklemelisin.
Bölüm tasarımı yapmayı bilmelisin.
Ses tasarımı yapmayı bilmeli veya paylaşılan sesleri oyununa eklemelisin.
Eğer ki oyun deneme yapımı değilde para kazanma amaçlı ise reklam yapmayı bilmelisin.
Fiyatlandırmayı bilmelisin.
Hikayeyi oyuna nasıl yedireceğini bilmeli ve hikaye anlatım tekniklerine hakim olmalısın.

Buradaki yazdıklarımdan daha fazla bilgi sahibi olman gerekiyor fakat aklıma gelenler bu kadar.
 
Game Development konusunda henüz yeniyseniz Unity Game Engine tercih etmeniz en iyi seçenek olacaktır. Yazılım dilinin C# olması dolayısıyla çok rahatlarsın. Zaten mobil piyasayı da Unity domine etmiş durumda.

Dersen ki büyük kitlelere "open world(açık dünya)" oyunu yazacağım ve optimizasyon benim için çok önemli, o halde C++ farz olur ve Unreal Engine işini görür.
C++, C#'a nazaran low level bir dildir ve zordur da haberin olsun.

Kişisel fikrim Unity tercih etmen. Çünkü C# kullanımı kolay bir dil olmasının yanında, Unity'de kendini gerçekten geliştirmiş ve geliştirmeye de devam eden bir oyun motoru.
Hangi oyunlar hangi oyun motoru ile yapılmış araştır ve bu oyun motorlarının ticari politikasına bak. Bahsetmiş olduğum bu oyun motorlarında yazılan oyunlar belirli bir kitleye ulaştığı zaman kazancının belli bir yüzdesini alıyor. Bunları da araştırmakta fayda var.
 

Geri
Yukarı