TASARIM ARAÇLARINI TASARLAMAK Tülay DARGUT BTÖ 716 – Eğitsel Bilgisayar Oyunları Tasarımı
Başlıklar Giriş İstenilen İşlevsellik Seviyenin Görselleştirilmesi Büyük Resim Oyunun İçine Atlama Dünyayı Düzenlemek Programlama Dilleri ve Nesne Davranışları Onlara Karşı Biz Amaçların En İyisi Tüm Zamanlar İçin Bir Oyun Editörü
Giriş İyi bir oyun geliştirmen için ilgi uyandıran bir içerik oluşturmak gerekir. İyi bir içerik oluşturmak için de tasarım ekibi, iyi tasarlanmış oyun oluşturma araçlarına gereksinim duyar. Dolayısıyla iyi bir oyun tasarlamak, iyi oyun oluşturma araçlarını tasarlamaya bağlıdır.
Giriş En yaygın kullanılan oyun oluşturma aracı “Seviye Editörü”dür. Her oyun seviyelerden oluşmak zorunda değildir. 1980’lerin başında geliştirilen Missile Command ya da Space Invaders gibi oyunlar seviyelerden oluşmuyordu. Missile Command Space Invaders
Giriş Defender ya da Tempest gibi o dönemden seviyeye sahip olan oyunlar için de gelişmiş seviye editörlerine gereksinim duyulmuyordu. Defender Tempest
Giriş Çoğu modern oyun gelişmiş seviyelere sahiptir. Bu seviyeler, şekil üzerinde çok büyük bir etkiye sahip olan ve oyun mekaniğini biçimlendiren seviyelerdir. Bu oyunlar, geliştirme takımının, seviye tasarımcılarının oyun dünyasını oluşturabileceği bir editör yaratmasına gereksinim duyarlar.
İstenilen İşlevsellik “Bir seviye editörü ne tür işlevsellikleri kapsamalıdır?” Sorusuna yapılan birkaç öneri şu şekildedir: Tüm önemli işlevlere ilişkin kısa yol tuşlarına sahip olmalıdır. Farklı tasarımcıların kullanma gereksinimi duyduklarında tercihlerine göre açıp kapatabilmelerine olanak tanıyan yapılandırılabilir ayarları olmalıdır. Tasarımcının saatlerce kullanabileceği şekilde kilitlenmeden çalışabilmelidir.
Seviyenin Görselleştirilmesi Bir dünya yaratma aracı, tasarımcının üzerinde düzenlemeler yaparken eş zamanlı olarak oluşturduğu dünyayı görmesine olanak tanımalıdır. Tasarımcı kamerasını kolay bir şekilde hareket ettirebilmelidir. Böylece, çalışırken harita üzerinde görmesi gereken bölüme hızlı bir şekilde geçiş yapabilir. Bu hareket en iyi, tasarımcının döndürme tuşları ve basit hareketlerle kamera pozisyonunu kontrol edebildiği basit bir uçuş modu ile gerçekleştirilebilir. Tasarımcının editörde gördüğü ile oyunda gösterilecek olan arasında fark olmamalıdır. Çünkü her farklılık, oyunun çok daha kötü görünmesine sebebiyet verecektir.
Seviyenin Görselleştirilmesi Seviye editörleri çoğunlukla oyuncunun gördüğü ekrana ek olarak bir de “Düzenleme Ekranı”na gereksinim duyarlar. Düzenleme ekranının amacı, tasarımcının oyuncu ekranında gördüklerini kolay bir şekilde değiştirmesine ve şekillendirmesine olanak tanımaktır. Bu nedenle editör her iki ekranın da eş zamanlı olarak görünmesini sağlamalıdır.
Seviyenin Görselleştirilmesi Bazı durumlarda ayrı ayrı editör ve oyuncu görünümüne gereksinim olmayabilir. Örneğin, Odyssey: The Legend of Nemesis ya da StarCraft oyunlarında olduğu gibi, oyuncu ekranı seviyelerin düzenlenmesi için mükemmel bir şekilde yerleşmiş olabilir. Odyssey: The Legend of Nemesis StarCraft
Büyük Resim Tasarımcıya gösterilecek olan oyuncu ekranının, her zaman tam olarak oyuncunun gördüğünü yansıtması gerekmez. Bu görüntünün, tasarımcıya seviyeleri oluşturmasında destek olacak, ek bilgileri de kapsaması daha yararlı olabilir. Örneğin, önceden belirlenmiş yollardan geçen çeşitli yaratıkların olduğu bir oyunda, tasarımcıya bu yaratıkların izleyecekleri yolları gösteren ek görüntüler tasarımcının işini kolaylaştırabilir.
Büyük Resim Çoğu seviye editöründe bu bilgiler tasarım görünümünde vardır fakat oyuncu görünümünde bulunmaz. Bu bilgilerin iki görüntüde de yer alması daha anlamlıdır. Elbette oyuncunun gördüğü ekran, her zaman bu tarz bilgilerle dolu olmamalıdır. Bu nedenle tasarımcıya, istediği özelliği açıp kapama imkanı sağlanması daha yaralı olacaktır.
Büyük Resim Yolların görünmesi gibi, tasarımcının oyundaki tetikleyicileri ve normalde görünmeyen nesnelerin görünürlüğünü açıp kapatabilmesi de yararlı olabilir. Benzer şekilde tasarımcının, oyundaki nesnelere ilişkin sınırlayıcı bilgileri de görebilmesi oldukça yardımcı olacaktır. Böylece tasarımcı, sınırlayıcı bilgilerin, oyuncuların ve NPC’lerin oyunda gezinme becerilerini nasıl etkileyeceğini kolaylıkla gözlemlemiş olur. Tüm bunların kısayol tuşlarıyla kontrol edilebilmesi tasarımcının ihtiyaç duyduğu anda kullanabilmesini sağlar.
Oyun İçine Atlama Oyuncuların bir karakteri yönlendirdiği oyun türlerinde, tasarımcının bu hareket hissinin nasıl olduğunu bilmesi önemlidir. Bu nedenle, oyuncunun ekran görüntüsünü görme imkânına ek olarak, tasarımcının gerçekten oyundaymış gibi hareket etmesini sağlamak yararlı olacaktır. Bu sayede tasarımcı, oyuncunun sıçrama, dönme ya da düzgün bir şekilde merdiven çıkma gibi becerilerini test edebilir.
Oyun İçine Atlama Marathon oyununun motor editörü “Vulcan” tasarımcının, oyundaki hareket hissini yaşamasını sağlayacak bir görüntü moduna sahipti. Editörün eksik yönü, bu görüntüde, tasarımcıya oyunun dokusu ve ışık düzenleri dışında bir düzenleme yapma olanağı tanımıyordu. Günümüzde ise her editörde, bu görünümün diğer görünümler ile eş-zamanlı olarak fare yardımıyla ya da kısayol tuşlarıyla açılabilmesi beklenmektedir.
Oyun İçine Atlama Bir sonraki adım, tasarımcıya oyuncu görünümünde oyunu gerçekten oynamasına izin vermek olacaktır. Tasarımcılar verilen bir durumda seviyeyi hızlı biçimde test etmek ve hemen ardından oynanmamış duruma geri dönmek isterler. Bunu başarmanın en iyi yolu da tasarımcının hızlı biçimde test moduna girmesine izin vermek ve çabucak çıkarak seviye editörüne girmesini sağlamaktır.
Oyun İçine Atlama Oyunun başarı ya da başarısızlığı, büyük oranda oyunun test edilmesine ve dengelenmesine bağlıdır. Oyunun test edilmesi, sadece hataların incelenip düzeltilmesi değil, aynı zamanda oyuncuların ilgisini canlı tutmak ve oyunu zevkli kılmak adına yapılan değişikliklerdir. Test aşaması, en iyisi olana kadar tekrar eden bir süreç olduğu için zor bir süreçtir ve editörün bu konuda tasarımcıya yardımcı olması beklenir. Örneğin her seferinde baştan başlamak yerine tasarımcının test etmek istediği yerden başlaması büyük kolaylık sağlar.
Dünyayı Düzenlemek Bir seviye editörünün, tasarımcıya bir seviyenin tüm kritik özelliklerini düzenlemesine olanak sağlaması önemlidir. Bazı takımlar, tüm dünya geometrilerini oluşturmak için 3D MAX gibi paket programlar kullanıp, sonrasında sadece oluşturdukları modellerin oyun ortamına aktarılması ve öğelerin ya da NPC’lerin yerleştirilmesi için bir seviye editörü geliştirirler.
Dünyayı Düzenlemek Ancak, tasarımcı oluşturduklarını haritada yerleştirirken, eş zamanlı olarak geometride değişiklik yapma gereksinimi duyabilir. Bu nedenle grafikleri hazır programda geliştirmek, tam özellikli bir editörün sağlayacağı kadar iyi seviyelerle sonuçlanmayacaktır. Tasarımcı grafikler üzerinde yapacağı her türlü değişiklik için 3D MAX programını tekrar açıp düzenlemeyi yaptıktan sonra tekrar editör yardımıyla grafiği oyun ortamına aktarmak zorunda kalmaktadır.
Dünyayı Düzenlemek Bununla beraber 3D MAX gibi modelleme programları, tasarımcıya bir düzey editörüne oranla daha kaliteli modelleme yapma imkanı da sunmaktadır. Bu yüzden tasarımcıları, bütün modellemeleri düzey editöründe yapmaları için zorlamak büyük hata olacaktır. Tasarımcı, üzerinde düzenleme yapmaya gerek duymayacağı silah, ağaç, çöp kutusu gibi modelleri tercih ettiği bir paket programda geliştirmelidir.
Programlama Dilleri ve Nesne Davranışları Oyunlar için, tasarımcıların gereksinim duydukları düşman, silah ve diğer oyun davranışlarını, bir programcı olmadan ayarlayabilecekleri ve dengeleyebilecekleri bir sistem kullanmak standart haline gelmeye başladı. Şimdilerde bir çok oyun, basit olmasına rağmen oyun motorunda tekrar derlenmesine gerek olmadan kompleks nesneler oluşturabilen programlama dilleri içeriyor.
Programlama Dilleri ve Nesne Davranışları Programlama dilleri oyunun gelişimi için bir çok yarar sağlamaktadır. En önemlilerinden biri, oyunda özgün davranışların oluşturulmasını desteklemesidir.
Programlama Dilleri ve Nesne Davranışları Düzgün biçimde tasarlanan senaryo sisteminin bir büyük faydası diğer sistemler için tamamen taşınabilir olmasıdır. Programlama dillerinin en büyük avantajlarından biri de oyun mekaniğini basit bir şekilde dengelemesidir. Programcının bir çok kodu değiştirip yeniden derlemesi yerine tasarımcı bir değeri değiştirerek hemen oyunu çalıştırabilir.
Onlara Karşı Biz Bir proje için araç geliştirme süreci genellikle programcılarla tasarımcıları karşı karşıya getirmektedir. Oyun programcıları çeşitli nedenlerden dolayı araçlar üzerinde çalışmada isteksizdirler. Çünkü oyun üzerinde çalışmak isterler. Programcı önemli ölçüde, güzel seviyelerin yaratılmasını kolaylaştıracak iyi tasarlanmış ve iyi uygulanmış bir seviye editöründen sorumludur. Seviye editörünün özellikleri eksik olursa, tasarımcı manzara ya da yapıları oluşturamayacaktır. Bu nedenle tasarımcı sürekli programcıya hatırlatmalar yapmalı ve çabalarından dolayı programcıyı takdir etmelidir.
Amaçların En İyisi Bazen programcılar editöre işlevsellik kazandıracak eklemeler için görevlendirildiğinde, sonuçta kimsenin işine yaramayacak bir özellik ekleyebilirler. Çünkü oyun seviyelerini oluşturmadıkları ve dolayısıyla oyun seviye editörüyle çok fazla çalışmadıkları için editörde neyin eksik olduğunu tam olarak bilemezler. Bu nedenle tasarımcılar ve programcılar editörün hangi özelliklere gereksinim duyduğu ve nasıl en iyi şekilde uygulanabileceği hakkında iletişim halinde olmalıdırlar.
Amaçların En İyisi İyi bir araç oluşturmayı kolaylaştırmak için uygulanabilecek bir başka teknik de, bir programcıyı seviye editörünün geliştirilmesi ve sürdürülmesinden birinci derece sorumlu olarak görevlendirmektir. Böylece, programcı araç geliştirmede uzmanlaşır, tasarımcılar araç geliştirme hakkındaki fikirlerini hangi programcıya ileteceklerini bilir ve programcı da tasarımcıların neyi sevip sevmediği hakkında tecrübe kazanır.
Amaçların En İyisi Diğer kullanışlı bir taktik ise, gerçekten aracı eksiksiz, basit bir seviyede kullanan bir programcıya sahip olmaktır. Bu yolla programcı kolay bir şekilde editör içinde geliştirme için alanları değerlendirebilir ve tasarımcının haftalar sonra neden şikâyet ettiğini anlayabilir. Bunların dışında en iyi çözüm, tasarımcı/programcı kişilerle çalışmak olabilir.
Tüm Zamanlar İçin Bir Oyun Editörü Eğer bir projede kullanılan araçlar yeterince iyiyse, bir oyunun seviye editörünü oyuncuların kullanımına sunmak iyi bir yol olabilir. Çünkü bu sayede oyun meraklıları oyun içerisinde bazı değişiklikler yapacak ve oyundan uzun süre sıkılmayacaklardır. Hazırladıkları araçları binlerce oyun severin kullanacağı ihtimali programcıları daha iyi araçlar hazırlama konusunda cesaretlendirecektir.
Sonuç Bir oyun, yaratılmasında kullanılan araçlar kadar iyi olabilir. İyi tasarlanmış bir seviye tasarım aracı, büyük bir oyun ile alelade bir oyun arasında fark yaratabilir. Sonuç olarak, ideal seviye editörünü, mimarisiyle (oyuncunun gidebileceği yerler), estetik görünümüyle (aydınlatma, doku ve sesler) ve oyun mekaniğiyle(NPC, elemanlar ve diğer varlıkların yerleşimi, hareketi ve davranışı) tasarımcının tüm oyun kontrolünü elinde tutabildiği yer olarak açıklayabiliriz.
Dinlediğiniz İçin Teşekkürler