返回行业情报

GTA初代车辆物理引擎浏览器可玩

GTA 1's Vehicle Physics Are Now Playable In Your Browser

前DMA Design程序员Patrick Kerr将1996年为初代GTA开发的2D车辆物理模拟系统用JavaScript重制,现可在浏览器中游玩Motion Lab。该项目最初是他在Atari ST上用GFA BASIC编写的线框演示,后移植为C语言用于游戏。为纪念GTA诞生30周年,他复刻了这套系统并加入多种模式与相机控制,还撰文解释了其技术原理与当时的创新之处。

深度解读

GTA初代那套被无数玩家记住的车辆物理,如今可以在浏览器里直接上手把玩了,而它的作者正是当年在DMA Design写下这套系统的程序员Patrick Kerr。

这不是一次普通的怀旧复刻。Kerr的身份决定了这件事的分量——他是DMA Design(后来演变为Rockstar North)的程序员,参与过初代和二代GTA的开发。1996年,他写了一套2D物理模拟,这套东西最终成为初代GTA车辆系统的地基。换句话说,今天你在《GTA 6》预告片里看到的那种"车有重量、会打滑、会翻"的底层直觉,其技术血脉可以一路追溯到这个人在家写的demo。

从Atari ST上的线框demo到游戏引擎

Kerr自己披露的路径很具体:项目最初是他用GFA BASIC在自己家里的Atari ST上写的一个简单线框demo,后来才被移植成C语言,进入正式游戏。这条时间线值得掰开看——1996年的家用机和个人电脑算力极其有限,一个程序员能在Atari ST上先把物理逻辑跑通、验证手感,再移植进商业项目,这本身就是那个年代"个人英雄式"开发模式的缩影。没有庞大的物理中间件,没有Unity或Unreal的现成组件,一切从零手搓。

这套系统在当时之所以"novel"(新颖),恰恰是因为它把车辆当成一个有质量、有惯性、会侧滑的刚体来模拟,而不是简单地让贴图沿路径平移。

Motion Lab:一个可以亲手验证的物理沙盒

为了纪念游戏诞生30周年,Kerr把这套原始模拟用JavaScript重写,做成了一个叫Motion Lab的东西,PC和手机浏览器都能跑。它比当年的线框demo多了些打磨,但核心逻辑是同一套。操作方式也直接暴露了这套系统的参数结构:默认是Car(按1)模式,还能切到更简单的Ship(按2)和Brick(按3);按B开关侧向碰撞屏障;按G开关垂直重力,这个主要对Ship和Brick模式有意义;相机有两个额外控制——按Z切换相机死区(dead zone),也就是车辆移动多远相机才开始跟随,按X切换基于速度的缩放,车越快相机拉得越远,跟GTA里的观感一致。

这些按键不是随便设计的。Car、Ship、Brick三种模式本质上是同一套物理参数在不同摩擦、不同重力、不同碰撞响应下的表现,等于把车辆物理的"可调维度"直接摊开给玩家看。你能亲手感受到:为什么GTA里的车开起来"沉",为什么急转会甩尾,为什么某些模式下重力一关整个手感就变了。

所以这对行业和从业者意味着什么

第一,这是一次罕见的技术考古。大多数经典游戏的核心系统随着代码库迭代、人员流动而彻底失传,能有一个原始作者本人出来,把30年前的逻辑用现代语言重写并公开讲解,这在游戏史上属于稀缺样本。对做车辆物理、做手感调校的从业者来说,这是一个可以直接对照、拆解的活教材,而不是二手转述的"据说当年如何如何"。

第二,它提醒人们:今天被当作"高级特性"的很多东西,底层原理在几十年前就已经被想清楚了。刚体模拟、惯性、侧滑、相机死区、速度缩放——这些名词听起来现代,但Kerr在1996年就在一台Atari ST上把它们跑通了。技术进步的是算力和表现力,不是这些基础直觉本身。

第三,对GTA这个IP而言,这是一次恰到好处的"血脉展示"。《GTA 6》临近,所有人都在讨论Rockstar的野心,而这篇内容把镜头拉回到系列最原点:一个程序员在家写的线框demo,如何长成了后来那个卖遍全球的开放世界。它不煽情,但比任何营销物料都更能说明这个系列的技术底色从哪来。

想深入的人,Kerr还写了一篇专门讲这套系统技术原理、以及它当年为何新颖的文章,配合Motion Lab一起看,基本等于拿到了一份来自原作者的一手拆解。

其
行业动态GTA游戏物理JavaScript游戏历史浏览器游戏