Bomb Float · 思考的食粮
「漂浮」出现在标题里是有道理的。正是这一个动词,把 Bomb Jack 与1984年其他所有平台跳跃游戏区分开来,而 Bomb Float 的整套手感,也正是围绕它搭建起来的。
本文以英文撰写和编辑。此中文版本由机器翻译生成;凡涉及准确性之处,以英文原文为准。 阅读英文原文 →
Bomb Float 的主角几乎没有什么可用的手段,而这正是重点所在。他能向左跑、向右跑,以及按下一个跳跃键。引擎却从这一个跳跃键里,哄出了五种彼此分明的行为;学会感觉它们之间的界线在哪里,几乎就是这个游戏里「玩得好」的全部含义。3
在地面上按下跳跃,主角会得到一记固定的向上踢力:引擎把他的竖直速度设为每秒 −270 像素(取负值,是因为在屏幕上「上」是负方向)。3 这是第一种行为:起跳。第二种是可变高度。如果你在主角因地面起跳而仍在上升时松开按键,引擎会把他向上的速度乘以 0.45,把余下的爬升截断。空中抬升不在此列:它是一记固定高度的冲量,用过之后再松手,并不会把它削短。3 轻点一下是小跳,按住不放是全高的一跃。自 Super Mario Bros. 以来,每一款优秀的平台跳跃游戏都有这套机制的某个版本,而 Bomb Float 的版本堪称教科书。
第三种行为,是街机玩家会凭本能去够的那一种。当主角已经身在空中时再点一次跳跃键,他会获得一记全新的向上踢力,竖直速度被设为 −230 像素/秒,而地面起跳是 −270。换算下来,这大约值 33 像素的爬升,地面起跳则是 46 像素,所以一次抬升略少于一次跳跃的四分之三。每一次飞行途中他有三次这样的点按,而且只有当双脚触到什么东西时才会补满,所以主角能够往上爬,却不能就这么飞起来:一次地面起跳外加三次抬升,大约能买到 144 像素的高度,此后他就用尽了,只能等着落地。3 这是那款街机原作赖以成立的另一个动词,也正是关卡被这样层层叠起的原因——第一层之上的那些平台,单靠一次跳跃根本够不着。第四种和第五种行为,则是它不再是教科书、而开始成为 Bomb Float 的地方。
一旦主角腾空并停止上升,按住跳跃键就会做出那件让街机原作声名远播的事:把他的下落放慢成一段缓缓的漂移。引擎用两套重力来实现它。正常重力的拉力是 760 像素/秒²。但只要主角离开了地面、按住跳跃、并且不再上升——从最高点起——引擎就会把他切换进漂浮状态,换上一套仅有 150 像素/秒² 的漂浮重力,勉强只有正常拉力的五分之一。3
它还给速度设了上限。一次正常的下落被限制在 360 像素/秒的终端速度;而一次漂浮的下落,上限只有 90 像素/秒,是前者的四分之一。3 所以下落与漂浮之间的差别是巨大的:五分之一的加速度,四分之一的最高速度。松开按键,重力立刻恢复全力:这就是第五种行为——刻意的下坠,也是你在需要时迅速落下来的办法。改为按住不放,主角便悬在那里,以他平常的奔跑速度向侧面漂移,同时几乎不怎么下沉。
| 量 | 下落 | 漂浮 |
|---|---|---|
| 重力(像素/秒²) | 760 | 150 |
| 终端下落速度(像素/秒) | 360 | 90 |
| 起跳速度(像素/秒) | −270 | −270 |
| 空中抬升速度(像素/秒) | −230 | −230 |
| 奔跑速度(像素/秒) | 96 | 96 |
那几个数字,就是浓缩成一张表的整套游戏手感。因为无论你站在地上、跳在空中还是正在漂浮,水平奔跑速度都恒为 96 像素/秒,所以一次按住的漂浮,会把一次跳跃变成一段长而平、可操控的滑翔。你与其说是在解一道跳跃题,不如说是在驾驶一次下降。在一片仅有 240 像素高的场地里,一次被限制在 90 像素/秒的下落,会给你将近三秒的时间来挑选落点——以街机的标准衡量,这简直是一个永恒,而当你原本瞄准的那块平台刚刚在你脚下被炸没时,这恰恰就是你需要的余量。3
一次跳跃是一项承诺。一次漂浮则是一场谈判:你不断地与重力讨价还价,一次按住一下按键,直到找到一个可以落脚的地方。
漂浮式的平台跳跃是有名声的,而且那名声并不总是善意的:在一款讲究精准的游戏里,它会让人觉得不精确——一个你想让他下来时他偏不下来的主角。但 Bomb Jack 在1984年就明白了,而 Bomb Float 又重新发现了这一点:对于一款在单一固定屏幕上进行的收集游戏来说,漂浮恰到好处。当目标是碰到每一颗炸弹、而不是熬过一连串像素级精确的跳跃时,滞空时间就成了一项优点。它让你可以在半空中重新瞄准、在巡逻的敌人之间穿针引线,并且随时修正路线。1
引擎在别处也以一些细微的方式偏向这份宽容。主角每次死亡后重生时都带着一段无敌时间,整整 1.5 秒,所以重生绝不会把你直接丢到一个守株待兔的敌人身上。3 与此同时,整套模拟运行在固定的 60 赫兹时间步长上,因此漂浮在每一台机器上的表现都完全一致,同一个种子也总是以同样的方式摆放炸弹、并以同样的顺序点燃引信(画面本身的形状,则来自一组手工调校的布局,随关卡循环取用)。3 宽容的移动,确定性的物理:正是这种组合,让一款漂浮的游戏感觉是公平的,而不是软塌塌的。
Bomb Float 骨子里是一款冲分游戏,而这份 DNA 是直接从街机继承来的。对一名称职的玩家来说,清空屏幕从来都不真是个悬念;游戏真正提出的问题是你在清屏的过程中榨出了多少分? 它的计分机制被造出来,就是为了奖励纪律、惩罚马虎。1
分数的发动机是连锁。你抓到的每一颗点燃的炸弹都值固定的 100 基础分,但它同时也会让连锁计数器加一,而每一次抓取还会在此之上再加一笔 100 乘以连锁数的奖励。3 因此第一颗炸弹值 200 分,即 100 基础分加 100 连锁奖励;而如果连锁从未中断,第二十四颗就值 2,500 分。连锁正是「干净利落、一气呵成地拿下全部二十四颗炸弹」远比磕磕绊绊地拿下得分高得多的原因,也是死亡要付出双重代价的原因——因为死亡会把连锁清零。3 引擎甚至会把你这一轮里最好的连锁记录下来作为一项统计,静静地怂恿你去打破它。
点燃的炸弹:100 基础分,外加 100×连锁 的奖励。在强化状态下击败一个敌人:500 分。清空全部 24 颗炸弹:1000 分的关卡奖励。而一个可通过奖励获得的「2× score」(双倍分数)加成,会把这一轮接下来赚到的一切都翻倍。3 最优的打法不只是「清空屏幕」,而是「一次都不断连锁地清空它,并且把强化金币兑在敌人扎堆的时候」。
那枚强化金币,是 Bomb Jack 那个弹跳的「P」的直系后裔。维基百科的 Bomb Jack 条目记载,在原作中,填满奖励槽会召唤出「一个圆形的弹跳『P』」,它「会在短时间内把所有敌人变成奖励金币」。1 Bomb Float 保留了这份幻想,并把时间掐得很精确:抓到金币会给主角 6 秒钟,在这期间碰到敌人是以 500 分击败它,而不是害死你。3 追求分数最大化的玩家不会在金币一安全就去抓它;他们会把它留到敌人聚得最密的那一刻,把一场恐慌变成一次发薪日。
若没有1984年那款小小的街机游戏,这一切都不会存在——它由一家从前做清洁设备的公司以 Tehkan 之名推出。维基百科把 Bomb Jack 归档为「一款1984年由 Tehkan 开发并发行的平台游戏」,设计者是 Michitaka Tsuruta 与 Kazutoshi Ueda,主演是一位披风英雄,他「能做出高高的跳跃并在空中漂浮」,目标是「收集屏幕上全部 24 颗红色炸弹」。1 Tehkan 直到1986年才把自己更名为 Tecmo,所以原版的招牌上从来没有真的写过「Tecmo's Bomb Jack」,这是个值得弄清楚的细节。2
让它站住脚的并不是它的设定,而是那个关于顺序的钩子。炸弹并不是可以互换的圆点。「一旦收集了一颗炸弹,」记载写道,「炸弹就会按顺序依次点亮;如果收集了一颗点亮的炸弹,另一颗就会点亮」,而且收集点亮的那一颗,能更快地填满奖励槽。1 那条可选的纪律——是按顺序去追那根点燃的引信来拿分,还是就近抓一颗只求清屏——正是 Bomb Float 用它的连锁所做的一切的种子。这次致敬只是把那条建议硬化成了一条法律:在这里,只有点燃的那颗炸弹才是活的。
原作把这个循环包裹在一套 Bomb Float 大体上舍弃了的街机经济里。Bomb Jack 在上面叠加了字母道具:把分数倍率最高提到五倍的「B」、多加一条命的「E」、以及罕见的、奖励一次免费游戏的「S」,并在它那「五种不同的画面」里塞满了会变形为飞碟和光球的鸟与木乃伊。1 Bomb Float 保留了其中最有个性的两个想法——引信点亮的顺序,以及那枚吃敌人的金币——并悄悄丢掉了那些只有在机器想掏你下一枚硬币时才说得通的街机附属品。
| Bomb Jack,1984 年 | 在本作中 |
|---|---|
| 披风英雄:高跳 + 漂浮 | 保留,作为核心物理 |
| 一屏 24 颗炸弹 | 保留,分毫不差 |
| 引信点亮的奖励顺序 | 保留,并硬化为规则 |
| 弹跳的「P」:吃敌人的道具 | 保留,化为强化金币 |
| B / E / S 奖励字母 | 舍弃 |
| 会变形的敌人种类 | 简化为光球 + 鸟 |
| — | 新增:会引爆并使地形变形的炸弹 |
一个1984年的设计,为什么今天还撑得起一款新游戏?当它所属的那个时代有那么多东西都已老化成纯粹的怀旧,这是个公道的问题。答案是 Bomb Jack 的内核异常抽象。它不是一款关于某段特定虚构故事、或某份特定敌人名单的游戏;它是一款关于一具漂浮的身体、一组固定的目标,以及一种奖励自律者的可选顺序的游戏。这些是几何学的想法,而不是属于某个时代的想法,而几何学不会过时。3
Bomb Float 押下的赌注是:你可以拿走那副永不过时的骨架,用现代的确定性物理忠实地还原它的漂浮,保住它冲分的灵魂,然后恰好添上一个新的器官——会在你清屏的同时重塑关卡的炸弹——而身体不会产生排异。从代码所提供的证据看,这一赌注之所以奏效,恰恰是因为那份漂浮本来就在那里接着你。如果主角像块石头一样往下掉,一个地面会自行重排的游戏会显得残酷。给他一段滑翔、两秒左右的滞空,以及一个永不改变的奔跑速度,坍塌的地形就变成了一道你真的能在半空中解开的谜题。3
那位披风英雄在1984年学会了漂浮。四十年后,地面终于学会了移动,而正是漂浮,让移动的地面变得可玩。
这就是整个系列安静的论点。Bomb Float 不是为怀旧而怀旧,也不是一次复刻。它是一个论证:最好的那些四十年前的想法,正是那些抽象到今天仍能在其上继续建造的想法;它也是一次演示——一个精心构思的新想法,铺在一位漂浮的英雄和二十四颗炸弹之上,究竟能做出什么来。1