难以察觉的艺术:游戏读取界面的秘密
如何让等待的过程变得有趣?
最初的意义
若是回首幼时的红白机时光,你会发现自己几乎没有读取界面的记忆。由于一部分性能相关的芯片内置于卡带,再加上游戏容量极小,主机可以快速的从介质中抽出资料。而 3DS、Switch 之所以需要读盘,主要是因为记忆卡和电路板的传输效率有别,而且读取过程多了一道解压工序。这其实很考验开发者的优化功底,压缩档的数量、大小都得细细研究,否则就会导致游戏载入时间过长。
但早期用磁带、录像带、磁盘和光碟来玩游戏的玩家就有些遭罪了。众所周知,这些介质的速度本就比卡带要慢一截,大多需要先用光头逐点获取凹痕信息,然后再传到电脑输出画面。因此,当光驱和硬盘普及之后,从 PCE 到如今的 Xbox One X,主机游戏的载入速度反而不如以前。
最早的读取界面其实不会有任何提示,用户只能直勾勾的盯着黑屏、收听设备传出来的轰鸣声发呆,但问题在于 —— 载入时间动不动就是十来分钟,我怎么知道电脑是不是死机了?事实上,当人们意识到要在黑屏界面加上“Now Loading”的文字时,已经是 20 世纪 80 年代的事情了。
一般情况下,偷懒的厂商做一句“Now Loading”就完事。但游戏开发者有时还有点艺术情操,既然一部分 Commodore 64 的介质是磁带,那么在读取时干脆让它做回本职工作,借助设备的 SID 声音芯片放一段音乐。与此同时,还有人寄希望于他们画的像素大图能够吸引玩家。
对于三十年前的游戏美术而言,这也是为数不多展现自己的机会。由于那时的游戏容量普遍在 16~64KB 之间,每个图形资源都得精打细算,画面的呈现逻辑也是从存储区实时调用素材,而不是保存图像本身,美术往往受到程序的全面压制。8*8 或者 16*16 的像素小人、两三种颜色,四五个动作帧,极大限制了他们的发挥空间。
在一款 64KB 的游戏中,读取界面可以占到 8KB 之多。与“黑屏读取”相比,这反而延长了大约 10% 的载入时间。 但比起什么都没有,这种形式仍然更容易被人接受。
绘制大图的过程其实无比艰难,由于缺少附带缩放功能的软件,画师得对着十来寸的 CRT 显示器点图点到眼瞎。直到 Melbourne Draw 等工具的出现,这项工作才变得轻松一些。
1987 年的《The Last Ninja》磁带版算是在读取界面的设计上费尽心思,不仅融合了点阵大图和音乐,每个关卡对应不同的主题,甚至还有滚动的文字提示。但作为代价,游戏的载入时间也长达 4 分 30 秒。而为了减少等待期间的焦虑感,当时有人发现了一个名叫“进度条”的玩意。
第一款加入进度条的游戏已不可考,尽管波兰人卡洛尔·阿丹密基(Karol Adamiecki)早在 1896 年就设计出了它的前身,类似的“甘特图”也被广泛应用于各个企业项目。但它真正开始被计算机领域的专家关注,还缘起于米切尔·莫德尔(Mitchell Model)在 1979 年撰写的博士论文。之后再拿出来讨论都是 1985 年的事情了,因此我估计最早有进度条的游戏出现于 80 年代末期。
游戏进度条的逻辑,大多是先取一个 count(文件数量),然后将 0 到 count 进行量化。每读取一个文件就会往前进一步,用“完成量/count”再乘以 100% 得到确切的百分比。由于数值直观可见,用户的焦虑感自然会减少很多。但时至今日,这种形式似乎也变得有些过时。
下一页:更好的选择是?