CHAPTER 21 TASARIM ARAÇLARINI TASARLAMAK BCO 623 EMRE GÜLER
GENEL BAKIŞ İnsan alet kullanan bir hayvandır Aletsiz hiçbir şeydir, araçlarıyla ise her şey. Thomas Carlyle - İyi bir oyunun gelişmesinin ayrılmaz bir parçası, o oyunu cazip bir içerik ile yaratmaktır. - Üstün bir içerik oluşturabilmek için tasarım ekibinin iyi tasarlanmış oyun oluşturma araçları ile donatılması gerekmektedir. Bu nedenle iyi bir oyun tasarlamak, iyi tasarlanmış oyun geliştirme araçlarıyla oluşturulur. - İyi bir oyun yaratmanın en önemli özelliği tasarım ekibinin bir oyun editör(level editör) kullanmasıdır.
Level Editör İşlevsellik - Kullanışlı olmalıdır. - Kısayol tuşlarına sahip olmalıdır. - Bir tasarımcının editörün kilitlenmeden saatlerce kullanılabilecek kadar kararlı olmalıdır. - Farklı tasarımcıların, tercih ettikleri özellikleri istedikleri gibi açıp kapatmalarını sağlayan, yapılandırılabilen bir çok ayar olmalıdır.
Görselleştirme - Bir dünya yaratma aracının(editör) en önemli özelliği, tasarımcının yarattığı dünyayı görmesine izin vermek ve o dünya içerisinde değişiklik yapmasına olanak sağlamasıdır. - Genellikle bu gördüklerimiz What You See Is What You Get (WYSIWYG) oyuncunun görüşü olarak adlandırılır. - Tasarımcı seviye editöründe haritanın bir bölgesinde görmek zorunda olduğu bir objeye hızlıca geçiş yapabilmelidir. Bu hareket basit ve hızlı olmalıdır. Bu hareketi dönüş tuşlarını kullanarak kameranın konumunu kontrol edebilen flight moduyla en iyi şekilde gerçekleştirebilir. Editör daima tasarımcını kısıtsız bir şekilde oyun dünyasında gezmesine izin vermelidir. - Tasarımcının editörde gördüğü ve oyuncunun oyunda gördükleri şeylerin farklı olması, seviyelerin kötü görünmesine neden olur. - 3D oyunlarda oyun editörlerinde kullanılan perspektif kamera açısı dışında X ekseni, Y ekseni ve Z ekseni açıları da olmalıdır.
Görselleştirme Valve'nin Quake motor oyunları için hazırladığı Worldcraft editörü, bir oyuncunun görüşüne ek olarak bir "tri-view" içerir.
Büyük Resim - Oyunun seviye editörünün, tasarımcının seviyeyi son oyunda görebileceği kadarıyla görmesinin önemli olduğu savunulur ancak, oyuncunun tam olarak her şeyi görmesi gerekmez. - Level editörler tasarımcılara kolaylık imkanı sunmalıdır. Örneğin; geliştirilen bir oyun içerisinde çeşitli canavarların nerede görüleceği, izleyeceği yollar ve bunların nerelerde tam olarak nasıl çalışacağını kolay bir şekilde kontrol etmesini sağlamalıdır. - Oyuncunun ve NPC lerin oyun dünyasında gezinebilmeleri ve oynatıcının nereye gidebileceğini ve gidemeyeceğini işaretlemek oldukça yararlı olacaktır. Bu işlevselliğin kolay kullanımı kısayol tuşları, menü veya buton ile kolayca açılmalı ve kapatılmalıdır. Centipede 3D örneği
Jumping into the Game Oyuna başlarken - Tecrübeli bir oyun tasarımcısı, oyunların başarılı olup olmayacağını anlamak için oyunun test edilmiş ve dengeli olmasına bağlı olduğunu söyleyecektir. Uygulanan oyun iyice test yapılmazsa, oyunun tasarımı bile tamamen yok olabilir. - Test sadece hataları gidermek için yapılmamalıdır. Oyun testi, bir oyunu denemeyi, onu değiştirmeyi, sonra tekrar denemeyi ve oyun eğlenceli hale gelene kadar bu döngüyü yinelemeyi içeren yenilemeli bir süreç olmalıdır. - Level editörler oyunun seviyelerinin değiştirilmesini kolaylaştırmazsa oyun testi ile döngüyü tekrarlamak ve daha sonra tasarımcının neyin değiştirdiğini görmesini sağlamazsa seviye döngüsü tasarımcılar için zor olabilir ve oyunu dengelemek için ihtiyaç duyduğu zamana sahip olmayabilir.
Dünyayı Düzenleme - Bir oyun için en iyi geliştirme araçları, piyasaya çıkan programların ve editörlerin hassas bir karışımından oluşur. İyi bir ekip her birinin ne kadarının kullanılacağını iyi bilir. Seviye editörleri ve bağımsız model ve animasyon programlar ile bir ara da bir ekip tarafından kullanılabilir. Bağımsız programlar olarak, 3Dsmax, maya 3d vb. örnekler verilebilir. - Dezavantaj; ekip içerisinde iyi bir haberleşme sağlanamaz ise zamandan kayıp olabilir. - Avantaj; bir oyun sadece seviye editörleri tarafından düzenlemek hem tasarımcı hem de programcı için yavaş ve zorlayıcı bir yoldur. Bunun için dışardan destek alınması gerekir.
Dünyayı Düzenleme
Dünyayı Düzenleme
Script ve Obje Davranışları - Oyunların, tasarımcıların düşman, silah ve diğer oyun davranışlarını ihtiyaç duydukları gibi kurmaları ve oyunu dengelemeleri için programcı kullanmadan bir sistem kullanmak standart bir hale geldi. - Bir çok oyun script dillerini içeriyor. Bu betik dil, oyun gelişimine birçok avantaj sağlamaktadır. En önemlileri oyunda daha özgün davranışların yaratılmasını teşvik etmeleridir. - Script dillerini öğrenmek kolaydır. - Düzgün tasarlanmış bir komut dosyası sisteminin en büyük yararı, diğer sistemlere tamamen taşınabilir olmasıdır. Bu bağlamda sağlam bir betik dili, C programlamaya göre daha kararlıdır. - Tüm sistem, düz ingilizce ile yazılan komutlarla, ilk kez ona bakan birinin kolaylıkla anlayacağı düşünülür.
Script ve Obje Davranışları
Programcı * Tasarımcı - Bir proje geliştirilmesinde genellikle programcılar ve tasarımcılar arasında bir savaş gerçekleşir. - Bir çok programcı bir oyunu yaparken, veritabanlarını, e-tabloları ve 3D modelleme paketlerini programlamak istemezler. Oyun yapmak isterler. - Çoğu programcı oyunu geliştirirken «ben araçlar üzerinde çalıştım» cevabını vermek istemez. - Tasarımcı ve programcı iyi bir etkileşim içerisinde çalışmalıdır.
Level Editör - İyi bir seviye editörünün hatasız çalışması gerekmez. Önemli olan hataları bulunan seviye editörünün hatalarının tahmin edilip tasarım ekibinin bu hatalarla birlikte çözüm yollarını bularak editörü kullanabilmeleridir. - Bir tasarımcı bu araçları ustalıkla kullanarak neyi yapıp yapamayacağını bilmelidir ve hataların üstesinden gelmelidir. - Bir seviye editörünü kullanıcılara bırakma olasığı, programlama ekibini mümkün olan en iyi araçları yaratmaya teşvik eder. - İyi tasarlanmış bir seviye editörü ile yapılan oyunlar farkını gösterir. Mükemmel bir oyun ile, vasat bir oyun arasında ki farkı ortaya koyar. - İdeal bir oyun editörü, tasarımcının oyun dünyasını tamamen kontrol ettiği bir yer olarak düşünülebilir. - Oyun mimarisi (oyuncunun gidebildiği yer), estetik görünümü (aydınlatma, doku oluşturma ve sesler) ve Oyun (NPC, öğe ve diğer varlık yerleşimi, hareket ve davranış).