20240505 - Units of Speed


What

观看 Masahiro Sakurai on Creating Games 的视频,了解游戏中的速度单位!

内容

D07 - Units of Speed

速度影响着游戏的方方面面,非常重要。
速度 = 距离 / 时间:

$$
Speed = \frac{Distance}{Time}
$$

过去,当时 [[樱井政博]] 还在给基于精灵(sprite-based)的游戏(比如在 [[NES]] 上的游戏)写参数规格的时候,当时的速度公式是 p/f,即 pixels/frame,每帧的像素量,这代表了一个物体每帧能移动的距离。

在 [[Mario Bros.]] 中,樱井猜 Mario 的移动速度最快也就 1p/f。

[[Game Boy]],[[NES]] 以及 [[Super NES]] 都有不同的像素范围,不同设备的画布大小也不相同:

正因如此,如果让物体总是以相同速度移动,结果可能差别很大。

再之后,3D 游戏出现了,樱井他们可以使用标准的速度单位了,比如 KM/H。

只要角色和环境使用现实世界中的测量单位,也就可以顺理成章地使用真实的速度及其单位了,这也让事情变得容易理解了许多。

当然了,也并非是说就没有别的需要考虑的方面了… 取决于不同的游戏类型,可能还是有需要将速度定义为单位帧数中的移动距离、每帧移动多少米、每帧移动多少厘米等的情况。

以 [[Kirby Air Ride]] 为例,游戏中使用 km/h 来表示速度。这个速度可能看起来相对较低,但这是因为卡比自己也只不过是 20cm 的方块大小,所以对其而言,这其实已经是很快的速度了。

[[Kid Icarus - Uprising]] 中有一场地面战斗,PIT 其实在步行状态下已经移动得非常快,在跑步时甚至更快。如果以正常情况下的逻辑来制作动画,可能根本看不到他的腿抬起来,所以最终选择让他呈现了更多的跳跃动作,并且让他在地板上滑行前进。

无论是参数说明还是实际参数,如果不能转换速度,是走不长远的。所以,让整个团队都理解移动距离和时间的关系,从而定义测量单位是很重要的。

培养你在游戏中的速度感是很重要的技能,当你开始解释物体是如何移动,并且为其列出合适的参数时,如果你的估计是准确的,能够节省很多时间。


Author:
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source !
  TOC