我非常喜欢示范场景(demoscene),尤其是那些小巧的4K exefiles。它们除了已经在Windows中存在的文件外没有任何依赖项,展现了编程的强大威力:3D图形+音效,全部只有4K。
这是如何可能的?它们使用的语言是什么? 有哪些工具、最佳实践和重要网站呢?
我非常喜欢示范场景(demoscene),尤其是那些小巧的4K exefiles。它们除了已经在Windows中存在的文件外没有任何依赖项,展现了编程的强大威力:3D图形+音效,全部只有4K。
这是如何可能的?它们使用的语言是什么? 有哪些工具、最佳实践和重要网站呢?
压缩算法显然是重头戏,还有用于索引大量数据的短小机制以及对目标系统中可用库的深入了解。(这些内容可以通过链接提供。)
如果我是你,我会从反向工程你最喜欢的4k demo 开始;也许先从7-10年前的demo开始,然后随着技术的进步逐步跟进。分析编译器的输出也是一个好的起点,尽管它们往往会针对速度而非空间进行优化。
嵌入式编程技术也可能会有所帮助,因为它们经常在受限的环境下运行。
例如,参见:
http://www.mojang.com/notch/j4k/l4kd/
或者
http://javaunlimited.net/contests/java4k.php
有人可能会认为Java使得这种事情变得更加容易(因为您可以使用整个运行时),但仍然令人印象深刻(而且您是跨平台的,不需要学习汇编语言 ;))。