Video Oyunu Yazarken Nelere Dikkat Edilmeli Bölüm 1
Selamlar;
Eminim benim gibi aranızda birçok oyun düşkün developer vardır. Aslında bu aralar Microsoft cephesinde open source olması, cross platform çalışması, azure tarafında machine learning, web jobs gibi daha birçok heycan verici gelişme varken bu konularla ilgili makaleleri biraz daha erteleyip ben size oyun geliştirmek için temel olabilecek, dikkat edilmesi gereken konular üzerinde konuşmak ve bunla ilgili kodlamayı yapmak istiyorum.
Oyun yazmaya başlamadan önce hangi dilde yazılacağına karar vermek, daha sonra ne tip bir oyun olacağını planlamak mesela (rpg, puzzle, strategy, multi-user dungen veya başka bir tip), oyun için en doğru platformu seçmek ve en azından oyunun kabaca taslağını ve sınırlarını belirlemek ilk tanımlanacak adımlardır.
Her konuda olduğu gibi oyun yazmanında dikkat edilmesi gereken bir takım kuralları vardır.
- Öncelikle oyunun bir amacı olması gerekir. Bunu isterseniz bir senaryo ile ya da basitçe yapılması gereken işi belirterek gösterebilirsiniz. Mesela aşağıda yazacağımız oyunun ekran görüntüsünde görüldüğü gibi kahramanımız BoMan çevredeki tüm mavi taşları toplamak zorundadır. Çıkış kapısı ancak bu şekilde açılmaktadır.
- Oyunun kuralları açık ve net olmalıdır. Mesela yukarıda görüldüğü gibi BoMan taşları toplarken çevredeki fishman lere yakalanmamalı, duvarların öbür tarafına geçememeli ve tüm mavi taşları toplayarak çıkış kapısına gitmelidir.
- Oyunun imkansız tabir edilen yani geçilemiyecek bir bölümünün olmaması gerekir. Bunun için zorluk seviyesi ve test çok büyük bir önem arz etmektedir.
- Oyun kendi içindeki kurallar açısından saçma bir duruma düşmemelidir. Yani yukardaki resimde de görüldüğü gibi BoMan duvarlardan geçemez iken fishmanler de geçememelidir ya da çıkış kapısına gelindiğinde tüm taşlar toplanmadan bölüm bitirilememelidir.
- Oyunun zorluk seviyesi ve yapılması gereken işler kolaydan zora doğru ilerlemelidir.
- Oyunda ilerlendikçe kahramana çeşitli özellikler kullanıcı seçimine göre eklenmesi ve ayrıca rakipte çeşitlilik oyuna olan ilgiyi arttıracaktır. Örneğin yukarıda BoMan Cin özelliği alındığında ve bunu 1 tuşuna basarak belli bir zaman için aktif edildiğinde rengi gri olan duvarları kırabilmekte ve karşı tarafa geçebilmektedir. Veya aşağıda görüldüğü gibi BoMan bombayı alıp canavarın yanına koyup patlattığı zaman arkadaki sağlık paketini alabilmektedir. İşte bu gibi yeni özellikler oyun ilerledikçe arttırılır ise oyuna olan bağımlılık ve merak artacaktır.
- Oyunda senaryoya bağlı olarak yan görevlerin olması oynanabilirliği arttırmaktadır. Mesela yazıcağımız oyunda mavi taşları toplamak zorunlu iken kırmızı taşları toplamak tamamen özellik kazanmak için isteğe bağlı olan bir görevdir. Toplanan mavi taşlarla para kazanılmaktadır. Aşağıda görüldüğü gibi 50 paraya 1 taş alınmakta, 2 taş ile de 1 Cin özelliği alınmaktadır.
- Aynı Cin özelliğinde olduğu gibi aşağıdaki durumda 5 taş ile 1 Kyle özelliği alınmakta ve bu özellik sayesinde düşmanlar hem yanınıza yaklaşamamakta hem de BoMan daha hızlı hareket etmektedir.
- Oyunda yarışma ve rekabet çok önemlidir. Eğer multiplayer bir oyun yazmıyor iseniz mutlaka login yapılan ve score ya da zaman gibi çeşitli kıstaslara göre yarış yapılan bir ortam sağlanmalıdır. Mesela aşağıda yeni login yapılan oyuncu giriş ekranını görmektesiniz. Hemen aşağısında da level’e ve score’a göre sıralanmış ilk 10 oyuncu gözükmektedir. Burada gene amaç oynanabilirliği ve tekrar oynama sayısını mümkün olduğunca arttırabilmektir.
- Ödül çok önemlidir. Mesela oyuncu bir başarı sağladığı zaman mutlaka ödüllendirilmelidir. Bu ister bir yazı ile ister score ile ya da bizim yazacağımız oyunda aşağıda görüldüğü gibi güzel bir animasyon ile olabilir.
- Oyun esnasında oyuncuyu durumu hakkında doğru, net ve anlaşılır bilgi verebilmek çok önemlidir. Örneğin aşağıda BoMan’i space’e basınca hızlandıran gaz özelliğinin ne kadar kaldığı, hak sayısı, parası, kırmızı taş sayısı, kullanabileceği cin ve kyle özellikleri sayısı net olarak her zaman görülmektedir. Ayrıca oyunun hangi bölümünde olduğu bilgisi aşağıda olduğu gibi verilebilir.
- Oyunun türüne göre değişse de sizin de dikkat edeceğiniz gibi oyun içinde boss dediğimiz son karakter olmaz ise olmazlardan biridir. Aşağıda bunla ilgili örnek ekran gözükmektedir. Belirlenen süre içinde 2 kişi arasında ençok taşı toplayan oyunu kazanır. Oyun 3 Round üzerinden yürümektedir.
Bir oyun yazılmında 2D veya 3D olmasına göre tasarım, render yani giydirme, modelleme, ses size en çok zaman kaybettirecek öğeler olmasına karşın, bir o kadar da önemlidir. Kodlama zamanında, kolay kullanım yani kullanıcı etkileşimi, hız, oyun motoru ve oyun kuralları gibi konular dikkat edilmesi gereken ana başlıklardır. Bir sonraki makalede oyunun kodlamasını ve ufak bir video kaydını yapıcağız.
Görüşmek üzere hoşçakalın..
Son Yorumlar