Notebookcheck Logo

修改者详细介绍了 Rockstar Games 如何在 PS2 仅有的 32MB 内存中容纳《GTA III》的自由城开放世界

鸟瞰《GTA III》自由城的 4KM 地图和三个岛屿
ⓘ Game Markers Toolkit via YouTube
鸟瞰《GTA III》自由城的 4KM 地图和三个岛屿
游戏制作者工具包》(Game Maker's Toolkit)的一段新视频探讨了 Rockstar 如何通过使用动态资产流系统,使《侠盗猎车手 3》的自由城在 PlayStation 2 的 32MB 内存限制下运行。通过源代码分析和修改后的可执行文件,马克-布朗展示了游戏是如何在卸载玩家身后区域的同时不断加载附近的城市区域,从而创造出无缝开放世界的假象。
Gaming Retro Desktop

2001 年推出的《 侠盗猎车手 3》几乎改变了开放世界游戏的格局。Rockstar Games 是如何让《 侠盗猎车手 3》在只有 32 MB RDRAM 的 PlayStation 2 上运行的,这一点非常了不起。

尽管如此,Rockstar Games 还是挤出了一个 4 公里宽的开放世界,其中有众多行人、独特的汽车(如女妖)和三个可探索的岛屿:波特兰、斯汤顿岛和海岸谷三个可探索的岛屿。那么,Rockstar Games 是如何在只有 32 MB 内存的 PS2 上做到这一点的呢?

这就是Game Maker's Toolkit 中的 Mark Brown的马克-布朗介入了。在他最新的 YouTube 视频中,他不仅分析了原因,还获得了《GTA 3》的源代码,重写了整个程序块,并重新编译了一个全新的可执行文件,从而揭示了游戏中隐藏的流媒体系统。他在视频中解释道

"现在,你可以看到其中的诀窍:当你在自由城中移动时,《侠盗猎车手 3》是如何将少量资产加载和卸载到内存中的。它在你面前悄悄地构建世界,又在你背后悄悄地删除世界。从根本上说,Rockstar 并没有试图将整个城市装入内存,而是建立了一个移动窗口,只显示足够多的城市内容,让人产生错觉"。

以下是 Rockstar Games 如何将《GTA 3》的自由城 4 公里地图塞进 32MB PS2 内存的过程

布朗修改后的《GTA 3》可执行文件可以让玩家根据克劳德所站的位置,实时看到城市的各个角落。他还详细说明了游戏在驾驶过程中可以同时在道路上显示的独特汽车数量,这就解释了为什么在你驾驶一辆 EC Cheetah 后,会发现它在道路上随意游弋。

此前,前《侠盗猎车手 3 》程序员 Obbe Vermeij 在一次单独采访中详细介绍了将游戏引入 PS2 所面临的挑战,他说

"我们不可能把《侠盗猎车手3》的整个地图都装进 PS2 的内存中。流式传输需要在玩家移动时从 DVD 中加载模型。这是《GTA 3》开发过程中最难的技术挑战,由亚当-福勒(Adam Fowler)负责编码。

从上下文来看,在 PS2 上运行《侠盗猎车手 3》在纸面上听起来是不可能的,因为仅资产就高达约 130 MB,几乎是游戏机任何时刻所能容纳容量的四倍。Rockstar 采用了大量的变通方法。

第一个变通方法是将自由城分成三个不同的部分:波特兰(Portland)、斯汤顿岛(Staunton Island)和滨海谷(Shoreside Vale)。每个岛屿都可以单独加载。然而,仅波特兰就占了 40-50 MB 的资产。

因此,Rockstar 将每个岛屿分解成数千个小区域。游戏会将你视野范围内的部分保存在内存中,当你在自由城驾驶和漫游时,会不断地将大块资产从有限的 RDRAM 中换入换出

即使是缓慢的 DVD 驱动器也会使开发工作变得复杂,因为团队必须格外小心地选择何时提取数据,以避免游戏冻结。

点击这里在亚马逊购买《侠盗猎车手:三部曲

Google LogoAdd as a preferred source on Google
Mail Logo
> Notebookcheck中文版(NBC中国) > 新闻 > 新闻档案 > 新闻档案 2026 05 > 修改者详细介绍了 Rockstar Games 如何在 PS2 仅有的 32MB 内存中容纳《GTA III》的自由城开放世界
Rahim Amir Noorali, 2026-05-17 (Update: 2026-05-17)