Yani, 2011 Meclisi'ndeyim ve bu demo oynandı: http://www.youtube.com/watch?v=69Xjc7eklxE&feature=player_embedded
Kurallarda sadece tek bir dosya olduğunu söylüyor. Tekrar ediyorum, bunu nasıl bu kadar küçük bir dosyaya sığdırdılar?
Bu prosedürel tabanlı. İçerik exe'ye dahil değildir, sadece nasıl çizileceğine dair kurallar. Başlatıldığında, program, önceden oluşturulmuş veya herhangi bir biçimde önceden kaydedilmemiş çalışma zamanında ihtiyaç duyduğu şeyi çizer.
Bu, Elite tarafından geniş bir yıldız sistemleri vb. Evreni oluşturmak için kullanılan yöntemle aynıdır.
Bugün prosedürel nesil kullanarak mümkün olan oldukça şaşırtıcı, bence oyunlar gelecekte daha fazla bu özellik olacak.
@Gary Willoughby'nin dediği gibi, oldukça prosedürel.
Ayrıca, önemli sayıda el
asm kodlaması ile birlikte seçim sistemlerinin pencerelerinin/platformlarının kaçının dahili olarak çalıştığına dair kapsamlı bilgi bulunmaktadır.
Kompakt kodun daha da uç örneklerini görmek istiyorsanız, bir 4K demo kategorisi de vardır.
DemoScene gruplarından bazıları demolarını çevrimiçi olarak yayınlar, buradan indirebilir ve isterseniz oynayabilirsiniz.
Ayrıca Bakınız DemoScene tarihinde Wikipedia
Not - demoların çoğu antivirüsünüzün çıldırmasına neden olacaktır. Temelde hemen hemen tüm demolar paketlenmiş .exe dosyaları kullanıyor ve demo gruplarının çoğu kendi paketleyicilerini yuvarlıyor. Ne yazık ki, birçok AV şirketi topal olduğu için, genellikle herhangi bir ikili ikili yürütülebilir dosyanın bir tür virüs olduğunu iddia ediyorlar.
Herkesin prosedürel olarak oluşturulmuş koda büyük ölçüde güvendiğini söylediği gibi, ancak özellikle bu demo hakkında daha fazla şey var, bazı ayrıntıları duraklatıp bakarsanız, örneğin şu duvarları görelim: o tuğlalara bakın ve nasıl ışık onlara yansır. Doğal görünüyorlar.
Çünkü üretilen içeriğe hayat vermek için çok sayıda köşe gölgelendirici ve parça gölgelendirici kullanıyorlar.
Bu tür şeyleri nasıl yaptıklarını anlamaya çalışırken bazı zaman harcadım ve bu demolardan aldığım her kod parçasıyla şaşırdım.
BTW, bu demoları 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
Diğerlerinin de belirttiği gibi, bunların çoğu prosedürel olarak üretilen varlıklara dayanmaktadır.
Sıkıştırma için başka bir öğe var. 4k ve 64k demoları son derece uzmanlaşmış yürütülebilir kompresörler kullanır. Bunların en ünlüsü farbrausch tarafından kkrunchy (64ks için) ve TBC & Loonies tarafından kırışık (4ks için). Dahası, modern demolar düz metin olan ve böylece sıkıştırmadan sonra önemli ölçüde küçülen gölgelendiricileri yoğun bir şekilde kullanır.
Şimdi, video oyunlarına entegrasyon söz konusu olduğunda, asıl sorun tüm bunların zaman almasıdır. Yordamsal içerik oluşturmak zaman alır ve yürütülebilir dosyayı çıkartmak ç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 bunların çoğunu göreceğimizi sanmıyorum.