红白机|只有鬼才设计师才能做得出来!那些榨干游戏主机性能的惊人之作( 四 )


开发技巧钻牛角尖
低机能的主机不只限制游戏在画面上的发挥 , 更甚者甚至还会影响其他方面的演出 , 令游戏运作起来时无法得心应手 , 在此又是开发组花心思的时候 。 说到这里 , 相信不少会想起《FF》(最终幻想)的飞空艇高速化传说 。 话说在《FF1》开发时负责企划的石井浩一希望飞空艇在飞行时版图下方会出现飞空艇的黑影 , 当时开发组均认为不可行 , 但翌日却经游戏界传说程序员Nasir Gebelli之手呈现 , 而且移动速度还比之前快4倍 。
在此之后 , 于《FFII》及《III》中Nasir再度大显身手 , 同样地不但让飞空艇附有影子 , 而且速度更达通常步行的8倍 , 来到这里几乎已达Bug的地步 , 更有传闻指《FFIII》在DS重制版出现前难以移植往其他主机上 , 其中一个理由正在于无法重现高速化飞空艇 。

事实上那时官方只表示「以WSC而言技术上有困难」 , 并非单指飞空艇一事上 , 个人来说不少玩家好像有点把Nasir及其编写的程序神格化 , 但从中亦可反映出包括《FFIII》在内的红白机程序的难解之处 。 其实红白机用的程序为组合语言 , 类属低阶编程语言 , 简单来说就是只有相关设备(在此为红白机)才能理解的语言 , 在其他平台上则无法简单转换 。 若充分了解的话能做出如《FF》飞空艇般超越主机性能、只属程序员个人的「密技」 , 但这技巧却难以移植往其他主机上 。
不只《FF》 , 在其他红白机游戏里还有大量有趣的「开发密技」 。 红白机在同一横轴上最多只可显示4个8px乘8px大的子画面 , 所谓子画面是指在游戏背景画面上叠上的可动图像 , 简单来说角色的行动是由叠在背景上方的子画面们构成 。 早期不少日系RPG的我方队伍都被固定在4人或以下 , 最大原因正是如此 。

不过到了《DQIV》 , 除了我方4人外还有一台马车 , 换成程序的话就是第5人 , 5名角色同时以子画面表达基本上并不可行 , 于是开发组巧妙地将队伍排成十字 , 以防同一线上超过5个子画面;而《FF》系列更果断地只让先头角色显示在移动画面上 , 大大省下子画面的数目 。
当然 , 各种程序上的奇想并不只限于红白机上 , 1984年街机作品《德鲁亚加之塔》足可证明这一点 。 在此作中 , 玩家要突破60层迷宫 , 各迷宫设有固定机关及解谜手法 , 然而初次游玩的玩家大概无法想像 , 其实全60层迷宫均由乱数生成而非固定设定 。 此作的迷宫配列由乱数安排 , 不过开发组在拟似乱数程序上加入Seed值 , 令每次开机的乱数都固定下来 , 成为现在的结果 。 将生成随机结果的工具反过来变成固定结果用途 , 程序大幅简化 , 容量亦得以减少 。

虽然如今的游戏开发无需要动用到上述技巧 , 但是这些鬼才的思维方式 , 我想在今天的游戏界中也很值得参考 。 毕竟再优秀的硬件 , 还是需要靠游戏设计师天马行空的想象力才能走到高峰 。

推荐阅读