40KB大小的红白机游戏能做成什么样?这支独立团队在挑战这个极限

游研社
2018-10-11 09:53:02 浏览:0 0

本文作者:大闸蟹吧

  现在还有人为35年前发售的FC开发游戏吗?答案是“有”,并且还不少。这支名为Morphcat Games的二人独立团队也在开发一款全新的FC游戏,并且他们在挑战一个新的极限:将游戏的容量控制在40KB以内。

  仅有40KB的FC游戏存在吗?存在,初代《超级马力欧兄弟》就是。但如果将它的画面和Morphcat Games正在开发的《Micro Mages》相比,或许你会发现Morphcat Games到底是在挑战什么样的极限。

  《超级马力欧兄弟》固然是经典中的经典,画面也达到了当时的最高水准。虽然《超级马力欧兄弟》的画面和《Micro Mages》比起来有点不那么生动,但是它同样也在压缩上付出了艰辛的努力。

  和现在的游戏不同,FC游戏的画面由背景和活动块构成,背景是固定的,顶多能以卷轴形式活动,活动块的位置可以变化,但如果想让它们做出“动作”,就要像动画片一样,轮流播放不同的图案。游戏中用到的所有图案,包括角色动作的每一帧形象,都保存在ROM里。

游民星空

  但这就是马力欧在游戏里保存的活动块吗?其实并不是

  FC前期的卡带上有2个记忆晶片,其中一个是跟CPU关联的PRG,它储存了游戏程序和声效,另一个是CHR,它跟FC的图形处理器(Picture Processing Unit)关联,里面保存着游戏用到的所有图形素材。在一张40KB的卡带上,CHR的大小只有8KB,并且其中一部分只能用于活动块,另一部分只能用于背景——这么做的目的是让开发者尽可能多地利用这些空间。

游民星空

  背景和活动块的每个单位,都是8x8像素大小的图案。FC呈现的画面本质上是一个32x28的网格,因此分辨率是256×224。每个活动块只能包含三种颜色,所以想用单个活动块去表现角色是非常难的。在《超级马力欧兄弟》里,吃了红蘑菇的长大马力欧就包含8个活动块。

游民星空

  那么,在一个8KB大的CHR里,留给活动块的空间是多少呢?答案是只能摆256个。栗子小子的走路动作,其实是一副形象不停地镜像切换,这也是为了节省空间。

游民星空

  而由于角色的形象都是活动块拼接而成的,所以保存在CHR里的数据,其实长这样:

游民星空

  而在这么多的限制下,《Micro Mages》还要做到以下几点:

  主角除了移动和攻击之外,还有踩墙跳、攀爬等等动作

  支持1-4人同屏游戏

  8个大关,26个小关

  隐藏要素和高难度模式

  最后,这款游戏要被制作成卡带,并能够真实地在FC上运行。

游民星空
Morphcat Games准备制作的实体版游戏

  你可能会问,不管是日版的FC还是欧美的NES,不都只能插两个手柄吗?其实在1990年,任天堂为NES发售了一款名为“NES Four Score”的手柄分插器,当时有20多款游戏支持四人对战,日本市场则是由外设大厂HORI推出了同等功能的设备。

游民星空

  当然,可能大部分玩家都不曾知道FC/NES有四人对战的游戏,因此《Micro Mages》支持这个玩法,算是强行提高难度。FC游戏的另一项限制,是画面每行只能显示8个活动块。你可能会发现一些FC游戏有时候会出现角色身体的某块部位消失的情况,这就是同一行超过8个活动块导致的。

游民星空

  而四人对战,毫无疑问地增加了出现这种bug的可能。

  Morphcat Games原本设计的主角是一个戴着帽子的小男孩,但这个形象需要占用4个活动块,如果4个玩家一起玩,那么同一行的活动块数量就会达到8个,这时候再出现一个敌人,角色们就会出现角色闪烁、消失的问题。

游民星空

  如果主角形象需要占用4个活动块,同一行的活动块数量就很可能超过8个

  主角的形象也因此被改成了戴着帽子、黑着脸的1.5头身小法师,这个形象只占用1个活动块,因此在游戏画面上,它看起来比我们熟知的任何FC游戏主角个头都要小,而这也可能是开发组把游戏名定为“Micro Mages”的原因。

游民星空

  开发组为小法师设计了多达23种动作状态,这使得它看起来比其他任何FC游戏主角都要活泼,而这些动作也只占用了23个活动块,因此CHR里还可以放下很多敌人和NPC。

游民星空

  游戏中还存在着一些体型较大的敌人,开发组也想为它们设计出不同的动作和表情,这时候的压缩大法,自然是将对称的地方整合复用了。

游民星空
这是第一关BOSS的所有表情,每个的大小为4x4个活动块

游民星空
把BOSS切开,将一些可以复用的部位整合成一个

  在场景上,FC运作的方式,就像是从背景CHR里选出指定的方块图案,放到指定的位置上,因此每个场景都需要花费一定的容量去记录方块的摆放方法。如果按照32x28的规格去记录,那么一屏场景的数据就要占用960字节的空间,很奢侈。

游民星空

  Morphcat Games的做法,是在原有的背景库之外,额外设置两个库,将4个方块组合在一起,称之为“大方块(meta-tile)”,并且把组合而成的各种大方块放在“大方块库”里。

游民星空
这是最基础的素材库

游民星空
这是大方块库,其中的每一个方块都有4个基础方块构成

  这还没完。他们又把4个大方块组合在一起,称之为“大大方块(meta-meta-tile)”,然后再把它们放在“大大方块库”里。

游民星空
这是大大方块库,每一个方块都由4个大方块构成。另一个需要注意的是这个库里格子的数量

  这样做的话,在记录场景数据时,画面的密度就相当于从32x28变成了8x7,只占用60字节的空间。但Morphcat Games发现,这样做还是没法把游戏压缩到40KB大小。

1 2 下一页
友情提示:支持键盘左右键“← →”翻页
人点赞
0人订阅
为你打开游戏新视野,带你领略游戏无限魅力。
40KB的FC游戏能做成什么样?他们在挑战这个极限https://imgs.gamersky.com/upimg/2018/201810110927096331.jpg