IT之家 5 月 17 日消息,YouTube 博主 Game Maker's Toolkit 本周(5 月 11 日)發布視頻,深入分析 R 星當年如何將《GTA3》裝進僅有 32MB 內存的 PS2 游戲機。
![]()
作為參考,《GTA3》發售于 2001 年,是《GTA》系列 3D 世界觀的開山之作,憑借革命性的自由玩法,為現代開放世界游戲樹立標桿。
而 PS2 游戲機的硬件規格并不算豪華,它雖然擁有容量至少 4.7GB 的 DVD 光驅,但光驅讀取速度僅有 5MB/s,完全無法即時加載資源。內存的狀況也不算寬裕,盡管總線帶寬最高可達 3.2GB/s,但容量只有可憐的 32MB。
IT之家援引博主觀點,R 星在這極其有限的硬件中成功塞入了寬約 4 公里的開放世界,其中的自由市擁有波特蘭、斯唐頓島、海岸之谷三個可探索區域,還帶有大量 NPC 行人。
博主首先表示,傳統游戲一般會進入某個區域時,將所有模型、紋理、動畫、音效等傳輸到內存,當玩家走到下一個區域時觸發加載動畫,并將先前的區域從內存擦除并加載新區域。
但這種策略并不適用于《GTA3》,因為該游戲并沒有獨立的區域,也沒有墻壁或門分隔各個區塊,玩家可以自由地任意探索自由市,整個波特蘭的文件就達到 40-50MB,完全超出 32MB。
隨后博主開始研究《GTA3》的源代碼,改寫部分程序并重新編譯出了一個新的游戲執行文件,成功揭示了 R 星的優化秘訣。
具體來說,R 星并沒有把整個自由市都塞進內存,而是將自由市化作一個棋盤切成數千個網格,玩家走到哪里,游戲就只顯示視覺范圍內的模型、人物、資產。系統會悄悄在你前方構建世界,同時悄悄刪除身后走過的世界。
![]()
不過,如果《GTA3》只有這種流式傳輸機制遠遠不夠,因為這種系統只能保證內存不會溢出,而畫面遠處的建筑物則會不斷閃來閃去。
![]()
為此,R 星建立了一套扇區檢查系統,游戲會自動檢查玩家當前區塊視野內的模型:離玩家近的區域會被詳細渲染,而遠處的地方只會渲染高樓、橋梁、起重機等看起來明顯的物體。而且游戲內部含有多個精度的模型,玩家靠近時可以使用高精度版本,遠離時則使用低精度版本,節省內存開銷。
![]()
總的來說,R 星當年用了多種手段,讓《GTA3》能夠呈現在 PS2。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.