Plazma sayı 2, sayfa 113

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 113

Eğer kendimizi canlılarla sınırlandırmaz isek; eklem seçimi, hareketlerdeki hızlar vs. konularda daha fazla esneklik elde ediyoruz. Bu alanda gerçekten güzel örnekler görmek istiyorsanız, Portal Process'in demolarını izleyip robotların hareketlerini inceleyin.

Demoya artı kazandırabilecek bir diğer unsur da fizik efektleri. Tabi fizik dediğimiz zaman bir çok efekt akla gelebilir, ama burada bahsettiğim (ve asıl zorluğu içeren) objeler arasındaki çarpışmalar, yerçekimi vb. kodlar. Demolar zaman tabanlı olduğu için (her framede saate bakarak ekranda gösterilen şeyleri hesapladığımız için) fizik kodlarını ayrı işlemlerden geçirmek gerekiyor. Demonun geri kalanı fps bağımsız olsa bile, kuvvet veya hız hesaplarında fps'yi dikkate almak ve gerekirse belli değerlerde sabitlemek gerekiyor.

Çarpışmalardaki bir diğer zorluk da objelerin yapıları karışıklaştığında ortaya çıkıyor. Küplerin yahut kürelerin çarpışmalarını kontrol etmek, daha karışık objelerin çarpışmalarını kontrol etmekten nispeten daha kolay oluyor. Ama zaten demolarda çarpışan küpler ya da sallanan zincirlerden daha karışık efektler görmedim. Yapılmışlar arasında en iyilerini Fairlight demolarını tarayarak kolayca bulabilirsiniz.

Sonuç

Her şeyi özetlemek gerekirse, bir PC demosunu kod açısından değerlendirirken şu noktaların kesinlikle ele alınması gerekiyor:

-Windows birden fazla programın aynı anda çalıştığı bir platformdur ve demolar, çizim harici işlemlerinde CPU'yu diğer programla paylaşmak zorundadır. Bu yüzden rendering dışı efektlerin ve hesaplamaların hızlı çalışmaları için iyi optimize edilmeleri gerekiyor.

-Ekrana yapılan çizimler ayrı bir işlemci ile yapılıyor. Basılan poligon sayısı çok nadir durumlarda kısıtlayıcı bir unsur. Fakat bunun üstesinden gelmenin yolları mevcut (coder tamamen GPU ve kütüphanelere bağlı değil). Ayrıca coderların ekrandaki piksellere direk müdahalesi oldukça zor ve mümkün olduğu durumlarda oldukça yavaş.

-Ekran kartlarının sunduğu temel işlevler üzerinde deneysel takılmak pek mümkün değil. Sonuçlar karttan karta, hatta aynı kartın sürücüsünden sürücüsüne değişebilir. Bu yüzden ekran kartlarının hardware özelliklerine bağlı kalmamaları için coderlara shader programlama imkanı sunulmuş durumda.

-64k introlarda amaç 64k'ya sığdığı kadar bilgi doldurmak değil, büyük bir demoyu 64k limitinde yapabilmek. Küçük boyutlarda çalışmak PC programlamadaki en büyük zorluklardan biri.

-Demo, sadece ekrana basılan nesnelerden ibaret değil. Demodaki nesnelerin animasyonları, fiziksel olaylar, zamanlama, geçişler, uyumluluk (ki PC'de oldukça önemli bir konu) ve çökmeyen demolar yazabilmek de coderın yeteneklerine bağlı.

-Bir demoda kod her zaman ön planda olmayabilir. Bir hikaye anlatan ya da iyi bir tasarıma sahip demolarda kod halen yukarıdaki kriterleri gizlice sağlıyor olabilir. Atraksiyondan uzak sağlam bir demo motoru ile bol efekt ve atraksiyonlu ama uyumluluğu düşük, zar zor çökmeden durabilen bir demo kodu arasındaki seçim size kalmış.

Klavyeyle gezinmek için ← ve → tuşları.