知乎:为什么魂斗罗只有128KB却可以实现那么长的剧情? ...

打印 上一主题 下一主题

主题 1590|帖子 1590|积分 4770

今世程序员A和1980年游戏程序员B的对话:

A:为什么你用128KB能实现这么多画面、音乐、动画?
B:128KB还不敷么?实在为了体现力已经相当奢侈了,加了很多不重要的细节。
A:就说你们的音乐,这个音乐,我压到最低码率的mp3,也得至少1MB吧。
B:你怎么压的?一首背景音乐怎么可能超过1KB。
A:那你实现全屏卷轴,用了多少显存?
B:一共就只有2KB显存,多了也放不下啊。
A:……
1、我们对“数据量”无法直观认识


除非是专家,一样平常人根本无法估算到底多大算大,多小算小。
一样平常人对“数据量”并没什么概念。一篇800字的作文有多少数据量?按照GBK编码,约1.6KB,按照UTF-8编码,则是2.4KB。
只写了1个字的作文,按理来说1字节~3字节就够了。但只写1个字的word文档,有10956字节【汗】。而由于硬盘格式化要求,再多占用1332字节【再汗】。


我就写了一个字,真的什么都没干
现实中常见的产品、流行的技术,实际上和时代背景密切相关。
当你抱着15寸条记本还嫌小的时间,1990年代初的家庭,可是一家人围着14~18寸的球面电视看的。把雪碧拿给古代人喝一口,估计他会齁得要死,必须喝点水压压惊。
当物质底子变得非常丰富的时间,肯定会产生无法制止的“浪费”,这种“浪费”会进一步改变人感受的阈值,对度量的估计都变得紊乱了。

2、FC(红白机)时代的图形技术


由于早期的记忆芯片(ROM)非常贵,而且大容量磁盘的技术也不成熟,所以临时岂论硬件盘算本领,仅仅是想增长游戏的总容量也非常困难。所以自然会使用符合其时水平的数据布局。
以红白机FC为例,它的分辨率为256x240。分辨率不算低,但却只有2KB显存,而且还要实现全屏卷轴效果。所以在FC设计之初,从硬件上就提供了充实利用显存的方法——使用Tile(瓦片)。
对每一个场景来说,使用若干数量的瓦片,场景用有限的瓦片拼接即可。这种“二级”表示方法能极大节约存储量。



3、音频容量和代码容量


现代音乐格式往往直接保存声道的波形,这种做法保真度高、通用性强,但很显然占用空间多,一首曲子的容量以千字节、兆字节盘算。

关注公众号:Java项目精选,回复:666领取资料 。

而八位芯片时代的音频解决方案,关键是一颗专用芯片,比方FC用的理光2A03:


理光2A03

音频芯片可以产生合成音效,能提供的音色可以在肯定程度上配置,但非常有限。听听FC游戏的音乐可以领会到常用的音色几乎一样。我觉得这个音频芯片最厉害的地方是可以同时播放几个音轨(但不能是和弦那种“同时”),《魂斗罗》、《沙罗曼蛇》、《忍者龙剑传》的殿堂级音乐,主要是靠多个音轨的交替配合实现的。
每个音符只要记灌音色、频率和音高就充足了,音频芯片自然会识别出来。把音符按时间分列好就是“乐谱”了,可以简单明白为“简谱”。这种简谱需要的数据量非常有限,而且大部门游戏音乐都是循环播放,数据量更是小的可怜。
代码也是类似的
FC时代的游戏,没有所谓的“引擎层”,或者说引擎层就是“硬件层”。任天堂的主机完满是为游戏而设计的,瓦片、调色板、音乐、音效等基本功能已经预先思量到了,如许一来就节约了大量底层代码。
程序员要仔细研究文档,在硬件框架下思考题目,好比怎样显示图片、怎样卷动屏幕等等;而且还要非常认识硬件底层和汇编,不要浪费代码空间。一来二去,代码也能写的非常小。

总的来说,128KB的游戏大作,在30年前稀松平常,放到现在简直就是黑科技。科技的剧烈变革带来技术指标非线性的变革,让我们的记忆和直觉彻底落伍 。


最后免费分享给大家一份Python全套学习资料,包含视频、源码,课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友。

关于Python技术储备

学好 Python 岂论是就业照旧做副业赚钱都不错,但要学会 Python 照旧要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小同伴们一点帮助!
一、Python所有方向的学习门路

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、Python必备开发工具



三、Python视频合集

观看零底子学习视频,看视频学习是最快捷也是最有用果的方式,跟着视频中老师的思路,从底子到深入,照旧很容易入门的。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才气将自己的所学运用到实际当中去,这时间可以搞点实战案例来学习。

五、Python训练题

检查学习效果。

六、面试资料

我们学习Python一定是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,而且有阿里大佬给出了权势巨子的解答,刷完这一套面试资料相信大家都能找到满足的工作。

   这份完备版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
  


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

tsx81429

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表