超级马里奥兄弟有32个关卡,为什么却只要64KB?

如题所述

超级马里奥兄弟虽然有32个关卡,但是却只占用64KB的空间,这在很多朋友听来是很不可思议的,但是实际上我们知道游戏由场景,音效和动作构成,马里奥的很多图形都是重复的,占用的字节很少,只不过是用代码重复实现了,这样是不占用空间的。而超级马里奥这个游戏里面的配乐呢,也是占用了很小的空间,所以拥有32关卡的超级马里奥兄弟,其实下载下来只要64KB的空间就足够了。


其实有一个工具应该跟大家介绍一个,就是Tile Map这个工具可能一般人没有听说过,觉得有些陌生,但是对于游戏开发者来说,是个再简单不过的东西。游戏中所有的图片,文字,音频等的素材就叫作Tile ,而把这些所有的素材放到一个文件包里,这个文件包就命名为了Tile Map。简单来说,就是所有的素材都不占地方,所以文件包也就不占用地方了。


超级马里奥虽然有那么多长长的关卡,但是我们可以发现,他的每一关场景,都是有很多相似的地方的。所以这些场景我们就不用再一个一个去搭建了,而只要用TileMap里面直接把提前准备好的东西拉出来就行了。纵观所有关卡,出现的东西无非就是围墙,云朵,草地,烟囱,以及一些小小的炸弹。


但是从图片中我们不难看出,云朵和草地的形状很多是一样的,只是颜色有些不同,这只要用代码去实现就好了,所以这些图片素材是不占用空间的。再来看看马里奥中的音频文件,马里奥的游戏音效是提前存储了音乐合成芯片,但是处理这些乐谱,实时合成音乐,并不是现成的音乐,所以马里奥的内存就会很小很小了。其实不仅超级马里奥,魂斗罗也是同样的方式来实现占用内存的最小化。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-12

 因为,游戏开发者把游戏里会出现的素材提前准备好,然后运行游戏的时候把素材拼接起来就行,这一个个素材叫 Tile ,整个素材包叫做 Tile Map 。

这样一来,上面展示的那长长的第一关场景就不用提前搭建好再存储了,而是你在玩的时候重复利用提前准备好的东西。

FC 版本的《 超级马里奥兄弟 》看似有这么多关卡,其实出现过的东西就这么多

第2个回答  2020-05-12
因为超级马里奥兄弟的游戏内容并不多,虽然关卡很丰富,但是它的画质、动作都没有太复杂,所以只需要64kb。
第3个回答  2020-05-12
因为有Tile Map这是个类似调色板的东西,游戏开发者把游戏里会出现的素材提前准备好,然后运行游戏的时候把素材拼接起来就行,这一个个素材叫 Tile ,整个素材包叫做 Tile Map 。这样一来,上面展示的那长长的第一关场景就不用提前搭建好再存储了,而是你在玩的时候重复利用提前准备好的东西。
第4个回答  2020-05-12
第一我觉得是因为画质的原因,毕竟画质只能属于标清,第二是因为游戏简单,一点也不复杂,所以它才只要64kb。
相似回答