Bu sayfadaki yazılar
Sayfanın metni
Sayfa 115
Selamlar. Özellikle demoscene ile yeni tanışan insanların kafasında sıkça oluşan sorulardan biri hakkında fikir cimnastiği yapalım. Son yıllarda oyun yapmak niyetiyle ortaya çıkan insan sayısının arttığını görüyoruz. Genellikle çoğunluğunu amatör ruhlu gençlerin oluşturduğu bu kitle içinde, demoscene ile tanışan kesimin aklına gelen ilk sorudur bu.
kadar çaba sarf edilmişken neden bir insan oyun yapmak yerine demo yapar?"
Her şeyden önce bu tamamen keyfi bir seçim olabilir. Bu durumda konunun çok fazla tartışılacak bir yönü de kalmaz. Zaten bu yazıdaki amacım, bir yazılımcının emeğini demolara yatırmasının, oyunlardan farklı olarak, ne avantajlar sağladığını anlatmak olacak.
Aslında bu soruyu soranların çoğu ortak bir yanılgıdan hareket ediyor. Yanılgı, bir demo projesi ile bir oyun projesinin büyüklüklerini doğru karşılaştıramamaktan ileri geliyor. Bunun sebebi de, genelde bitmiş bir oyunu çıkartmanın ne kadar iş yükü gerektirdiğini insanların doğru öngörememesi. Aslında bitmiş bir oyun demek, ilk ekranı, son ekranı, bütün menüleri ve bütün oyun unsurları tamamlanmış, içinde oynanışa etkiyen hiçbir "bug" kalmayacak şekilde temizlenmiş, düzgün ve performanslı çalışan oyun demektir. Yani hayır, şu geçen hafta sonu yaptığınız 3 odalı mekandaki FPS denemesi, bitmiş oyundan bir hayli uzak.
Genelde tecrübesiz yazılımcılar arasında 3D grafik motoru çalıştığı anda, oyunun bitirilmesine çok yaklaşıldığını düşünmek gibi de bir yanılgı var. Oyunu asıl oluşturan öğelerin, Game Logic'in, yani oyun dünyasını nesneler ve o nesnelerin birbirleriyle etkileşimleri cinsinden doğru ifade edilmesinin bünyesinde olduğunu gözden kaçırıyorlar.
Aslında pek çok oyunda, projenin grafik ayağını çalıştırdığınızda, oyunun yaklaşık %25-30'luk bölümünü bitirmiş olursunuz.
Demolarda ise grafik tarafı oyunlardakine yakın miktarda iş gerektirebilecekken, programcılık tarafındaki durum farklıdır. Bir demo yazmak bir oyun yazmak kadar zor olabilir. Fakat zorluk efektlerdeki algoritmalardadır. Bir oyunda ise nesne modelinin ne kadar iyi tasarlandığı ve proje boyunca yazılacak kodun büyüklüğünün hayli fazla olması, temel zorluk kaynaklarıdır. Bu yüzden belli bir ölçüden daha büyük oyunlar için, fazla sayıda kişinin uzun süreler disiplinli şekilde çalışması gerekir. O oyunda hiç engin matematik zeka gerektiren algoritmalar olmasa bile (ki çoğu zaman öyle algoritmalar da olur oyunlarda. Fakat burada anlatılan olay oyun projelerinde daha fazla disiplin ve organizasyon gerekmesi).
Demoların çoğunlukla interaktif olmayan ve sadece zamana bağlı değişen yazılımlar olmaları, onları bazen tek kişi tarafından bile yapılabilir kılar. İyi algoritmalar bulan, akıl eden bir programcı çarpıcı demoları çok uzun olmayan sürelerde programlayabilir.
Öte yandan demolar da sonu belli olan projelerdir. Yani bir demo projesi bir noktada biter. Hedefin ne olduğu belli ve ölçülebilirdir. Dolayısıyla bir projeyi bitirebilmek için gereken zorlamaların hepsi demo yapımcılarının başından da geçer.
Bu yüzden demolar, hem bazı teknik ve ekipsel bilgileri kazanabileceğiniz platformlar teşkil ederler, hem de bir oyunu tamamlamak için gerekenden daha az kaynak ve proje yönetimi tecrübesi ile kotarılabilirler.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 114
Bu yazı, PC demolarının kodlarını değerlendirmede kullanılacak anahtar noktaları sunmanın yanı sıra, PC coding için ciddi planları olanlara da dönmeleri gereken yönleri gösteren bir tavsiye kimliğine de sahip oldu. Takdir kısmı umarım yardımcı olmuştur. Tavsiye kısmını ise kendim bizzat uyarak sınayacağım :)