Bu yüzden, 2011 toplantısında buradayım ve şu demo oynandı: http://www.youtube.com/watch?v=69Xjc7eklxE&feature=player_embedded
Sadece bir tek dosya, kurallarda yazıyor. Yani tekrar ediyorum, bunu nasıl bu kadar küçük bir dosyaya sığdırdılar?
Bu yüzden, 2011 toplantısında buradayım ve şu demo oynandı: http://www.youtube.com/watch?v=69Xjc7eklxE&feature=player_embedded
Sadece bir tek dosya, kurallarda yazıyor. Yani tekrar ediyorum, bunu nasıl bu kadar küçük bir dosyaya sığdırdılar?
Yanıtlar:
Bu var prosedürel tabanlı. İçerik exe'ye dahil edilmez, sadece nasıl çizileceğine ilişkin kuralları içerir. Başlatıldığında, program çalışma zamanında ihtiyaç duyduğu şeyi çizer ve önceden oluşturulmuş veya önceden kaydedilmemiş bir biçimdedir.
Bu, Elite tarafından çok sayıda yıldız sistemi, vb. Oluşturmak için kullanılan aynı yöntemdir .
Bugün, prosedürel jenerasyon kullanarak mümkün olan şey oldukça şaşırtıcı, oyunların gelecekte bundan daha fazla özellik taşıyacağını düşünüyorum.
@ Gary Willoughby'nin dediği gibi, oldukça yordamsal.
Ayrıca, asm
seçim sistemlerinin ne kadarının pencere / platformda dahili olarak çalıştığı konusundaki kapsamlı bilgi ile birlikte önemli bir el kodlaması söz konusudur.
Kompakt kodun daha da uç örneklerini görmek istiyorsanız 4K demo kategorisi de var.
DemoScene gruplarından bazıları, demolarını çevrimiçi olarak yayınlar; istediğiniz yerde indirebilir ve oynayabilirsiniz.
Ayrıca DemoScene tarihinde Vikipedi'ye bakınız.
Not - gösterilerin çoğu, virüsten koruma yazılımınızın çıldırmasına neden olur . Temelde hemen hemen tüm demolar paketlenmiş .exe dosyalarını kullanıyor ve demo gruplarının çoğu kendi paketleyicilerini alıyor. Ne yazık ki, birçok AV şirketi topal olduğundan, genellikle paketlenmiş herhangi bir ikili çalıştırılabilir dosyasının bir tür virüs olduğunu iddia ederler.
Herkesin, prosedürün ürettiği koda geniş ölçüde güvendiklerini söylediği gibi, ancak özellikle bu demo hakkında daha fazla şey var, eğer bazı detayları durdurup bakarsanız, örneğin şu duvarları görmenizi sağlar: tuğlaları görün ve ışığın bunları nasıl yansıttığına bakın. Doğal görünüyorlar.
Çünkü, üretilen içeriğe hayat vermek için birçok tepe gölgelendirici ve parça gölgelendirici kullanıyorlar.
Bunları nasıl yaptıklarını anlamaya çalışmak için biraz zaman harcadım ve bu gösterilerden aldığım her kod parçasına hayran kaldım.
BTW, bu gösterileri yaparken daha da sıkmak için sıkıştırma araçları kullanıyorlar. bu derleme işlemini kontrol edin:
all:
nasm -f bin -o intro main.asm
nasm -f bin -o stub stub.asm
gzip -n --best intro
advdef -z -4 intro.gz
cat stub intro.gz > intro
chmod +x intro
rm intro.gz
rm stub
Bu özel demoda görüntülemenin nasıl yapıldığına dair bir PowerPoint sunumu var . Bu tek başına her şeyin 64 kilobayta nasıl uyduğunu açıklamaz, ancak geometrinin bu kadar küçük bir alanda nasıl yaratıldığının anahtarıdır.
Diğer demossen yapımları hakkında blogunda birçok ilginç okuma var .
Diğerlerinin de belirttiği gibi, bunun çoğu prosedürsel olarak yaratılan varlıklara dayanır.
Sıkıştırma olan başka bir öğe var. 4k ve 64k gösterileri çok özel çalıştırılabilir kompresörler kullanır. Bunların en ünlüsü farbrausch (64ks için) tarafından kkrunchy ve TBC & Loonies (4ks için) tarafından crinkler. Dahası, modern demolar, düz metin olan gölgeleri yoğun şekilde kullanıyor ve bu nedenle sıkıştırma sonrasında çok daha küçük oluyor.
Şimdi, video oyunlarına entegrasyon söz konusu olduğunda, asıl sorun tüm bunların zaman alması. Prosedürel içerik oluşturmak zaman alır ve yürütülebilir dosyayı çıkarmak çok zaman alır. Ve insanlar genellikle sabit disklerinde oyunun yüklenmesini beklemek için harcadıkları zamandan daha fazla alana sahipler, bu yüzden yakın zamanda yaygın olarak bulunan oyunlarda çok fazla şey göreceğimizi sanmıyorum.