为什么魂斗罗只有 128 KB却可以实现那么长的剧情?
云栖号资讯:【点击查看更多行业资讯】
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!
个人觉得fc最神奇的游戏还属超级玛丽,32个关卡,每关都不同,各种隐藏要素,好像代码区才10多k,数据区10多k。反汇编看完还是不敢相信这点东西能玩一个童年…现在helloworld的二进制都可能比这大多了。
首先128k并不小
主要消耗存储空间的不是程序
当然对于128k来说程序大小自然也要考虑
鉴于fc是八位机 而且FC采用的是CISC处理器 一条指令就能完成很多事情
所以程序的大小也就现代64位RISC处理器的十几到几百分之一
资源才是大户(包括图像 音乐 地图数据 关卡数据 等等)
就拿图像和音乐来说
图像在没有压缩之前 消耗存储空间和 像素深度和大小有关
FC上的图像 像素深度就2bit的索引而已 而现在广泛使用的真彩色是24bit 包含alpha的需要32bit
这里就差了12倍到16倍
图像大小更是差距巨大
FC普遍一个角色也就是 宽高十几个像素而已
与现在动辄宽高几千像素图像资源相比差了 数万倍到数百万倍
所以图像资源消耗的存储空间 至少差了5~7个数量级
音乐的话
FC采用的是8位midi音乐
而现在普遍用的是PCM音乐
类比到图像中
就像矢量图像和位图的区别
总之PCM音乐的大小和采样深度 采样率 通道数 以及长度有关
midi仅仅和谱子的复杂度有关
所以FC实际上对空间的要求和现代游戏相比至少差了5~7个数量级
你把128k放大10w倍到1000w倍 你就不觉得小了
一些人还提到了什么64k 3d程序什么的
这完全是两码事
FC程序小只是因为需求的资源本来就很小而已
而那种64k 3d程序是因为采用Procedural generation方法
简单的说就是通过数学来描述
而不是通过记录结果的采样
Procedural generation 不光需要的存储空间极小
而且可以做到无限精度
缺点是难以描述复杂事物
并且对算力要求高
而不是用了什么外星压缩法
总结:
1.游戏大量复用图块,图块还使用调色板索引,好像每个像素才占用2bit。
2.程序员精心优化各种数据结构,每一bit存储都不浪费。
3.声音只存储发声通道的调制参数序列,能复用就复用。
4.代码全是汇编写成,直接操作硬件,基本不存在浪费的指令。
【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK
原文发布时间:2020-03-31
本文作者:互联网架构师
本文来自:“互联网架构师 微信公众号”,了解相关信息可以关注“互联网架构师 ”
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
当打之年,非你莫属——阿里云 MVP第12期全球发布
阿里巴巴董事会主席兼首席执行官张勇认为:如今,5G网络、工业互联网、物联网等网络基础、数据中心等数字基础、人工智能等运算基础,成为必要而普遍的新型基础设施。加快“新基建”进度,不是简单的基础设施建设,而是与产业化应用协调推进,既能增强基建稳增长的传统属性,又可以助推创新和拓展新消费、新制造、新服务。未来需要更多拥有创新能力和实战能力的开发者参与到各个行业中,利用“新基建”拓展商业的边界。 阿里云最有价值专家,简称 MVP(Most Valuable Professional),是专注于帮助他人充分了解和使用阿里云的技术实践领袖。近期,我们重磅发布阿里云 MVP 第12期全球名单。 MVP在各行各业里与阿里云一起改变世界,利用新技术打破商业的边界,创造更多新应用、新工具。他们影响着广大的开发者们,成为行业里的弄潮儿! 曾任58集团技术委
- 下一篇
做了那么多架构,你真的懂 SOA 了吗?
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 阿里妹导读:如何统一看待和区别分层架构、微服务架构、分布式架构等主流架构?什么是 SOA?我们采用 SOA 的目的是什么?什么是服务化的本质?如何设计服务以及服务化架构呢? 阿里高级技术专家程彦分享他对面向服务架构的一些看法,并给出相关的步骤和方案,较长,同学们可收藏后再看。 自从提倡 SOA 架构风格以来,个人觉得软件架构并未有特别突破的变革,主要是在 SOA 面向服务架构风格基础上不断演化迭代,基于服务的 EA 明确分层架构也好,微服务也罢,都是在面向服务架构基础上的适应不同的场景的迭代升级。 我先抛出一个观点,我觉得服务化架构的本质,和西方教育界深受影响的古希腊哲学家苏格拉底的“产婆术”的教育思想本质上是非常相通的:苏格拉底的“产婆术”思想强调教育是一个“接生”的过程,教师就是“接生婆”,人们之所以接受教育是为了寻找“原我”以不断完善自身。也就是教育的目的在于唤醒而不再于塑造。同理服务化架构的本质也不仅仅在采用什么样的技术框架实现和塑造,更重要的是在于通过不停地在共创中反问、反思、...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2全家桶,快速入门学习开发网站教程
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Linux系统CentOS6、CentOS7手动修改IP地址