# 为现代硬件重建，才是移植 PS2 游戏的方式

> 移植 PS2 游戏，意思是重建一款你拥有的作品。PlayStation 2 大约以 640x448 渲染，只有 32 MB 内存，所以设计里到处都是约束的痕迹。

- URL: https://www.summerengine.com/zh/port-a-ps2-game
- Keyword: 移植 PS2 游戏
- Related: https://www.summerengine.com/zh/porting

移植 PS2 游戏，意思是把一款你拥有的游戏重建成新项目。PlayStation 2 通常在 4:3 画面下以接近 640x448 渲染，有 32 MB 主内存和 4 MB 显存，并从 DVD 流式读取。它的 DualShock 2 有压力感应面键。上面每一个数字都塑造了原本的设计。

你必须持有权利。移植你开发的 PS2 游戏，或你有重制许可的游戏。你买来的光盘不是许可，ISO 也不是移植的输入。

Summer Engine 把游戏重建成归你所有的项目。你描述场景和系统，引擎把它们生成出来，你继续用 C++、GDScript 或 C# 编辑。导出桌面版本发布到 Steam 和 itch.io，无需向 Summer 支付版税或收入分成。

## 内存约束已经烙进了关卡设计

32 MB 内存和 4 MB 显存逼出了小贴图、调色板技巧、激进的关卡切块，以及从 DVD 不断流式加载。这些约束在关卡本身就看得见：为了掩盖读取而存在的门廊、竞技场之间的走廊、反复出现的道具。重建时，你可以把切块合并成连续空间，并从源文件恢复全分辨率美术。要有意识地决定，因为去掉接缝会改变节奏。

## 压力感应按键与振动

DualShock 2 的面键能报告 256 级压力，有些游戏用它做油门、区分走与跑，或表现攻击力度。现代手柄完全去掉了这项。在动作合适的地方把压力映射到模拟扳机上，或者把它改成轻按与长按区分明确的两态系统。振动更简单：现代震动更强也更细腻，所以要重新核对强度数值，而不是照抄。

## 隔行的 4:3 输出放到现代分辨率下

PS2 的输出通常是 4:3 的 480i 隔行，美术制作时就知道扫描线和 CRT 混合会把画面柔化。在平板显示器上以 1080p 精确复现时，抖动图案和低分辨率贴图会比当年更刺眼。选择有两个：从源美术按更高分辨率重新导出贴图，或者用 CRT 风格的呈现滤镜有意保留原本观感。挑一个，并且贯彻到底。

## 记忆卡、60 Hz 与地区版本

PS2 存档放在 8 MB 记忆卡上，尺寸限制很紧，所以存档格式紧凑、存档位也少。重建后的存档就是文件，有空间放自动存档和云同步。还要检查帧率：PAL 版本常常比 NTSC 版本跑得慢，游戏逻辑有时默认固定的 50 或 60 Hz 步进。现代重建应该使用时间增量，让游戏在每秒 60、120 或 144 帧下都能正确运行。

## FAQ

### PS2 的 ISO 能转换成现代游戏项目吗？

不能。PS2 光盘镜像是为 Emotion Engine 硬件编译的构建。没有东西能把它变成可编辑的项目。PS2 移植是从你自己的源码、美术源文件和设计文档重建。

### 我有光盘，移植这款 PS2 游戏合法吗？

不合法，除非你持有权利。零售光盘是一份副本。重建并发布这款游戏，要求它由你制作，或你持有书面重制许可。

### DualShock 2 的压力感应按键用什么替代？

在动作合适的地方把模拟区间映射到扳机上，或者拆成轻按和长按两个明确状态。现代手柄不报告面键压力，所以没有一对一的直接映射。

### 为什么 PS2 游戏用 1080p 渲染反而更难看？

PS2 美术默认的是 CRT 上的 480i 输出，那里扫描线和混合会柔化抖动与低分辨率贴图。在平板显示器上，这些瑕疵变得锐利。要么从源文件按更高分辨率重新导出贴图，要么有意用 CRT 风格滤镜来呈现游戏。

### 我需要原始的 PS2 源码吗？

作为规格说明它帮助很大，尤其是物理数值和游戏平衡，但它不是必需的。无论如何，渲染、输入和内存管理代码都要重写，因为它们都不面向现代硬件。

[重建你的 PS2 游戏](https://www.summerengine.com/zh/download)

---

## Machine-readable resources

- Site index for agents: https://www.summerengine.com/llms.txt
- Full inlined content: https://www.summerengine.com/llms-full.txt
- Porting catalog: https://www.summerengine.com/llms-porting.txt
- Structured catalog: https://www.summerengine.com/agent-catalog.json
- Sitemap: https://www.summerengine.com/sitemap.xml
- Developer resources: https://www.summerengine.com/docs
- Summer API (assets from any agent or code; public per-call model prices): https://docs.summerengine.com/api