魔法般的瞬时子弹:解析 Unreal Tournament 的武器设计

2025年3月20日

魔法般的瞬时子弹

《Unreal Tournament》武器:第三部分

2025年3月20日 12 分钟

欢迎各位新老读者。本周我将深入探讨 Unreal Tournament,继上周对 Flak Cannon 的讨论之后。如果你需要了解 Unreal Tournament (UT) 的背景知识,请阅读我之前关于这款游戏的文章:首先是关于 Rocket Launcher,然后是 Flak Cannon。今天我们将用我们一贯的吹毛求疵的眼光来审视 Sniper Rifle

虽然 Sniper Rifle 是 UT 武器中最不具有科幻色彩的武器之一,但其效果却不如 Rocket Launcher 和 Flak Cannon 那样合理。我们将探讨这些不合理之处以及造成这些不合理之处的原因。这与视频游戏的设计和构建息息相关:剖析像 UT Sniper Rifle 这样的武器,可以让我们深入了解游戏内部,并洞察设计师面临的选择和限制,尤其是在 UT 这样的老游戏中。

像往常一样,如果您喜欢这篇文章,如果您与志同道合的书呆子和喜欢挑剔的人分享它,我将不胜感激。如果您尚未订阅,请使用下面的链接进行订阅,这样您就不会错过任何帖子。最后,请在下面的评论区发表您的想法,尤其是如果我遗漏了某些内容。希望你喜欢!

“面对世界(Facing Worlds)”是一款经典的视频游戏地图…

如果不谈论 Unreal Tournament 的标志性地图之一:Facing Worlds,就不可能谈论它的 Sniper Rifle。 广泛公认为该类型游戏中最好的地图之一,它是一个小型的、开放的、夺旗1地图:

GIF of Unreal Tournament gameplay on CTF: Face

该地图由两座塔楼组成,塔楼之间由一条人行道连接,并悬挂在类似地球的行星上方的轨道中。这是一个精致的环境,尽管计算机图形技术的发展减少了四分之一世纪。 令人难以忘怀的配乐突出了环境的美感。

当然,所有这些美景都只是史诗般的 Sniper Rifle 决斗的背景,该地图因此而闻名。 每座塔楼都提供大约十几个位置,您可以在这些位置毫无阻碍地看到敌人的塔楼和敌人需要穿过的路线才能到达您的塔楼。 这使得狙击成为一种有保证的高影响策略:别无选择,只能走上连接塔楼的桥梁,即“狙击公路”。 当然,挑战在于,虽然塔楼提供了绝佳的有利位置,但它们并没有提供太多的掩护或隐蔽2。 因此,当您忙于攻击远处的敌人时,他们正忙于寻找和射击您,这给地图带来了残酷的魅力。

今天的帖子不是关于狙击战术和技术的来龙去脉,主要是因为我在这一领域不合格,只能提供二手经验。 毋庸置疑,对于狙击小组来说,伪装和隐蔽与射击技能同样重要。

但我更想关注武器本身:UT Sniper Rifle

GIF of Unreal Tournament gameplay on CTF: Face (spinning Sniper Rifle)

每个塔楼中都藏有许多这些美女及其相关弹药,为著名的狙击决斗提供燃料。 与其余的奇异 UT 武器库相比,这些武器似乎平淡无奇,甚至很无聊。 它们不会发射明亮的等离子螺栓或发光的爆炸性粘液。 它们不会引起大的爆炸。 即使是射击的声音也比 Rocket LauncherRipper 等更花哨的武器发出的声音沉闷而单调。

不要被愚弄:这种武器也许是所有武器中最不真实的。 我们将在下一节中讨论原因。

…但只有忽略物理定律

在 Facing Worlds 或任何 UT 地图中使用 Sniper Rifle 非常简单:右键单击以向下看望远镜瞄准器,左键单击以射击:

GIF of Unreal Tournament gameplay on CTF: Face (headshots with Sniper Rifle)可怜的 Cilia 无法休息

这是一种狙击步枪(或任何带有瞄准镜或瞄准具的武器)的游戏模式,该模式在许多其他射击游戏中都使用。 瞄准、射击并击中(或未击中)。 该游戏使用一种简单的逻辑模型,称为“Hitscan”,以确定每次射击是否命中:

Diagram showing video game hitscan logic

这就是为什么子弹似乎瞬间穿过地图:游戏就是这样建模的。 显而易见的是,这不是现实生活中的子弹的工作方式。 现实生活中判断射击是否命中的逻辑树如下所示:

Diagram showing real-world bullet hit considerations

这种模型是 20 世纪 90 年代的电脑游戏无法复制的,尤其是对于快速射击武器。 此外,多人游戏的复杂性在于,PC 必须模拟游戏玩法并通过相对较慢的互联网连接在多台机器上进行通信和同步,因此可以理解为什么简单的子弹精度模型更受欢迎。

这种情况在 UT 发布后不久就开始改变。 当然,在视频游戏中对弹丸进行建模并不是什么新鲜事:

GIF of "Space Invaders"Space Invaders (1978): GIF from XanderBakker on Esri.

到 21 世纪初,市场上出现了一些射击游戏,它们模拟了飞行时间和抛物线弧中的子弹下落。 Operation Flashpoint 是一款冷战时期的西方与东方3“现实”射击游戏,具有大型开放地图、实际的班组战术、可驾驶的装甲车辆以及从射击者到目标的模拟弹丸抛物线弧。 Battlefield 1942 是一款主要的多人游戏,它将巨大的士兵团队在大型地图中相互对抗,其目的是获得并保持地面。 它还具有各种可驾驶的车辆4和上述子弹物理的抛物线建模。 这些游戏引擎中的大多数实际上并没有创建一个子弹作为物理对象并模拟它在空气中的运动,而是,引擎进行了一些巧妙的数学运算5以确定射击是否命中,然后对损坏进行适当的建模。

Max Payne (2001) 及其 2003 sequel6 将火力物理学提升到了一个新的水平,将每颗子弹建模为一个游戏内物理对象,该对象与其他游戏内对象(例如,您、游戏内坏人)进行交互。

GIF of "Max Payne 2: The Fall of Max Payne"GIF from TheErazerX via Steam Community

Tristan Jung 在 Medium 上给出了视频游戏中子弹的精彩总结。 正如他所解释的,增加计算能力并不总是导致增加复杂性。 一些最新流行的射击游戏,例如 Call of Duty 系列,仍然在其游戏引擎中使用 Hitscan 逻辑:

Image from Tristan Jung, How Do Bullets Work in Video Games? , via Medium

我们将在下一节中讨论其原因。

视频游戏会走捷径,但每个人都会这样做

如果我们想了解为什么游戏设计师会转向更复杂的模型,一个原因(至少对于 Max Payne 和慢动作子弹时间)是为了炫酷。 放慢时间并使子弹更逼真可以使枪战更令人满意和可信。

然而,答案的更大部分是前面提到的大型、更开放的地图。 看一下 Battlefield 1942 的这张屏幕截图:

Annotated screenshot of a beach landing level on "Battlefield 1942"Image from softonic. 请注意某些目标有多远:hitscan 将开始显示其局限性。

在更大的地图中,弹丸的飞行时间变得更加重要7。 相反,在较小的地图上和较短的距离上,它实际上并不那么重要,因为短距离子弹的时间滞后和抛物线效应可以忽略不计。 对玩家不会注意到的效果进行建模绝对没有意义。

无论您为模拟投入多少资源,它都永远只是对现实的近似。 弹药设计师将聘请设计师团队和超级计算机来创建对现实生活中的流体动力学8的模拟,从而影响飞行中的子弹,但仍然达不到现实:

Annotated Schlieren photograph of an AK-47 firingOriginal image from Reddit via u/alex9831. 这些类型的图片称为 Schlieren photographs

没有电脑游戏能够如此复杂地模拟冲击波、流体动力学效应、旋转9科里奥利效应马格努斯效应。 不知道这些是什么? 不用担心,你不是一个人。 狙击手和炮兵炮手听说过这些东西,但每次射击时都不需要担心它们。 这是因为它们有数据表,可以充分地逼近现实世界来完成手头的任务。 需要知道使用什么弹药吗? 有一个表可以解决这个问题。 弹丸应该是什么装药量,我们应该将枪设置为什么方位角和仰角10? 还有 另一个表可以解决这个问题。 如果天气真的很热或很冷,空气密度的变化会产生影响吗? 当然会产生影响,并且还有 另一个表可以解决这个问题。 有很多表(链接的页面上都是同一个),它们在合理的精度范围内考虑了大多数合理的场景,但它们并不代表控制炮弹运动和爆炸的“真实”物理。

下面是一个类似的(但简单得多的)表,用于普通突击步枪弹药(.223″ Remington11,由 Ammo.com 提供并转录)。 这大致显示了子弹在各个距离上的行进速度、到达该距离所需的时间12以及子弹在该时间内下降的距离:

距离(码)| 初速度 (fps)13| 时间(秒)| 仰角(英寸) ---|---|---|--- 100| 2,901| 0.1| 1.3 200| 2,556| 0.2| 0 300| 2,236| 0.4| -6.7 400| 1,939| 0.6| -20.3 500| 1,669| 0.8| -43.4

您可能会从以上内容中注意到以下几点:

这是一个思想实验:假设您在水平轴上发射一颗子弹,并在同一时刻,从同一高度掉落一颗相同的子弹。 哪一个先落地?

Diagram showing a bullet firing on the horizontal plane and a bullet being dropped at the same instant

一个有点令人惊讶的答案是,两者同时落地。 被发射的子弹以每秒近一公里的速度水平行进这一事实,与重力在垂直方向上加速它的方式无关14。 但是,当我们教士兵在现实世界中射击时,我们使用一个非常简化的模型。 他们没有学习弹丸的抛物线轨迹,而是学习假设在“归零”距离处具有平坦的轨迹和没有子弹掉落,在我们的例子中是 300 米15。 对于任何比这更近的距离,子弹都被称为“上升”,因此 100 米处的估计撞击点高于瞄准点 10 厘米。 这也正是您在上面的表格中看到的,尽管他们假设归零距离为 200 码(米)。

我们还教士兵瞄准目标的重心,即敌方士兵的腰部。 这意味着 10 厘米的子弹“上升”会击中上胸部或颈部,仍然是可能的致命一击(忽略您在视频游戏和电影中看到的对“爆头”的关注:真正的士兵会瞄准重心。)。 这种简化的现实版本允许我们以最小的影响士兵对其步枪工作方式的看法来考虑重力的真实影响:

Diagram comparing "bullet rise" explanations of trajectory with the actual reality

使用 hitscan 机制的游戏可能正在走捷径,但我们可以原谅它们。 这些效果不太可能对现实主义产生太大影响,而且我们在现实生活中也采取了这些捷径。

结论:所有模型都是错误的;有些模型是有用的

所有模型都是错误的,但有些模型是有用的 —George Box (统计学家, 1976)

上面的引言是我在工程大学时代最喜欢的一句话。 它适用于科学的每个分支,未能理解其真理是造成无知的首要原因之一。 这意味着无论我们如何努力模拟现实世界无限的复杂性,我们都会失败。 但是,如果我们接受这种限制并意识到我们模型的局限性,那么我们可能会用它做一些有用的事情。

射击游戏中的 Hitscan 机制就是一个完美的例子:它是一个在大多数情况下都能正常工作的模型,并允许我们使用非常简单的数学规则在底层编写游戏。 Unreal Tournament 也不例外:在大多数情况下都是走廊射击游戏,具有快节奏、高强度、近距离交战,很难注意到其 hitscan 机制的局限性。 敌人很少离得足够远,以至于子弹弹道物理变得重要。 Facing Worlds 是一个例外:从步枪枪口到敌人头部的瞬时飞行时间非常明显。 然而,这可行,因为它是一个如此平衡的地图,敌人与你拥有完全相同的优势。

UT 中的 Sniper Rifle 是整个游戏中最不真实的武器之一,但其不真实性是微妙的。 像所有与 UT 相关的事物一样,我们将愉快地将我们挚爱但经常令人讨厌的物理定律放在一边几分钟,同时我们拿起一把 [魔法] Sniper Rifle,并在 Facing Worlds 这个低重力、高死亡率的小行星中狂欢。

这就是本周的全部内容,希望您喜欢它。 请在下面的评论中告诉我您的想法。 如果您尚未订阅,请不要忘记使用下面的链接订阅。 最后,请在您选择的社交媒体上分享此内容。 感谢您的阅读,我们下周再见。