个人认为FC里最神奇的游戏就是《超级马里奥》,有32个关卡,每个关卡都不同,还有各种隐藏元素,代码区只有10k多一点,数据区也只有10k多一点。
即使读完反汇编后,我也不敢相信这会持续我的整个童年……现在helloworld 二进制文件可能比这个更大。
首先,128k并不是一个小数目,程序并不是存储空间的主要消耗者。当然,对于128k你还得考虑程序大小,但是由于FC是8位计算机,并且FC使用的是CISC处理器,因此一条指令可以做很多事情,所以程序大小只有十个而已需要几件。这比现代64 位RISC 处理器快几倍和几个百分点。
资源量大(包括图像、音乐、地图数据、关卡数据等)。以图像和音乐为例,图像在压缩前消耗的存储空间与像素深度和大小有关。对于FC 上的图像,像素深度只是2 位索引。当今广泛使用的真彩色是24 位,带alpha 的真彩色需要32 位。相差12至16倍。
图像尺寸也相差很大,典型的FC 字符只有几十个像素宽和高,而当今的图像资源通常有数千个像素宽和高,为数万分之一到百万分之一。因此,图像资源消耗大量的存储空间,空间上的差异至少有5到7个数量级。
关于音乐,FC以前使用8位MIDI音乐,但现在普遍使用PCM音乐。图像的相似性类似于矢量图像和位图之间的差异。
这意味着PCM音乐的大小与采样深度、采样率、通道数和长度有关,而MIDI只关心乐谱的复杂程度,因此FC的实际空间需求至少约为5-7。比现代游戏差多了。如果从10w倍扩大到128k到1000w倍,就不再感觉小了。
对于64k 3D 节目,这些是完全不同的。 FC 程序很小,因为它们需要的资源很少,而64k 3D 程序则使用简单地用数学编写的程序生成技术。它不是通过记录结果进行采样,也不是程序生成。仅需要最小的存储空间
虽然可以实现无限精度,但缺点是很难编写复杂的,并且比使用异构压缩方法需要更多的计算能力。
总结1. 这个游戏重复使用了很多图块,并且图块还使用了调色板索引,因此每个像素看起来只占用2 位。 2. 程序员仔细优化各种数据结构,确保不浪费任何存储空间。 3.声音中仅存储声道的调制参数序列,并且可以在可能的情况下重复使用。 4、所有代码都是用汇编语言编写,直接在硬件上运行,所以基本不存在浪费的指令。
小编为大家准备了各种游戏的源码和教程,比如坦克战、飞机战等。
领取方式:通过转发、关注+私信,即可立即免费收到小编的“资讯”。
标题:魂斗罗有多大内存,魂斗罗游戏有多大
链接:www.ggaan.com/news/sypc/3239.html
版权:文章转载自网络,如有侵权,请联系删除!