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

如题所述

虽然超级玛丽里面有32个游戏关卡,但却只占用了64kb,是因为游戏关卡虽然多,但是里面有很多重复的场景,相当于有很多代码是重复的,而这样是不重用空间的,所以说真正占用空间的字节很少。再加上里面的配乐几乎都是重复一段音乐,所以说也只占用很小的空间。但是像这种观察很多,占用空间却很少的,可能也只有超级马里奥这种老牌游戏了吧。

一般对于游戏制造者来说,都要熟悉一个工具tile map。这对于他们来说是很简单的工具,因为在制作游戏中里面所有的图片文字音频的素材就叫做tile。而这个文件包就叫做tile map。简单的来说,存在在里面的所有素材都不会占用空间,所以说整个文件包也就不用占用空间。


相信超级马里奥是许多人童年的回忆,就连我作为一个女孩子在小时候也是拿着手摆在打超级玛丽奥的。而里面的许多场景都是重复的,比如说吃金币里面的砖头,天上的云,地上的草,以及每一个关卡需要跳入的地下烟囱里。这些场景都是重复的,就意味着这些场景不用创建者再去搭建,直接从tile map里面把准备好的东西直接拉出来就可以了。所以说这么多重复的场景,其实并不占用多余的内存。


并且虽然超级马里奥里面很多的云形状一样,但其实它们的颜色不一样,但这些也不会占用太多的数据,只用通过代码去改变颜色就能实现,再加上这些本来的图片素材是不占用空间的,所以即使有32个观察却只拥有64kb,

我们再来看一看里面的音频文件。我们所听到的音乐并不是现成的音乐,并不是直接储存在游戏里的音乐。这样的话就会占用很大的空间,游戏创造者只是把音乐合成芯片储存在游戏里,在你玩游戏的时候他才会去处理这些乐谱,然后合成实时音乐,所以说音效在马里奥里面的内存也占得很小,不仅仅是马里奥这款经典的游戏是这种情况,魂斗罗也是用这种方式来实现,占用内存最小化。


并且虽然马里奥游戏的内容不多,但是它的画质动作都很简单,所以也并不需要创造者去拿多余的内存设计动作,改善画质。

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

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


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


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


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

第2个回答  2020-09-02
一关2KB
第3个回答  2020-07-26
因为超级马里奥兄弟不是联网的游戏,而且它的关卡的设置都比较的简单,所以内存占地比较小。
第4个回答  2020-07-26
因为马里奥兄弟这个游戏的像素非常低,而且游戏内容简单,所以只需64kb。
相似回答