星之卡比梦之泉level5
nes格式小游戏一般只有百十k大小,而游戏的内容却不少,还有好多配乐,是怎么做到的?
nes格式小游戏一般只有百十k大小,而游戏的内容却不少,还有好多配乐,是怎么做到的?
这个问题还是非常有难度的,FC游戏对容量的控制是非常精确的,通常一款游戏也就几十KB大小,游戏中的“图形”自然不是以“图片”的方式制作的。下面就来讲解一下原理,希望大家不会被绕晕。
画面分割
卡通块与图形字库
调色板
音乐与音效
画面分割组成FC游戏中画面的最小单位是卡通块,FC游戏的画面是用一个个卡通块(cell)拼出来的。每个网格就是一个cell,每个cell为8X8的点阵,与一个字符同样大小。
《超级马里奥兄弟》中,马里奥在吃红蘑菇之前为即由4个cell组成,当吃了红蘑菇之后身体长大一倍,变为由16个cell组成。
一个问号图形也是由4个cell组合拼成的(砖也是),通常将4个cell组成一个元素成为block。
卡通块与图形字库cell有一个图形字库称为CHR,这个库的大小是16X16的,一次最多可定义256个cell,序号依次为0-255。游戏中的所有cell都是从CHR库中调用出来的,因此游戏中的所有画面的cell其实都是重复使用的,图片容量就被限定在这16X16256的CHR之中。
调色板调色板是用来给卡通块上色的,FC一共可以用53种颜色,调色盘从这53种颜色里选取3种颜色,“透明”也算一种颜色(此时显示背景的底色),一共4种颜色。这4种颜色用来给方块上色。这就意味着每个方块只能有4种色彩。
用《恶魔城》的背景举例,将其分割为32x30 960 个cell,2x2 4个cell组成一个block
CHR没有颜色或位置,以图块的形式定义
cell的定义操作极其简单,系统规定一个cell由连续的四个内存单元定义,第一个内存单元指定cell显示的Y坐标、第二个为cell在CHR字库中的序号、第三个为cell的显示状态(配色组合、左右翻转、上下颠倒以及显示于那个卡通页面),第四个为cell显示的X坐标。编程中可任意指定定义卡通的内存页面。
调色板被分成几部分,但是通过在不同区域之间共享颜色可以巧妙地隐藏这一事实。大门中间的红色与周围的墙壁融为一体,黑色背景模糊了城堡和大门之间的界限。
循环音乐为了节约容量,很多FC游戏都会使用循环音乐。有一些游戏为了保证更好的音乐和音效,还会单独使用音乐音效增强元器件,在卡带的硬件层面做处理。
2个方波(主旋律),1个三角波(低音),1个噪音波(高音),1个PCM(语音)
运动中的角色FC红白机会将运动中的角色储存于显卡的特定内置储存区域,这样我们看到的角色会以一个整体的结构进行移动,就像上面提到的小马里奥是4个cell拼成的一个整体。角色的显示是覆盖背景的,无论背景如何设置,在角色覆盖到上层时会被设置成角色的颜色。
滚屏FC之前的游戏,在滚屏操作时几乎要覆写整个画面,性价比非常低。FC内部PPU可以预先储存超过显示部分的内容,玩家在触发滚屏操作后,可以移动游戏镜头。
FC显示画面与声音原理非常复杂,大家就简单了解一下吧,任天堂的黑科技太多了
介绍几款好玩的GBA动作游戏啊?
洛克人ZERO系列,一共4作,应该是GBA动作游戏巅峰作了。银河战士系列2作,融合地图探索和解谜的动作游戏。百玩不厌。恶魔城系列,也是地图探索和解谜的动作游戏,难度较银河战士低,有RPG升级、换装备等一些元素。再就是魂斗罗,合金弹头之类的,动作射击游戏。还有一个较冷门的,守护英雄,都是挺不错的。