Tasarım Araçlarını Tasarlamak BCO 623 Mehmet Han ALGEN
GENEL BAKIŞ İyi bir oyun geliştirmenin püf noktası oyun için ilgi çekici bir içerik oluşturmaktır. Oyun geliştiren bir takımsa ilgi çekici bir içerikten çok iyi tasarlanmış ve güçlü oyun geliştirme araçlarına ihtiyaç duyarlar. Bu yüzden iyi bir oyun tasarlamak demek iyi tasarlanmış oyun geliştirme araçlarıyla alakalıdır. Bu araçlardan en önemlisi programcıların oyunun kodlarını ve grafiklerini derlediği, sanatçılarınsa oyunun görsellerini geliştirdiği ortam olan seviye editördür. Oyun geliştiriciler tarafından geliştirilen bu editör, Seviye tasarımcısının bu editorü etkin kullanabilmesi ve en iyi oyun dünyasını yaratabilmesi için işini kolaylaştırmasında büyük önem taşır. Tabi her oyunda level editör yoktur. 1980 lerin başlarında geliştirilen Missile Command ya da Space Invaders gibi arcade oyunlarda seviye yoktu. Defender ve Tempest gibi oyunların geliştirilmesinde ise seviyeeditörüne ihtiyaç duyulmamıştır. Günümüz oyunları ise gelişmiş seviyelerden oluşmaktadır ve bu seviyeleri tasarlamak için seviye editörü kullanmak kaçınılmazdır.
Seviyeyi Görselleştirmek Bir oyun dünyası yaratmaktaki en önemli faktör, tasarımcının yarattığı dünyayı anlık olarak görebilmesi ve üzerinde geliştirme yapabilmesidir. Oyun editörünün en önemli özelliği oyuncunun oyunda göreceklerinin bu ekranda görülebilmesidir. Tasarımcı oyuncu görünümü penceresinde kamerayı istediği gibi hareket ettirip seviye editörü penceresi yerine bu pencereden istediği değişikliği yapabilmesidir. Tasarımcının editör penceresinde gördükleriyle oyuncuun oyunda gördüklerinin farklı olması oyunun kötü görünmesine sebep olabilir. Örneğin editörde ışık ve gölgenin görülmemesi tasarımcının herşeyi tahmin ederek tapmasını gerektirecektir. Bu tür kısıtlamalar içerisinde ışık ve gölgelerin olduğu bir oyunda kabul edilemez. Oyuncu görünümü modu ekleme çıkarma yapmak için herzaman en iyi görüntü seçeneği değildir. Genelde üzst görünüm mounda olan ekleme çıkarma görünümü modu döndürülebilir, tel görünüm, ve çoklu görünüm modunda da olabilir. Starcraft gibi izometrik görünüme sahip oyunlarda tek bir oyuncu görünümü modu tek başına yeterli olmuştur.
Büyük Resim Oyuncu görünümünde oyuncunun oyunda gördüklerinin yanısıra ekstra özelliklerde görebilmesi önemlidir. Örneğin içine yaratıklar olan bir oyunda oyuncu görünümünde bu yaratıkların oyunda takip ettikleri çizgileri görebilmesiseviye özellikleri hakkında anahtar rol alır. Bu ekstra özellikler çoğunlukla editör görünümünde bulunur. Bu özelliklerin oyuncu görünümünde de görülebilmesi taasarımcıya hassa çalışabilme imkanı verir. Fakat oyuncu görünümü modunda ço fazla özellik olması tasarımcı için kafa karışıklığı yaratabilir. Buna engel olmak için bu özelliklerin istenildiğinde açılıp kapatılabiliyor olması gerekir.
Oyuna Giriş Oyuncunun bir karakteri yönlendirdiği oyun türlerinde, karakterin hareketlerinin tasarımcı tarafından hissedilebilmesi önemlidir. Böylece karakterin tam olarak nerde zıplaması gerektiğini, merdivenleri nasıl rahatça çıkabileceğini kesin olarak bilebilmektedirler. Tasarımcının oyunu oyuncu görünümü modunda oynayabilmesi önemlidir. Tasarımcılar yaptıkları değişikleri test etmekdaha sonrada herşeyin oynanmadan önceki yerinde kaldığı tasarım ekranına dönmek ister. Eğer bu süreç uzun olursa tasarımcı herşeyi test etmek istemeyebilir. Test aşaması oyun geliştirilirken oyunu en iyi hale getirmek için önemli olduğundan editörün tasarımcının isteklerine karşılık verebiliyor olması gerekir.
Oyun Dünyasını Düzenlemek Bir oyun geliştirmenin en iyi yolu editorlerle 3ds Max gibi paket programlarının birlikte kullanılmasıdır. İyi bir takım neyi nekadar kullanacağını bilerek hem gereksiz araçlar geliştirerek zaman kaybından kurtulur, hem de tasarımcının editor icinde fazladan efor harcamasının önüne geçer. Bazı takımlar tüm objelerini bu paket programlarda oluşturular ve editörler sadece bunları içerisinde yerleştirmeye yararlar. Fakat bu işlemler geometrilerde deformasyona yol açabildiği için oyunun kötü görülmesine neden olur. Tasarımcının tüm işlemleri editörde yapmasının beklenmesi yanlıştır. Tasarımcılar objelerini yaratmakta istediği programı kullanmakta özgür bırakılmalıdır.
Script Dilleri ve Obje Davranışları Günümüzde tasarımcıların oyundaki düşmanlar, silahlar gibi oyun davranışlarını istedikleri gibi programcıya ihtiyaç duymadan ayarlayabilecekleri sistemler standart hale gelmeye başlamıştır. Script dilleri tüm sistemlerde çalışabildiği için avantajlıdır. Bu yüzden script sistemi C de proglamlamaktan çok daha faydalıdır. En büyük avantajlarından biride gamaplayin dengelenmesinin basitleştirilmesi. Programcı bir çok kodu yazdıktan sonra derlenmesini beklemek zorunda kalırken, tasarımcı script değişkenleriyle oynayarak derlenmesini beklemeden oyunu çalıştırabilir.
Programlamacılar ve Tasarımcılar Bir oyun için araçlar geliştirmek tasarımcıyla programlamacıyı karşı karşıya getirir. Programlamacıdan araç geliştirmesi istenildiğinde bu konuda çok istekli olmaz. Araç geliştirmektense oyunun içinde rol almayı ister. Bir araç programlamacısı tasarımcının işini kolaylaştıran araçlar geliştirdiği için kendisiyle gurur duymalıdır. Tasarımcıda bunun farkında olup programlamacıyı takdir etmelidirler.
İyi Bir Seviye Editörü Bir seviyr editörünün tüm hatalarından arınmış olmasına gerek yoktur. Tasarımcı bir editöre adapte oluktan sonra hataların ne olduğunu bilir ve bunlarla nasıl başaçıkabileceği hakkında fikri olur. Bazı iyi geliştirilmiş editörler oyunla birlikte oyuncuya ulaştırılarak oyuncunun kendi seviyelerini geliştirmelerine olanak sağlar. Oyuncunun uzun süre sıkılmamadan oyunun oynayabilmelerine olanak sağlar.