it-swarm.asia

Tüm bunlar 64 kb'ye nasıl sığar?

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?

45
Samuli Lehtonen

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.

39
Gary Willoughby

@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.

Komplo
farb-rausch

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.

10
Fake Name

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
4
Fernando Meyer

Oluşturmanın bu özel demoda nasıl yapıldığına dair bir PowerPoint sunusu vardır. 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.

Ayrıca blogunda diğer demossen yapımları hakkında birçok ilginç okuma var.

3
msell

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.

1
Tarmil