为什么有32个关卡的超级马里奥游戏内存只有40KB?
相信不少80后90后小时候都玩过这个游戏。放眼现在,随便一个3A大作,占到的内存就上百个G了,它究竟是怎么做到拥有这么长的剧情呢?
首先,在当时的游戏开发中,开发者只能在非常有限的存储空间内工作。他们使用了各种技巧将游戏中的图像和音频资源进行压缩。
例如,使用低像素风格来减少颜色数量,这样大大降低了图像分辨率。其次,重复利用游戏素材。
先把素材准备好,在运行游戏时将素材拼接起来就行了。所以看似关卡很多,实际上很多场景都是一样的。此外,游戏中的音频也被精心设计过,可谓是将文件尺寸压缩到极致了。不仅如此,超级马里奥的代码也是经过高度优化的,运用了紧凑的数据结构、有效的算法和精简的代码,这才实现了内存小但又不失游戏功能。
不过我们从这几个经典案例就能发现,当年设计游戏的程序员和美术动了不少脑筋,比如蘑菇怪走路动画其实是通过对称反转形成的,
云朵和草地的形状一样只是换了颜色等等,即便是这种小细节也要不断优化,最终实现了内存只有40KB。
那么你玩过最大内存的游戏是什么呢?
坚持学到一两个月之后就能去挖漏洞赚赏金,学三四个月之后就能达到CTF对抗赛的技术水平。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...