Nasıl yapılıyor bu oyun dedikleri?
Katıldığım etkinliklerde tarafıma gelen sorulardan bu konuları belirlemeye çalışıyorum. Gelen soruları analiz etmeye çalıştığımda katılımcıların oyun geliştirme sürecine tam anlamıyla vakıf olmadığını fark ettim. Naçizane bilgilerimle bu yazımda oyun geliştirme sürecine ve sizin bu süreçte hangi alanlarda yer alabileceğinize değinmek istiyorum.
Öncelikli olarak oyun geliştirme sürecinin multidisipliner bir iş olduğunu belirtmeden edemeyeceğim. Neyse saat tam 12:30 ve ben biraz acıktım :) Hazır acıkmışken yazımın arasına sizler için güzel bir çoban salata tarifi sıkıştırmayım. :)
Malzemeler;
- 1 orta boy kuru soğan
- 2 adet salatalık (veya 4 küçük boy)
- 4 adet domates
- 2 adet sivri biber
- 1 adet limon
- 1 adet maydanoz
- 2 yemek kaşığı zeytin yağı
- Tuz
Hazırlanışı;
Malzemeleri ince ince doğrayın ve yağ, limon ve tuzu ekleyin. İyice harmanladıktan sonra servis edebilirsiniz. Afiyet olsun.
Tabi işin esprisi bir yana (şaka maka kaptınız güzelim tarifi :) ) multidisipliner gibi şaşalı kelimelerden biraz uzaklaşıp kendim olacak olursam. Ben oyun geliştirme sürecini yukarıda ki resimde görüldüğü üzere lezzetli bir salataya benzetiyorum.
Evet bir salata! Peki ama neden?
Yukarıda ki tarifte görüleceği üzere bir salatayı yapmak için sekiz farklı malzeme ve dolayısı ile bu sekiz malzeme ile çalışılacak sekiz sürece ihtiyaç duyuyoruz. Bir oyunu geliştirme sürecide sıradan bir salatada olduğu gibi bir çok farklı sürecin bir araya gelmesi ile oluşuyor. Peki ama nedir bu süreçler dediğinizi duyar gibiyim. Bu süreçler temel olarak üç ana başlığa ayrılıyor. Bu üç ana başlığı pre-production, production ve post-production olarak nitelendiriyoruz. Bu süreçleri hep beraber örnekler üzerinden detaylandırılarak teker teker inceleyelim.
Pre-Production;
Açıkçası bu süreç Türkiye’de oyun geliştiren bir çok firma veya kişi tarafından yeteri kadar önemsenmiyor ve zaman kaybı olarak algılanıyor. Lakin ben bu süreci diğer iki sürecin sağlıklı yürütülebilmesi adına en önemli süreç olarak görüyorum.
Pre-Production yani ön yapım süreci bir fikirle başlıyor. Ama benim bir fikrim var diye hemen işe atlamaya kalkmayın. Bu fikri bulmak yada belirlemek sandığınız kadar basit değil. Siz her ne kadar hayalinizdeki oyunu yapmayı isteseniz de yapabileceğiniz oyunu belirleyen bazı faktörler var.
Bu faktörlere örnek verecek olursam basitçe;
- Ekibiniz kaç kişiden oluşuyor?
- Ekibinizin yetenekleri neler?
- Bütçeniz ne kadar?
gibi soruları kendinize sormanız gerekiyor. Takdir edeceğiniz üzere üç kişilik bir ekip ile Assassin’s Creed Unity yapmanız pratik olarak mümkün gözükmüyor. Üç kişilik bir ekiple daha küçük çaplı projelere girişmeniz gerekir. Aynı şekilde flash’a hakim bir ekipten AAA kalitesinde bir oyun beklemek boşuna bir hevestir. Tabi herşeyin başının para olduğu bir dünyada maalesef parasızda hiç bir şey olmuyor. Oyun geliştirmek başlı başına maaliyetli bir süreçtir. Bu maliyetlere başka bir yazımda detaylıca değineceğim için bu yazımda detaya girmiyorum.
Bu sorulara cevaplarınızı verdiniz ve bu oyunu yapabileceğinize ikna oldunuz. Artık oyun geliştirmeye başlayabilirsiniz. Lakin ilk grafiği çizmeden veyahut ilk satır kodu yazmadan daha yapılacak çok işler var.
Öncelikli olarak bu oyunu hangi hedef kitle ve hangi platformlar için yaptığınızı iyi kestirmeniz ve bunun üzerine çalışmanız gerekiyor. Acaba sizin hedef kitlenizin hedeflediği platformda böyle bir oyuna ihtiyacı var mı? Hedef kitleniz nasıl bir oyun istiyor ve sizin yapacağınız bu oyunu çıkarmayı amaçladığınız platformlar destekliyor mu? Bu oyunu çıkartmak için hangi teknolojilere ihtiyacınız var?
Yukarıda ki örneklendirildiğim gibi bu soruların mümkün olduğunca çoğaltılması ve detaylandırılması gerekiyor. Ve bu soruların en başta tüm ekiple aynı dili konuşmak adına bir dokümanda toplamak çok büyük önem arz ediyor. Biz bu dokümana oyun sektöründe oyun tasarım dokümanı adını veriyoruz.
Bu tasarım dokümanına göre oluşacak maaliyetlerinizi ve çeşitli gerekleri nereden nasıl temin edeceğiniz. Nakit akışını nasıl yöneteceğinizi içeren İş planı ve nakit akış planı gibi planlar sürecin sağlıklı yürümesi ve yaptığınız işi yatırımcıya anlatmanız için ekstra önem taşıyor. Lakin buna şu aşamada detaylı girmek istemiyorum. Tüm süreçlerde olduğu üzere bu süreçlerinde ayrı uzmanları ile çalışmak önem arz ediyor. İlerleyen zamanlarda bir oyun projesi işin iş planı nasıl yazılır konulu bir yazı yazabilirim.
Dönelim konumuza :) Oyun tasarım dokümanını hazırladıktan sonra bu doküman ışığında oyununuzun senaryosunu yazabilirsiniz. Işığında diyorum çünkü örnek olarak oyununuzla ilgili bir sinematik yada sahne tasarlıyorsunuz bu sahneyi yapacak ekibiniz var mı bütçeniz var mı teknolojiniz var mı gibi sorularla bunun yapılıp yapılmayacağına karar vermeniz ve buna göre senaryoyu yazmanız gerekecek. Bu süreçte oyun tasarım dokümanı size diğer her süreçte olacağı üzere rehberlik edecektir. Bu süreçte uzmanlaşmış kişilere senarist adı veriliyor.
Bu doğrultuda bir senaryo yazdınız. Artık kağıt üstünde oyununuzun bölümlerini tasarlamaya başlayabilirsiniz. Şuna önemle değinmek istiyorum. Katıldığım bir çok etkinlikte bölüm tasarım sürecinin oyunun haritalarının tasarlandığı süreç olarak algılanıyor. Ben ise bu süreci işin kağıt üstünde ki matematiksel süreci olarak değerlendiriyorum.
Kendi geliştirdiğim oyundan örnek verecek olursam 1453 yılında İstanbul’un fethi 1461 yılındaki Trabzon’un fethine avantaj sağlaması gerekir mi? Cevap evet ise ne gibi avantajlar sağlayacak. Bu avantajlar neler olacak? Oyuncu hangi sefer güzergahlarını kullanırsa avantajına olacak ve neden? Hangi birimler bu seferde daha önem teşkil edecek ve niçin? Oyuncu bu aksiyonları belirlerken hangi tuşları, kontrolleri ve arayüzleri kullanacak? Neden? gibi sorulara cevap vermeniz gerekiyor. Oyun Tasarım Dokümanında olduğu gibi bununda bir doküman haline getirilmesi çok büyük önem arz ediyor. Biz bu dokümana oyun sektöründe bölüm tasarım dokümanı adını veriyoruz. Bu süreçte uzmanlaşmış kişilere ise oyun tasarımcısı adı veriliyor.
Bu süreçte oyunun idari ekibi oyunun kimin dağıtacağı gibi idari işlemlerle uğraşmaya devam ediyor.
Bu adımları geçtikten sonra özetle ön yapım sürecini geçtiniz ve artık yapım sürecine başlayabilirsiniz.
Production;
Artık elimizde ihtiyaç duyduğumuz tüm sorulara cevap verdiğimiz bir oyun tasarım dokümanı ve bu oyun tasarım dokümanı ışığında yazılmış bir senaryomuz ve bölüm tasarım dokümanımız var. Bu süreçle beraber senaryomuz ve bölüm tasarım dokümanlarımız konsept tasarımcıların eline gidiyor ve bu güzel insanlar bizim için oyunun tasarım bütünlüğünü yaratıyorlar. Lütfen tasarım bütünlüğünü ibaresine dikkat edin. Tasarım demiyorum çünkü senaryoyu okuyan her tasarımcının zihninde muhakkak ki ayrı bir tasarım canlanıyor. Tasarımda bir bütünlük olması adına konsept tasarımcıların oyunun tasarım bütünlüğünü eskizler üzerine yaratması büyük önem arz ediyor. Tabi bu süreçte tüm ekibin kabul ettiği bir tasarım bütünlüğü yaratılması çok büyük önem arz ediyor. Bunun sebebi ise mümkün olan herkesin fikrinin alınarak oyuncular tarafından beğenilecek en doğru tasarım bütünlüğünü yaratmaktır.
Karakterler, çevre vb ile ilgili tasarım bütünlüğü yaratıldıktan sonra artık tasarımlarımız modelcilerin önüne gidebilir. Modelciler bu modelleri modelleye dururken biz programcılar arkada boş durmuyoruz. Oyunun yazılımsal sürecinde ihtiyaç duyacağımız araçları ve tasarım gerektirmeyen alanlarını yazıyoruz. Mesela pathfinding, kamera sistemi vb. Tabi bu süreçte pathfinding gibi sistemleri test ederken bu pathfinding ile çalışacak karakter ölçülerinde çok basit placeholder adını verdiğimiz modelcikleri istiyoruz.
Biz bunlarla uğraşırken modelciler biten modelleri veya karakterleri game texture artistlere gönderiyorlar. Bu süreci zihninizde şöyle tahayyül edebilirsiniz. Düşünün ki bu karakterler çıplak ve texture artistler bunlara birer kıyafet giydiriyor. Yada sıvasız bir eve sıva ve boya yapıyorlar.
Texture artistler bitirdikleri model ve textureleri eğer animasyoları varsa animatorlere gönderiyorlar. Burada mocap adını verdiğimiz motion capture yani hareket yakalama cihazları ile yada elle anime ediyorlar. Hareket yakalama sistemleri özetle bir kişinin üzerine giydiği bir elbise ile yaptığı hareketlerin aynen bilgisayara aktarılmasıdır. Genelde bu kişiler jest ve mimiklerini iyi kullanan tercihen tiyatroculardan seçiliyor. Şu ana kadar 3d bir oyun üzerinden konuştuğumuz farkındayım. 2d bir oyun yapıyorsak model ve animasyon sürecinin yerini tasarımlar ve varsa sprite animasyonlar alıyor.
Texture ve varsa animasyonları bitmiş modeller biz yazılımcılara geliyor ve biz bu objeleri diğer süreçlerle paralel geliştirdiğimiz kodumuza entegre ediyoruz. Tabi bir taraftan bu konu geliştirirken veya yeni özellikler eklerken çıkan sorunları ve kendi çapımızda gördüğümüz hataları vb düzeltiyoruz. Ve oyunumuz artık hadi mağazaya yükleyelim, satalım ve para kazanlım! Yuppiii!
Durun yapmayın öyle bir şey oyunun seslerini, sinematiklerini ve beklenti yaratma stratejilerini unuttunuz! Yazılım Tasarım süreçlerinin yanında ses , oyunun tanıtımı için ilgili çalışmalarda bu süreçte yapılmaya devam ediliyor.
Senaryonuzda bulunan diyaloglarla ilgili seslendirmeler, oyununuzun doğasına uygun müzikler ve sesler yine bu alanda tasarlanıyor. Ve yine yazılım ekibine gönderilerek oyuna entegre edilmesi sağlanıyor.
Aynı şekilde oyunuzun tanıtımlarını ile ilgili içerikler örnek olarak sinematikler diğer prodüksiyon süreçlerinde olduğu gibi hazırlanarak Halkla ve Basınla ilişkiler ekibinde doğru zamanlarda basına ve halka servis ediliyor. Temel olarak bu süreçten sonra artık oyunumuz oyun denilecek kıvama gelmiştir ve yapım sonrası aşamaya geçebiliriz.
Post-Production;
Bir oyunu teknik olarak bitirmek oyunu tam anlamıyla bitirmişsiniz anlamınıza gelmez. En uç örneği verecek olursam oyun bittiğinde oyunun spekülasyonlarının dahi hazır olması gerekir.
Bu süreçte produksiyon süreci bitmiş olan oyunumuz test gilidir. Bu büyük hataları özellikle oyunun çökmesi ve belirlenen konfigürasyon edilmeye başlıyor. Bu temel testler öncelikli olarak oyunun görünen büyük hataları ile il aralığında oyunun performanslı olarak çalışması olarak örneklendirirsem sanıyorum yanlış bir yönlendirme yapmış olmam. Bu testler çok daha fazla kriter adı altında genişletilebilir. Mesela Xbox ve Playstation’ın bir oyunu yayınlamadan önce uygulanması gereken testleri vardır. Bu testler hakkında ilerleyen dönemde bir yazı yazmayı düşünüyorum. Genelde bu testleri şirket içinde ki QA departmanı altında çalışan game testerlar tarafından yapılmaktadırlar. Bu testerlardan gelen geri dönüşler ile oyunda hata ile ilgili düzenlemeler ilgili birimce yapılır. Bu süreç oyun optimum halini alana tekrar devam etmektedir.
Oyun optimum halini aldığında oyun beta teste açılır ve daha geniş bir test grubu ile test yapılır. Bu sürecin amacı yüzlerce, binlerce farklı konfigürasyon ortamında oyunu test etmek ve oyunun bu olası konfigürasyonlarda hatasını tespit edebilmektedir. Test edilen bu hatalar beta kullanıcıları tarafından bildirilmekte ve QA sürecinde olduğu üzere beta testerlardan gelen geri dönüşler ile oyunda hata ile ilgili düzenlemeler ilgili birimce yapılmaktadır. Bu süreç oyun optimum halini alana tekrar devam etmektedir.
Oyunumuzu teknik olarak nihayete erdirdikten sonra produksiyon sürecinde başlayan beklenti yaratma stratejileri pazarlama stratejilerine dönüşüyor ve hedef kitlemizin ilgilendiği ortamlarda oyunumuzun reklam, tanıtım ve tutundurma çalışmaları yapılıyor. Örnek olarak Duke Nukem’i tarih forumlarında tanıtmak müşterinin ilgisini çekmeyecektir. Bir çok dergi ve oyun inceleme sitesine oyunumuzun gönderilip inceleme talep edildiği süreçte bu süreçtir.
Bu süreçten sonra ilgili kurumlarca oyunumuz derecelendirmesi süreci oluyor ve pre-production sürecinde yapılmış olan dağıtımcı anlaşması kapsamında oyunumuz dağıtılmaya ve satılmaya başlanıyor.
Hayırlı kazançlar dilerim. :)
Naçizane bilgim ve sabrım ile elimden geldiğince anlatmaya çalıştım. Muhakkak eksik bıraktığım yerler ve atladığım adımlar vardır. Gördüğünüz eksikleri ve hataları yorumlar kısmından bildirirseniz memnuniyet duyar ve hemen düzeltmeye çalışırım. Umarım faydalı bir yazı olmuştur. Bir sonraki yazıda görüşmek üzere sağlıcakla kalın.
Managing Partner at 3Cube Tech Care
5yThanks for sharing your valuable information, please check inbox.
Computer engineer specializing in game development
9yNot alarak okudum, çok faydalı bilgiler. Oyunlar için iş planı hazırlamaya yönelik yazınızı da sabırsızlıkla bekliyorum. Teşekkürler :)