首页 > 产品 > 关键词 > 超级马里奥最新资讯 > 正文

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

2020-04-11 13:40 · 稿源:差评公众号

声明:本文来自于微信公众号 差评(ID:chaping321),作者:差评君,授权站长之家转载发布。

差评君这两天逛知乎的时候看到一个问题:为什么魂斗罗只有 128 KB 却可以实现那么长的剧情?

其实以现在的标准来看,1987 年发布的《 魂斗罗 》剧情并不是很长,一共也就 8 个场景线性布置关卡,我拿出一晚上花在动森上的时间没准就能通关。。。

但魂斗罗的 8 个关卡在当时看来也算得上是精心制作了,可它真的只有 128 KB 。

128 KB 是什么概念?这篇花几分钟就能看完的文章所需的流量,都是它的 10 倍以上。

而在 90 年代前后,游戏开发人员可以用这 128 KB 让人快乐一整晚,这是咋做到的呢?

巧了。。。差评君自己是个游戏狂 + 开发者,而且每年都会参加 48 小时极限游戏开发活动。

因此这种关于游戏开发的小问题,俺还真插得上话。。。所以今天来和大家聊聊以前那些能玩挺久的老游戏是咋做得这么小的。

和现在动辄几十 G 的单机游戏相比,由于早些年电子产品技术落后,家用机磁盘空间、显存以及内存捉襟见肘,开发一个效果不错的游戏就像是在电线杆上跳舞

因此,和现在的游戏开发者们相比,当时人们在空间利用率上可谓是登峰造极。

一般认知来说,游戏 = 艺术 + 技术。从技术角度上来看,「 艺术 」通过素材展现,「 技术 」通过代码实现。

翻译成人话,古早的 2D 游戏由贴图 + 代码 + 音效组成。

代码其实一点都不占地儿,说白了就是一堆英文 + 数字 + 标点符号的文本文件

差评君打开记事本,用脸滚键盘瞎敲 1000 个英文数字保存起来,这个 txt 文件也就 4KB 

与之相比,贴图和音效这些美术素材是当时开发者要头疼的玩意儿。

先说说贴图吧,在计算机里任何东西本质上都是一堆信息,一张图要包含每个像素的颜色信息 + 像素所在的位置信息。

比如说我前一张拿来说明 1000 个字符占地 4KB 大小的示意图,它本身其实占用了 44 KB 

虽然 FC 时代的主流游戏素材存储格式上和现在有所差别,但大致是这么个意思。

那张 44 KB 的图尺寸是 788 * 388,而 FC 经典游戏《 超级马里奥兄弟 》第一关地图所有场景尺寸加起来起码得是那张图尺寸的 N 倍。

而且它还有 8 个场景,每个场景又有 4 小关。

可《 超级马里奥兄弟 》的大小只有 64 KB,比魂斗罗还小。

这时候得介绍个方法:Tile Map 

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

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

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

其实这一点只要大家仔细观察就能发现,当时的老游戏重复素材特别多,例如一开始提到的《 魂斗罗 》也不例外。

在红白机时代的游戏,只要素材读取好了,运行的时候用代码告诉计算机这块素材应该出现在哪个位置就行了。。。代码占地儿小啊,写起来不心疼!

也就是说,你小时候在电视里浴血奋战的地方其实是 「 赶工 」赶出来的,只不过这个赶工运算量并不大,当时游戏帧率要求也不高,所以完全不影响体验。

差评君甚至见过一个极端例子:整关的 Tile 加起来才 10 个,然后剩下的都是代码。。。

然而,用重复素材搭场景还是不能满足贪心的老开发者,他们还有些骚操作

咱们再看看这张熟悉得不能再熟悉的场景吧。

 

这个场景里的云朵和草垛其实是一个玩意儿,差评君当年刚听说这个冷知识的时候,感觉童年被敲碎了。。。你不信再仔细瞅瞅形状和纹理,它俩除了颜色一模一样。 

如此一来只需要在生成草垛的时候借云朵过来,加一个颜色的信息,就行了。

这让我想起大学时代月底零花钱濒临透支时,只买一个菜然后问阿姨多打点汤汁浇在饭上的感觉一样,人在资源缺少的时候能做到多抠,你永远想像不到。

这个手法其实也挺常见。。。魂斗罗双人模式下的奖牌,两个兄贵的模型,也是这么干的。

一个游戏除了画面,还要有音效,声色俱佳才能成为经典,但音效这种多媒体素材也是个占地方的玩意儿。

去任天堂官方网站下载了《 超级马里奥兄弟 》用 MP3 格式存储的背景音乐,短短 1 分 21 秒你猜猜占地多少?

Super Mario Bros. medley来自差评00:0001:21

3.13 MB 。。。而 FC 版本整个游戏的大小前面也说了 —— 64 KB 。 

其实在 FC 时代的游戏里,音效存储和现在很不一样。

现在的主流音乐格式其实是音频文件,这类文件里存储的信息要描述整个声音的构成。

但在 FC 时代,游戏音效的处理思路可以参考 MIDI 文件,只存储排列好的音符当中的音色、频率和音高等。

这两类文件,哪个信息量大,一看就明白了吧。

说白了,用类似 MIDI 文件存储的是一本乐谱,而音频存储的是整个演奏出来的音乐。

现在咱们对几 M 的空间一点都不心疼,所以就直接存下整个音频了。但在当时。。。想想差评君那个食堂里打饭的例子吧。

那么问题来了,只存储乐谱确实省下很多空间,但得有人演奏才能出声啊。

因此老游戏机里往往会用一块专用的音乐合成芯片,专门用来处理这些「 乐谱 」,实时合成音乐。

只不过这些芯片能合成的音色种类有限,往往听上去都大同小异,但也颇有风味,被称作 Chiptune —— 芯片音乐或者是 8-bit 音乐,现在还有些音乐人在玩儿这个风格。

除了小格式 + 专用芯片,FC 时代的老游戏音乐往往不长,就是几个旋律来回循环,这么一来游戏音效占地也就不大了。

再加上当时没有游戏引擎的概念,代码直接用硬件跑,这又省了很多不必要的文件。

于是,我们看到了一个仅仅占用 128 KB 却包含 8 个关卡的《 魂斗罗 》,或者是占用 64 KB 却包含 32 个关卡的 《 超级马里奥兄弟 》。

在当年的极限开发环境下,一个游戏程序员不光要知道怎么实现功能,还要知道怎么省资源,想骚点子压缩素材。。。放现在的游戏公司里,那些人个个都是特种兵。

存储和传输技术都比较落后导致的这一情况,其实持续得挺久。

哪怕 2000 年之后开发者已经能稍微放开手动作大一点了,人们对空间大小依旧很敏感:游戏下载要吃网速,安装要占硬盘。

在网络游戏时代,差评君还听说过有产品经理因为安装包太大会考虑砍功能的坊间传说,就怕用户嫌下载时间久,不尝试了。

不知道各位还记不记得,小时候和同学在课间讨论游戏时,假设有人吃下了某人的推荐,一定会问一句:这游戏多大?

随着网络基础建设突飞猛进导致网速变快,存储技术提升导致存储成本下降,开发环境没那么极限了,人们没这么敏感了,「 这游戏多大 」这句话也很少听到了。

回到当时音频和 MIDI 的例子,现在存下大音频文件花的成本,可能比加一块音乐合成芯片低很多。

放开了手脚的游戏业界,把 3D 游戏做出了新高度,用大量逼真建模和素材堆出极度真实画面的同时。。。

在占用空间上也开始放飞自我:在 2011 年 id Software 发售了一款游戏《 狂怒 》,需要占用 25G 硬盘空间,这大胆动作在当时被各大玩家论坛吐槽,但也就这么卖了出去。

2018 年 R 星发售的 《 荒野大镖客:救赎2 》占用了 100 多 G,差评君买的 PS4 版本到手是两张蓝光碟的罕见情况,周围尽管有吐槽,但似乎没有 7 年前吐槽 《 狂怒 》那么狠。

技术发展,对一切事物的改变是很大的:当时的人们理所当然为了几十 KB 绞尽脑汁做优化,现在的我们理所当然觉得一个 3A 大作占用几十个 G 非常合理,这两者差了好几个数量级。

科技发展改变的不光是我们的生活,也能极大改变我们的认知。

  • 相关推荐
  • 大家在看
  • BSN合格开发者介绍——米链科技

    2020 年 6 月 1 日,杭州米链科技有限公司正式成为国家级区块链服务网络BSN的合格开发者资格,将为BSN的开发者提供专业技术支持。BSN是由国家信息中心、中国移动、中国银联等机构共同发起组建的一个跨云服务、跨门户、跨底层架构,用于部署和运行区块链应用的全球性公共基础设施网络。BSN是全球首个由中国自主创新并控制入网权的网络基础设施网络,可在全球进行快速部署。区块链服务网络(Blockchain-based Service Network)(以?

  • 游戏开发者盛赞索尼PS5SSD:快到没有载入时间

    命运多舛的全新索尼PS5游戏主机终于正式揭晓了,该机采用了双色“夹心”造型设计,号称面向未来。不过本次发布会主要已游戏大作为主,至于玩家所关心的部分核心参数、售价和上市时间等仍处于保密状态。现在有最新消息,近日有外媒表示,PS5的游戏加载体验获得游戏开发者们的广泛赞扬。据外媒最新发布的消息显示,近日PS5的游戏开发者们在谈到PS5游戏加载体验时,纷纷大赞。其中,《NBA 2K21》在一段演示视频中

  • 李楠评价苹果WWDC:果然是抄袭到全球开发者哭泣的大会

    6月23日消息,一位知友在知乎提问,如何评价2020年苹果全球开发者大会?李楠表示,那些Android十年前就实现的东西不说了,果然是抄袭到全球开发者哭泣的大会。李楠指出,苹果WWDC有意思的地

  • 开发者:苹果不会让iOS 14对外支持通话录音功能

    之前曾有外媒给出消息称,苹果将会在iOS 14上增加通话录音功能,这让不少用户期待不已。从曝光的截图上看,用户需要获得通话人员的同意才能启用通话录音功能,并且在通话过程中严禁与他人共享

  • Chromium与Go开发者提议替换“blacklist”与“slave”等词

    ​最近美国引发的“Black Lives Matter”运动使得各种抗议声音不断,技术圈也有支持这一运动的行动。从源码中的一个新 commit 来看,Chromium 有开发者提议移除“blacklist(黑名单)”这样的字眼。

  • 创新重构科技未来 华为携手全球开发者让更多美好发生

    6 月 30 日,华为HMS全球应用创新大赛正式启动,华为宣布耀星计划为本次大赛特设 100 万创新激励奖金,鼓励更多开发者集成HMS Core,创新应用体验。目前,HMS全球生态步伐持续加速,全球集成HMS Core的应用数量超过 6 万,越来越多的开发者正在与华为一起为全球消费者带来全场景智慧生活体验,通过应用创造更多社会价值和创新体验。 大赛线上启动仪式上,华为分享了来自全球开发者的创新应用案例:小艾助视器助力视障人群更好地认?

  • 苹果调整应用审核流程,开发者可以“挑战”App Store规则

    ​苹果本周一表示,将允许软件开发商"挑战"管理其应用程序审查流程的指导方针,并将停止因轻微违规而阻止修复常规漏洞的做法。

  • 苹果服软了:调整应用审批政策 开发者可挑战App Store规则

    在应用开发者上周纷纷对苹果App Store规则表达愤怒之情后,苹果周一表示,从今年夏天开始,将对其应用审批政策做出两处调整。作为苹果应用审核系统的一部分,所有iPhone应用都需要接受苹果员工的审核,以便检查这些应用是否违反了苹果的“指导方针”,然后确定应用能否在App Store上架,或者是否让开发者进行修复。根据苹果周一公布的新闻稿,从今年夏天开始,苹?

  • 苹果iOS14开发者预览描述文件短暂泄露,目前已被撤回

    6月15日,外媒报道称在当天上午早些时候有一些开发者发现,苹果悄然发布了iOS 14 Developer Beta开发者预览升级的描述文件,不过最后时刻官方撤回了这个文件,防止新系统提前泄露。

  • 首批适配!ColorOS正式发布Android 11开发者测试版:暗色定时、超级省电

    如此前预告,今天下午,ColorOS官微宣布,Find X2系列基于Android 11 Beta1版本的ColorOS测试版正式上线。 开发者与尝鲜用户可以通过OPPO开放平台下载体验。6月11日,在

  • 夸张!PS5游戏开发者盛赞SSD载入时间:读进度条不存在

    PS5最大的进步就是全新引入的高速SSD极大缩短了游戏加载时间。据外媒报道,近日,PS5的游戏开发者们在谈到PS5游戏加载体验时,纷纷大赞。其中,《NBA 2K21》在一段演示视频中展示,只需两秒即

  • GitHub今日的宕机事件影响数千名软件开发者

    今天上午,GitHub发生服务瘫痪的情况,对于数千名软件开发者来说是一个灾难。这家微软旗下的服务通过Git提供版本控制,并为软件开发提供托管的重要服务宕机一个多小时。故障表现在GitHub用户在登录该服务时出现了错误,一些用户甚至无法使用他们的集成开发环境(IDE),因为软件开发环境与该服务的联系非常紧密。

  • 案例 : AppGallery Connect 开放67项服务,到底为开发者解决了哪些难题?

    作为面向开发者应用的一站式服务平台,华为应用市场AppGallery Connect致力于为开发者提供应用创意、开发、分发、运营、分析等全生命周期的服务,构建全场景智慧化的应用生态。

  • 中国互联网协会:网络游戏运营企业应强化防沉迷实名验证

    昨日晚间,中国互联网协会发布《防范未成年人沉迷网络倡议书》。中国互联网协会称,近年来,因未成年人沉迷网络引起的社会矛盾凸显,引发社会普遍关注。为展现社会主流价值观,营造积极向上的网络文化环境,切实保护未成年人身心健康、防范网络沉迷

  • 苹果股价历史新高 WWDC开发者大会助力苹果再创历史

    6月22日晚上,苹果的WWDC全球开发者大会正式举办了,受此影响,苹果股价再次创历史新高,飙升超过2%,最高涨至359. 46美元。苹果股价历史新高苹果CEO库克表示,对于Mac而言,这绝对是有历史意义的一天。库克表示,第一款采用苹果芯片的Mac预计将在今年年底面市,预计过渡期需要两年时间。Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待京东自营¥5999去购买苹果股价历史新高原因据苹果公布,苹果的WWDC全球开发?

  • 米链科技携手蚂蚁区块链,助力开发者便捷高效上链

    日前,杭州米链科技有限公司与蚂蚁区块链就蚂蚁开放链盟链达成合作,确定米链科技为蚂蚁开放联盟链的链上节点服务商,双方已经完成协议签署。杭州米链科技有限公司于 2016 年成立区块链项目团队,专注区块链技术在数字资产、供应链金融、存证、信息溯源、数据安全等领域研究开发,致力于实现让区块链技术更普惠,帮助企业和开发者降低区块链应用开发门槛,实现快速、低成本上链,通过自主研发的区块链技术服务平台,为企业以及开发

  • 苹果公布WWDC20日程 苹果开发者大会时间、细节公布

    北京时间 6 月 12 日凌晨,苹果宣布了 WWDC20 开发者大会的时间表。从 6 月 22 日到 26 日,苹果全球开发者社区超过 2300 万名开发者,将以前所未有的虚拟方式齐聚一堂。

  • 字节跳动 8 年,抖音、头条的技术能力开发者都可以用起来了!

    在国外热门的内容平台 Medium 上,一位开发者写了篇题为《How Much does it Cost to Develop an App like TikTok》的文章,从必备功能、技术能力需求、研发团队要求到实际开发成本等多个维度,对开发一款像 TikTok 这样的 App 的成本究竟有多少进行了仔细的盘算。

  • 炮轰苹果内购分成霸王条款 Basecamp呼吁给开发者更多选择

    Hey 是 Basecamp 开发的一款电子邮件应用,其在近日卷入了与内购有关的争议中。此前人们展开了围绕科技巨头应用商店政策的讨论,且很大一部分都是与收费问题有关。不过该公司 CEO Jason Fried 在周五发表的一篇播客文章中表示:本次争议更多地围绕客户体验,而不是金钱方面。

  • 一加宣布面向OnePlus 8系列的Android 11开发者预览计划

    DoNews 6月12日消息(记者 刘文轩)Google刚刚正式公布了Android 11第一个beta版本。现在,一加宣布了面向OnePlus 8和OnePlus 8 Pro的Android 11开发者预览计划。Android 11将带来重新设计的短信通知界面、改进的隐私功能、对可折叠设备的支持、快速访问智能家居等特性。一加也提醒想要尝鲜的用户,该版本还不太稳定,比如以面部识别解锁、“OK Google”、视频通话等功能目前还无法在这一版本中运行。

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议