最近研究了一下魂斗罗的源代码。为什么魂斗罗只有128KB (转载)# JobHunting - 待字闺中
s*h
1 楼
【 以下文字转载自 Midlife 讨论区 】
发信人: sammamish (sammamish), 信区: Midlife
标 题: 最近研究了一下魂斗罗的源代码。为什么魂斗罗只有128KB
发信站: BBS 未名空间站 (Sat Jun 10 12:33:34 2017, 美东)
为什么魂斗罗只有128KB却可以实现那么长的剧情?
1.游戏大量复用图块,图块还使用调色板索引,好像每个像素才占用2bit。
2.程序员精心优化各种数据结构,每一bit存储都不浪费。
3.声音只存储发声通道的调制参数序列,能复用就复用。
4.代码全是汇编写成,直接操作硬件,基本不存在浪费的指令。
个人觉得fc最神奇的游戏还属超级玛丽,32个关卡,每关都不同,各种隐藏要素,好像
代码区才10多k,数据区10多k。反汇编看完还是不敢相信这点东西能玩一个童年…现在
helloworld的二进制都可能比这大多了。
发信人: sammamish (sammamish), 信区: Midlife
标 题: 最近研究了一下魂斗罗的源代码。为什么魂斗罗只有128KB
发信站: BBS 未名空间站 (Sat Jun 10 12:33:34 2017, 美东)
为什么魂斗罗只有128KB却可以实现那么长的剧情?
1.游戏大量复用图块,图块还使用调色板索引,好像每个像素才占用2bit。
2.程序员精心优化各种数据结构,每一bit存储都不浪费。
3.声音只存储发声通道的调制参数序列,能复用就复用。
4.代码全是汇编写成,直接操作硬件,基本不存在浪费的指令。
个人觉得fc最神奇的游戏还属超级玛丽,32个关卡,每关都不同,各种隐藏要素,好像
代码区才10多k,数据区10多k。反汇编看完还是不敢相信这点东西能玩一个童年…现在
helloworld的二进制都可能比这大多了。