游戏开发者Mark Brown分析PS2主机如何用32MB内存实现开放世界游戏《GTA3》的完美运行。

一位游戏开发者Mark Brown在分析《GTA3》的源代码后发现,游戏中光城市规模的总量约为130MB。然而当时的PS2内存只有32MB,这部分容量还要分配给动画、AI、物理运算等。那么在有限的内存下是如何实现这一点的?通过他的分析表示,当时开发团队采用了一种“流式加载”系统,通过将城市分割为数千个小区块,只加载玩家周围的数据,随着玩家移动,动态加载前进的数据,同时悄悄删除已经过的身后的数据。


另外为了缩短PS2的磁盘读取时间,相同区域的数据在光盘上被物理上放置在相近的位置。而且,像树木、路灯这样频繁使用的物体,为了避免读头反复移动,其数据被复制并写入光盘上的多个位置。为了即使数据加载跟不上时也能防止世界消失的极端情况,最终手段是对玩家的移动速度本身进行限制。例如,为车辆设置最高速度上限、在特定区域暗中增加空气阻力、或在长直道路中央放置建筑物迫使玩家减速——游戏设计本身就是为了适应技术限制而进行调整的。
此外,只加载必要数据的方式会导致远处景物突然出现在眼前的“弹出现象”。为了防止这一点,游戏引入了以下机制:远处的建筑物、桥梁等大型结构先以容量较小的“低分辨率、低多边形模型”显示,随着玩家靠近,逐渐切换为原本的高品质模型。这样便抑制了“建筑物整块突然出现或消失”的不协调感。


游戏中当玩家坐上特定车辆时,街上会突然出现大量同款车辆,是因为内存中最多只加载8种车辆,这也是节省内存手段的结果。总之《GTA3》的这套技术后来成为开放世界游戏的标准做法。回想起当年这款大型开放世界游戏,其舞台自由城的城市规模在当时也算是几乎史无前例。

《芙哇芙哇女仆咖啡厅》大型更新 追加与8部的作品联动内容

如龙工作室新作《STRANGER THAN HEAVEN》 以5个时代和都市为舞台

《极限竞速:地平线6》已开发完成 歌单收录多个日本乐队曲目

《命运石之门 RE:BOOT》公布发售日期 对应六大平台支持简体中文

日本众筹平台「うぶごえ」新大额受害者发声 这回是一分钱没拿到

《马力欧卡丁车 巡回赛》被巴西评为18+ 原因或为抽卡机制

《星露谷物语》开发者表示制作灵感源自《塞尔达传说》系列

做一道满足各种口味的麻婆豆腐 《无限暖暖》策划分享2.0版本设计理念

PLAYISM15周年纪念线上发布会 公开11款作品最新资讯

《最终幻想7 重制版》Switch2版为什么会采用钥匙卡?

《蓝色星原:旅谣》即将举办恒序测试 手机版本首测

万代南梦宫公开神秘RPG新作预告影片

《涩谷争锋物语》被拖欠众筹款后续:对方曾表示错把钱打给别人了