如何学习4K democoding的疯狂艺术?

28

我非常喜欢示范场景(demoscene),尤其是那些小巧的4K exefiles。它们除了已经在Windows中存在的文件外没有任何依赖项,展现了编程的强大威力:3D图形+音效,全部只有4K。

这是如何可能的?它们使用的语言是什么? 有哪些工具、最佳实践和重要网站呢?


2
@George 我认为他们认为这个问题不够具体和集中,无法在SO上得到合理的回答。 这个问题非常广泛。与“我怎样才能学会Rails?”相比,后者肯定会被关闭。 - derobert
4个回答

14

与此同时,我发现了一个处理4K编码的优秀网站:

IN4K


11

压缩算法显然是重头戏,还有用于索引大量数据的短小机制以及对目标系统中可用库的深入了解。(这些内容可以通过链接提供。)

如果我是你,我会从反向工程你最喜欢的4k demo 开始;也许先从7-10年前的demo开始,然后随着技术的进步逐步跟进。分析编译器的输出也是一个好的起点,尽管它们往往会针对速度而非空间进行优化。

嵌入式编程技术也可能会有所帮助,因为它们经常在受限的环境下运行。


索引大量数据?为什么? - George
1
因为您将需要引用从4k二进制文件中解包/生成的数据,所以您希望能够高效地执行此操作。 - Dan Davies Brackett

7
Inigo Quilez有一些1K和4K介绍的例子,您可以从中学到很多知识。还可以查看他的其他文章。
Alexander Sotirov关于Tiny PE的文章也很有趣。

4
可能并不是您想要的内容,但在同样的精神下:有几个Java 4k比赛。目标是创建一个完全适合单个最大4096字节的JAR文件的Java演示或甚至游戏(!)。

例如,参见:

http://www.mojang.com/notch/j4k/l4kd/

或者

http://javaunlimited.net/contests/java4k.php

有人可能会认为Java使得这种事情变得更加容易(因为您可以使用整个运行时),但仍然令人印象深刻(而且您是跨平台的,不需要学习汇编语言 ;))。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接