我看过一些程序显示了带有音轨的惊人高度详细的3D场景,但令我震惊的是它们都小于64kB!这些程序如何运作?
答案 0 :(得分:18)
他们在程序上生成内容。即他们不添加3D模型,位图,基于样本的音频文件,...但是从代码或一些低细节表示中生成它。
通过组合简单的构建块和公式来使用自相似性(分形)和构建复杂数据通常是紧凑表示的关键。
音频可以存储在存储不同音符的某种midi格式中。
生成的纹理结合了滤镜,分形,...谷歌的“Perlin噪音”这个简单的例子。 Shows how to create very different textures from perlin noise
3D模型可能使用公式进行一些几何描述,并且使用类似于程序纹理的技术添加细节。
大多数人使用一些运行时解包器。即您的正常可执行文件大于限制并使用exe包装程序进行压缩。演示通常不使用UPX,而是使用具有非常小的加载器/解包器的专用打包器,甚至可能泄漏内存(如果您可以保护几个字节,则会关心内存泄漏)。
答案 1 :(得分:4)
当天他们用汇编语言作为COM编写。甚至有16kb的演示。 我非常喜欢这些演示,这就是为什么Assembly是我学到的第一种编程语言。我从来没有设法创建一个真正的演示,但我能够创建一个清除我的硬盘的病毒。我没有源代码;)
答案 2 :(得分:2)
他们是:
示例(代码示例!)可以在这里找到:
http://www.displayhack.org/2012/the-great-demoscene-sourcecode-giveaway/
不要愚蠢的家伙 - 只需使用谷歌!!!