plazma - amatör bilgisayar kültürü

Oyun Tasarımına Başlamak

Bilgem 'Nightlord' Çakır

Şimdi oyun yapmanın ilk aşaması olan oyun tasarımı konusuna yakından bakalım. Bir oyunu tasarlamak demek, oyunu oynayan kişiyin, oyundaki amacını, karşısına çıkan zorlukları ve o zorlukları aşmak için neler yapabildiğini tanımlamak demektir. Bu tanımlama eylemi genelde birkaç cümlelik çekirdek bir fikir olarak başlayıp, zaman içinde gelişerek, detaylı bir oyun tasarım dokümanına dönüşür.

Oyun tasarımının iki temel amacı vardır:

  1. Oyunu yapacak kişilerin, oyunu ve tam olarak ne inşa ettiklerini anlamak

  2. Oyun eğer profesyönel (yani satılacak) bir oyunsa, başta oyunu finanse edecek kişileri, sonrada oyunu oynamasını istediğiniz oyuncuları tavlayacak fikirleri ifade etmek.

Hemen bir örnek çekirdek tasarım uyduralım:

Oyunumuz bir zeka oyunu. Yukarıdan aşağıya doğru düşen bloklardan oluşan şekilleri yönetiyoruz. Şekiller ekranın altında birikirken, bir satırı doldurabilirsek o satır yok oluyor. Boşluklar kalırsa şekiller yukarı doğru birikmeye devam ediyor. Amacımız satırların yok olmasını sağlayarak, biriken parçaların en tepeye varmasını engellemek.

Şekil 1.

Bu oyunu elbette tanıyorsunuz. Ama işin ilginci Tetris gibi en küçük kapsamlı bir oyunu bile tanımlamaya çalıştığınızda, bu beklediğinizden zor olabilir. Yukarıdaki paragrafta beş cümlede oyunun en temel iki bileşenini zar zor tanımlayabildik. Oyunun amacı ve oyuncunun neyi kontrol ettiği. Normalde bu bilgiler bile tek başına yeterli değil. Tanıma şunları da ekleyelim.

Oyuncu yukarıdan düşen parçaları döndürebilir veya sağa sola oynatabilir. Oyunda satırlar yok oldukça oyuncunun puanı artar. Oyuncunun puanı arttıkça da parçaların düşüş hızı artarak oyun zorlaşır.

Burada tanımımıza bazı önemli eklemeler yaptık. Artık oyuncunun neyi kontrol ettiği daha açık hale geldi. Ayrıca oyuncunun nasıl puan aldığı (nasıl ödüllendirildiği) ve oyuncu iyileştikçe oyunun nasıl zorlaşarak zevkli kalmaya devam ettiği de açıklanıyor.

Dünyanın belki üretmesi en basit olan oyunu, Tetris’in oyun tasarımını 8 cümlelik bir paragrafta zor anlatabildik. Şimdi bir de şu örneğe bakın.

Oyun bir fps. Bir askerin gözünden binalarda dolaşıp düşmanları öldürüyoruz. Öldürdüğümüz düşmanların üzerinden çıkan silahları, zırhları veya sağlık paketlerini alabiliyoruz.

Doom, Quake serileri gibi first person shooter oyunlarına benzer bir oyun tasarımına baktık. Dikkat ederseniz, zaten en baştan oyunun türünü belirtmek bize büyük kolaylık sağlıyor. Bir diğer dikkatinizi çekmek istediğim nokta da, bir oyunun çekirdek tasarımı ile, oyunu inşa etmenin zorluğu arasında her zaman paralellik olmadığı. Yani Tetris gibi yapması çok kolay bir oyunun çekirdek tasarımını yapmak, Doom gibi yapması çok daha zor bir oyunun çekirdek tasarımını yapmaktan çok daha zor olabilir.

Bu şekilde yapmak istediğiniz oyunun çekirdek tasarımını birkaç cümle içinde yapamıyorsanız oyunu kafanızda tam oturtmamışsınız demektir.

Şu ana kadar oyun tasarımına tümdengelimsel bir yaklaşımla baktık. Şimdi oyun tasarımına bir de farklı bir açıdan yaklaşalım. Tümevarımsal bir açıdan…

Şekil 2.

Oyun Öğeleri

Oyun öğeleri, oyunda, oyuncunun yapabildiği değişik etkileşimlerdir. Yani oyuncu oyunda tam olarak “ne” yapabiliyor. Örneğin Doom’daki öğelere bakalım:

  1. askeri ortamda hareket ettirebilmek

  2. düşmanlara ateş edebilmek.

  3. yerden bazı nesneleri toplayabilmek

  4. bazı sabit nesnelerle etkileşebilmek (kapılar, asansörler vs.)

Öte yandan Tetris’te oyuncunun yapabileceği iki etkileşim var.

  1. parçaları sağa sola hareket ettirmek veya aşağı düşüşü hızlandırmak.

  2. parçaları döndürmek.

Dikkat ederseniz oyun öğeleri çekirdek tasarımdan gelen genel bağlama sırtını dayayarak, asıl oynanış hakkında fikir verir. Genellikle çekirdek tasarımdan farklı olarak, bir oyunun oyun öğelerine baktığımızda oyunun özellikle programlanışı ile ilgili ipuçları elde etmeye başlarız. Başka bir deyişle, çoğu zaman oyun öğeleri daha fazla veya karmaşık olan oyunları programlamak genelde daha zor olacaktır. Bir oyunu planlarken eklemeye karar vereceğiniz her oyun öğesi programlamaya büyük veya küçük yeni işler ekleyecektir. Örneğin fps oyununuza şöyle bir oyun öğesi eklediğinizi düşünün

  1. asker oyunda bazı karakterlerle alış veriş yapabilir.

Bu masum görünen oyun öğesi, oyun tasarımınıza bazı karmaşıklıklar eklerken, oyununuzun yazılımına da 5 – 10 yeni sınıf ekleyebilir. Artık oyun dünyasında sizin dışınızdaki herkes düşman değil demek bu. Bazı karakterleri öldürmek yerine gidip alış veriş yapabileceksiniz. Bu da demek oluyor ki oyunda ihtimalen para olacak. Oyuncu oyunda nasıl para kazanacak. Seviye sonlarında otomatikman bir miktar para mı eklenecek cüzdanına. Yoksa öldürülen düşmanlardan para mı çıkmaya başlayacak (oyununuzda oyuncunun yönettiği şanlı karakterinizin mezar hırsızlığı yapması hikayenize uyuyor mu). Ya da sadece düşmanlardan düşen nesneleri satarak mı para kazanıyor. Bütün bunlar cevaplamanız gereken oyun tasarımı sorularıdır. Ve cevaplarınız yazılıma ek yük getirebilir.

Bu açıdan baktığınızda, özellikle frp, mmorpg, veya strateji oyunlarının, oyun tasarımı açısından gerçekten hayli karmaşık (ve bir o kadar da zevkli) olduğunu farketmeye başlarsınız. Bunun sebebi bu tür oyunlarda çok fazla oyun öğesi olmasıdır. Örneğin genelde bir frp’de şöyle öğeler olur.

  1. Karakter ile dünyada dolaşma

  2. Eşya toplama

  3. Düşmanlarla savaşma

  4. Başka karakterlerle konuşma

  5. Başka karakterlerle alış veriş

  6. Başka karakterlerden görev alma ve bitirme

  7. Başka karakterlerle grup olma

  8. Gruptaki karakterler arasında kontrol değiştirme

  9. Büyü yapma

  10. Karakter seviye atladıkça, kazanılan puanları özelliklere dağıtma

Hatta rol yapma oyunlarında çoğu zaman oyunun içinde pekçok alt oyun da vardır. Örneğin benim hayattaki en favori oyunlarımdan olan Sid Meier’s Pirates‘ta

  1. Gemi savaşı

  2. Kara savaşı

  3. Kılıç dövüşü

  4. Dans sahnesi

  5. Şehre sızma / Hapisten kaçma

gibi pekçok alt oyunlar vardır ve bu alt oyunların herbiri pekçok farklı oyun öğesini içerir.

Oyun Tasarımı yaparken en dikkat edilmesi gereken nokta, gücünüzün yeteceği kadar küçük (yani az oyun öğesi içeren), ancak kendi içinde tutarlı, oynanabilen ve senaryo/oynanış açığı bırakmayan bir oyun tasarlamaktır.

Bu son söylediğim şey çok önemli. Bir oyunun senaryo/oyanış açığı olmaması demek, oyun dünyasının “Kapalı” olması demektir. Yani oyun içinde oyuncunun karşısına çıkabilecek bütün problemleri aşmanın yolu oyununun içinde, oyun öğeleri arasında var demektir. Örneğin FPS oyununuzda düşmanlardan nesneler düşüyor ve siz bunları alabiliyorsanız, o zaman bu nesneleri tüketmenin de bir yolu olmalı. Ya yalnızca sağlık kiti/mermi falan gibi tüketilebilen nesneler düşmeli, ya da alış veriş yapılabilmeli. Örneğin bir düşmandan altın saat düşerse ve oyuncu bunu alırsa, eğer satamayacak ise ne yapacak. Belki de bu karmaşıklığı istemiyorsunuz ve oyunda düşmanlardan hiç bir nesne düşmemesine karar verdiniz. Yani oyuncu yerden birşey alamayacak. Güzel, bu durumda cephane durumuna karar vermelisiniz. oyuncunun cephanesi ya hiç bitmeyecek, ya da belki her seviye sonunda 1000 yeni mermisi olacak otomatik olarak.

İşte şimdi oyun tasarımı denen olayın arkasındaki asıl problemlerle tanışmaya başladınız. Tasarımda alacağınız her karar bazı başka kararlarınız için elinizdeki seçenekleri kısıtlar. Bu kısıtlamanın en büyük sebebi de oyun dünyasını kapalı tutmanın kesin bir gereklilik olması.

Kapalı oyun tasarımı hakkında yazmaya devam edeceğim.

Yazarın notu: Bu yazıdaki grafikler "İstanbul Kıyamet Vakti" oyunundan alınmıştır.

plazma - (2006 - 2011)