Geoff Howland: Lupine
Games’in sahibi, baş programcısı, idarecisi ve projelerin geliştirilmesini
koordine eden kişidir. Şirketini, başarılı bir şekilde tek kişiden 10 kişiye
çıkartmış ve yılda ortalama 2 oyun çıkartan bir şirket haline getirmiştir.
Oyun yapmanın yanında oyun yapma ve iş dünyası hakkında makaleler yazmış,
Bağımsız Oyunlar Festivali’nde Tavsiye Kurulu’nda (Advisory Board)
bulunmuştur. Eğer bu makale hakkında soru veya öneriniz varsa
ghowland@lupinegames.com adresinden kendisine ulaşabilirsiniz.
OYUN YAPMAK
İnsanlarla konuştuğumda oyun geliştirmeyle ilgili karşılaştığım
ilk soru genelde “nasıl oyun yaparım?” ya da
“Quake/Everquest/Starcraft gibi bir oyun yapmak istiyorum ve …”
oluyor. İlki, cevaplama olanakları dışında.
İkincisi ise gerçek dışı
beklentiler içeriyor. Starcraft, Everquest ve Quake, milyonlarca dolar bütçeleri
olan profesyonel takımlar tarafından yapılmışlardır. Daha da önemlisi bu
oyunlar, oyun yapma konusunda çok deneyimli olan kişilerce yapılmıştır.
‘Hadi oyun yapalım’ diyerek mega oyunlar yapmamışlardır. Ufak tefek işlerle
başlayıp yol almışlardır. Oyun yapma niyetinde olan arkadaşların
anlamaları ve akıllarının bir yerine kaydedilene kadar tekrar etmeleri
gereken nokta budur.
Oyun yapmadaki bütün
yeteneklerin tecrübe kazanmayla elde edildiğini anlayana kadar (küçük işlerle
başlayıp, ilerlemek), projelerinizi hiç bir zaman bitirememeye mahkumsunuz
demektir. Bu şekilde, kademe kademe ilerlemeden ciddi işler yapan az sayıda
grubun işlerini bitirmeleri, küçük
işler yaparak ilerlemelerinden çok daha fazla zaman almaktadır.
NEREDEN BAŞLAMALIYIM?
Tetris! Tetris, iyi bir oyun yapımcısı
olma yolunda mükemmel bir başlangıçtır. Neden? Çünkü tetris, bir oyunda
bulunması gereken bütün elemanları içerir ve minumum çalışma gerektirir.
Ayrıca iyi görünen bir Tetris oyunu yapmak için sanatçı olmanız gerekmez.
Renkli bloklar çizebilen her insan ticari nitelikte bir Tetris oyunu yapabilir.
Tetris’le başlamanın diğer bir
yararı da şudur: Tam olarak çalışan bir oyun yapmanın yanı sıra, eğlenceli
ve bağımlılık yaratan, akabinde temel olarak ticari bir sürümü kadar iyi
görünen bir oyun yapmış olmaktır. Bloğu kimin çizdiğinin önemi yoktur
ve tetramino’lar (Tetris’teki şekiller) 4 bloğun bir araya gelmesiyle oluşur.
Tetris, bütün oyunlarda ortak
olan bütün birimleri içerir. Bir döngüsü vardır (oyun bitene kadar
tekrarlanan işlemler). Döngü,
girdiyi okur, işlemi yapar, elemanları günceller (tetramino’ların düşmesi)
ve bitiş durumunu (victory/loss condition) denetler.
Yapacağınız bütün oyunlar, bu
şeyleri yapar, bu yüzden işlemi öğrenmek ve uygulamak son derece önemlidir.
Bunu tamamladığınızda, gelecekte yapacağınız oyunlarda ne kadar zorlanacağınızı
ve vaktinizi alacağını anlayacaksınız. Bütün bunları en azından bir kez
yapmadan, hiçbir zaman bütün elemanlara hakim olamazsınız. Daha büyük
projeleriniz olduğunda, zamansızlıktan ve karmaşıklıktan üstesinden
gelemeyeceğiniz daha çok bilinmeyen karşınıza çıkacaktır.
Tetris oyunun bir versiyonu, Amazing Blocks
Tetris hakkında belirtmek istediğim
bir başka şey de, bir Tetris oyunu yaptığınızda ona “Tetris”
diyemezsiniz. Tetris, Tetris oyununun yaratıcısı Alexey Pajitnov’un sahibi
olduğu Tetris Şirketi’nin tescilli markasıdır. Bu ismi kullanmak tamamen
onların hakkıdır ve eminim, “isminde ‘tris’ geçen ve düşen bloklarla
ilgili bir oyun yapılamaz” şeklinde bir davayı kazanmışlardır.
Tabi oyununuza “Gökler Yıkılıyor”
gibi ya da içinde “tris” olmayan bir isim verirseniz bunun bir sakıncası
yoktur. Çünkü oyunun oynanış şekline, arayüzüne ve düşen bloklar
fikrine sahip değillerdir.
SIRADA NE VAR?
Tetris oyununu tamamen, kesin
olarak bitirdikten sonra bir sonraki aşamaya geçmeye hazırsınız demektir:
Breakout.
Bir Breakout versiyonu, Manic Ball
Breakout da benzer bir oyundur,
ama Tetris’tekinden daha gelişmiş bir çarpma tespiti gerektirir. Ayrıca
topun, raketin ve bolkarın değişik bölgelerinden farklı açılarla sekmesi
için bazı basit fizik yasasına uygun hareketler eklemek gerekir.
Breakout’taki ayrı bir konu da
level atlama olayıdır. Birden fazla level olması için de bir ‘mapping’ yöntemi
geliştirmeniz gerekir. Bu da, daha büyük oyunlardaki save/load ve level
atlama olaylarıyla haşır neşir olmanızı sağlar.
Breakout şaheserinizi de
bitirdikten sonra Pac-Man’e geçmelisiniz. Pac-Man devrim niteliğinde bir aşamadır
çünkü düşmana yapay zeka (AI) ekler. Bundan haberiniz olmayabilir ama
orijinal Pac-Man’de, 4 hayalet sizi yakalamak için takım halinde hareket
eder ve her birinin farklı amacı vardır. Saldırgan, siz kendisinden kaçın
diye, size uzanan en kısa yolu kullanır. Yol kesici, sizin saldırgandan kaçmak
için gideceğiniz en muhtemel yere gitmeye çalışır. 2. yol kesici, mümkün
olduğunca ortalarda bulunarak sizin tünelleri kullanmanızı engellemeye çalışır.
Son hayalet ise, sizin bölümü bitirmek için yemeniz gekeren
gofretlerin olduğu bölgede dolaşır.
Bu tip detaylı yapay zeka, o
zamanın oyunları için oldukça gelişmiş bir sistemdir. Ve size ilk zeki düşman
oyunu yapmakta eşsiz bir fırsat sunar. Pac-Man ayrıca haritanın karmaşıklığını
artırır, ve ses efektlerini kullanmanız için güzel bir ortamdır.
Size tavsiye edeceğim son oyun, Super Mario Kardeşler
tipinde, ekranı kayan, platformdan platforma atlanılan, ateş edilen, düşmanlarla
karşılaşılan bir oyundur. İşin içine grafiklerin de girdiği bu oyunda
size tavsiyem ücretsiz ve kolay kullanılan grafikler bulabileceğiniz
SpriteLab’lara bakmanızdır (https://www.arifeldman.com/free/spritelib.html).
Super Mario Brothers 2
Kayan ekranlı oyunlar sizi,
yenmek için zayıf noktalarının bulunması gereken bölüm sonu canavarlarının
yapay zekası tasarımıyla ve ekran karmaşasıyla tanışmanızı sağlar. Şimdi
yapmanız gereken, ekranı en az 2 yöne kayması gereken, screen clipping işlemi
yaptırabileceğiniz bir oyundur. Bunun yanında zıplama, sekme gibi fizik formülleri
kullanmanız da gerekir.
Daha öncekilerden çok daha fazla
ve çeşitli düşman vardır ve o an ekranda olsalar da olmasalar da bunların
o anki durumlarını takip etmenz gerekir (ölü / diri, aktif / aktif değil).
Level, harita/karakter deposu şimdi çok kabarmıştır ve bu noktada
muhtemelen bir level editörü yapmanız gerekecektir.
Level editörü, haritayı kaydırabilmeli,
kesme / yapıştırma yapabilmeli, düşman koyabilmeli… Eğer level editörü
yazmak istemezseniz büyük ihtimalle ileride pişman olursunuz, ve eğer bir
level tasarımcınız varsa bu işi pek sevmeyecektir.
Son olarak, bu oyunların gerçek
bir oyunu bitiriş durumu vardır (victory condition). Kayan ekranın en sonuna
gittiğinizde mutlaka bir yere varmanız gerekir. Böylece oyuna bir de hikaye
ekleyebilirsiniz (bir level bitirdikten sonra ekrana güzel görüntüler çıkarmayı
unutmayın. Oyuncu, saatler harcayarak oyunu bitirdiği zaman “TEBRİKLER”
diye bir yazı çıkarmak yerine, gerçek bir şov izlemeli).
SIRA CİLADA…
Oyunu bitirmeniz, onun
oynanabiliyor olması anlamına gelmez, henüz oyun bitmedi. Bitmiş bir oyunun
açılış ekranı, kapanış ekranı, menüsü (en azından oyunun nasıl
oynandığını anlatan bir bölüm), skor tabelası, son ekranı olur.
Oyunun iskelet haliyle, bitmiş
hali arasında büyük fark vardır. Bu farklılık bir kaç gününüzü ya da
2 haftanızı alabilir (oyunun boyutuna bağlı). Tetris’ten Breakout’a,
ordan Pac-Man’e ve diğerlerine doğru ilerledikçe işler katlanarak karışıklaşacaktır.
Sonuç, oyun yapımını anlamanız
ve kendinize güven duymanız ve hazır hissetmeniz bakımından çok önemlidir
(oyunu tamamlamak kendinize saygınızı artırır).
Oyununuzu insanlara gösterip
fikirlerini öğrenmek, normal bir oyunu oynuyormuşçasına hiçbir sorunla karşılaşmadan
oyunu oynatmak, zor bir iştir. Diğer oyun programcıları daha toleranslıdır
çünkü geçirdiğiniz süreçleri bilirler.
Ama en önemlisi, bir oyun nasıl
yapılır bütün detaylarını öğrenmiş olursunuz. Eğer o ilk ekran son
ekran kısmını atlarsanız, ileride herşeyi derleyip toparlama aşamasında
aklınızda ‘bu nasıl yapılır’ gibi bir eksiklik kalır.
AMA BU OYUNLAR ÇOK APTALCA
Bu oyunlar, bütün oyunların
temelinde neler olduğunu gösteriyor. 3 boyutlu şahane görünen bir Quake
tipi oyun da sonuçta bir oyundur. Ve aynı oyunu 2 boyutlu olarak da aynı şekilde
programlayabilirsiniz.
Quake’le aynı düzeyde,
kontrolleri, düşmanları, hareketleri
tamamen aynı olan bir oyun yapabilmek imkansız mıdır? 3D arayüzünü kaldırır
ve gerçekte oyun nasıl çalışıyor bakarsanız, hala ulaşılmaz olarak mı
görünür?
Öyle olsa bile, bu bir başlangıç
projesi değildir. İlk proje için hazırlanması gereken çok fazla eleman
vardır. Ve oyun yapmaya, size anlattığım sırayla girişmenizi şiddetle
tavsiye ediyorum (yüzmeyi öğrendiğinizde hemen balıklama derinlere atlamaya
mı başlarsınız? Hayır! Kıyıda köpekleme yüzersiniz ve kendinizi geliştirirsiniz).
Herşeyden önce açık hale
getirmeniz gereken şey, ne yapmak istediğinizdir. Oyun yapmak mı, yoksa
Quake’in uyguladığı tekniğin bir kopyasını yapmak mı? Eğer tüm
ilgilendiğiniz teknikse o zaman tüm bunları bırakıp grafik teknoljisine
girin derim.
Eğer gerçekten oyun yapmakla
ilgileniyorsanız, o zaman arzularınızı ayırıp diğer dönüm noktasını
yaratın, kod yazma yeteneklerinizi geliştirmeye odaklanın. Bunun için en iyi
yol, oyun yapmaktır (ve daha önemlisi bitirmek) ki biraz önce anlattığım
yolu izlemek size çok tecrübe kazandıracaktır.
OYUNLARINIZLA GURUR DUYUN
Üniversitede okuyup, iş bulamadığı
için utanan insanlar görmüyoruz. Öğreniyorsunuz, basit bir oyun yapmak bile
zordur, hele bir de iyi yaptıysanız. Basit oyunlar bile yapmayıp da sürekli
bu konuda konuşan insanlar bunun kanıtıdır, basit bir oyun yapmak bile
zordur. Bir oyunu tamamladığınızda, şimdiki güncel oyunlar kadar müthiş
fikirleri olup da bir oyun yapamamış birisinden çok daha ileride olduğunuzu
bilin.
OYUNU YAPTIM, HANİ FERRARİM
NEREDE?
Üzgünüm bir oyun, 2 oyun, 5
oyun bunu kesmez. Geçen yıl (1999), PC’de 3500 oyun çıktı, ve ancak birkaç
avuç dolusu oyun büyük miktarda para getirdi. Ve bunların çoğu da kendi
kendine geçinen küçük grupların değil, milyonlarca dolar bütçesi olan
yayıncı ve reklamcı kuruluşlar tarafından desteklenen takımlardı. Bu,
sizin de dahil olamayacağınız bir dünya değil. Sadece biraz zaman ve tecrübe
gerektiriyor, kaliteli oyunlar yaparak kendinizi ispatlamanız gerekiyor ki yayıncılar
grubunuza güvensin.
Bunun yanında, yaşayan oyunlar
yapmak için milyonlarca dolarlık bütçelerden daha başka şeylere bakmak
gerekiyor. Düşük bütçeli oyun yapmakta utanılacak bir durum yok, ticari
oyunlardan daha bile eğlenceli olabilirler. Ayrıca düşük bütçeli olduğundan,
yayıncının size güvenmesi daha kolay olur. Tabi, olmayacak bir proje için
de yıllar harcamak doğru değil.
Oyun yaparak ne elde etmek istediğinizi
düşünün ve onu gerçekleştirmeye konsantre olun.
Geoff
HOWLAND