# 重制一款老游戏

> 重制是重建一款你拥有的游戏，让它在当前硬件上跑得对、看得对、操作得对。第一件事是找出还剩下什么。

- URL: https://www.summerengine.com/zh/remaster-an-old-game
- Keyword: 重制老游戏
- Related: https://www.summerengine.com/zh/porting

重制一款老游戏，意思是重建一款你拥有的作品，让它在当前硬件上运行并满足当下的预期。原来的工具链通常已经没了，所以重制是一次以幸存的源码、资源和构建为指引的重构。

从盘点开始。你有源码、源格式的美术、音频母带和关卡数据吗，还是只剩一个编译好的构建？代码是否依赖 DirectX 7 这类已死的 API、只支持 32 位的工具链，或者一份已过期的中间件许可？游戏是不是 4:3、640 乘 480、只能用键盘，而且存档写在可执行文件旁边？这每一条都是已知且可解的问题，也都各有成本。

然后确认权利。老游戏常常牵涉发行商、授权音乐、合同美术，或者按作品计费的中间件。拥有文件不等于拥有出售新版本的权利。在写代码之前把这件事理清。Summer Engine 给你一个完全归你所有的项目，不收分成，并可导出桌面版本发布到 Steam 和 itch.io。

## 找回幸存下来的东西

去翻版本控制历史、旧硬盘、发行商归档和备份光盘。如果只剩一个构建，你可以从自己的文件里提取自己的美术和音频，反编译出的代码也能作为对确切行为的说明。把原作在模拟器或虚拟机里跑起来，录下长段游玩，因为真实运行的视频，是你之后核对每一个调校决定时要回看的参照。

## 让呈现现代化，但不抹掉它

宽屏支持是被要求最多的改动，而对 2D 游戏来说，那意味着在边缘补新美术，而不是拉伸。更高分辨率意味着要么重新导出矢量或 3D 源文件，要么用最近邻过滤和整数缩放有意保留像素观感。除非作为可选项，否则别用放大滤镜去柔化像素美术。当原本的观感对受众很重要时，同时提供现代模式和忠实模式。

## 玩家如今期待的便利

加上完整的手柄支持和可重映射的操作。加上随时存档或频繁自动存档，因为老游戏常常只有密码或检查点存档。加上分辨率、全屏、窗口、垂直同步和音量滑条。加上无障碍选项：字幕、对色盲友好的配色、文字大小和难度设置。在重新发行里，带来最多好评的是这些补充，而不是画面工作。

## 把它重新发行出去

Steam 是常见去处，每款作品需要一次性支付 100 美元的应用费，商店页面至少提前两周上线，还要配置仓库并通过 SteamPipe 上传。加上 Steam 云存档和成就，它们很适合老游戏。之后也可以考虑推出移动版本，因为老游戏很容易塞进现代手机的性能预算，但要为每个平台的工具链和签名做好规划。商店页面要写清楚，说明这是重制版，并逐条列出改了什么。

## FAQ

### 重制和重做有什么区别？

重制保留原本的设计和内容，更新呈现、性能和便利性。重做则用新资源重建游戏，而且往往修改设计。在现代引擎里重建可以是其中任意一种，取决于你改了多少。

### 我只有编译好的游戏，没有源码，还能重制吗？

能，只要游戏归你。从你自己的构建里提取自己的资源，用原作视频作为行为参照，再重建各个系统。这比有源码慢，但是一条正常的路。

### 我有权重新发行自己的老游戏吗？

动手前先查。发行商协议、授权音乐、合同美术条款和过期的中间件许可，都会限制你能卖什么。权利问题早问很便宜，到提交阶段才问就极其昂贵。

### 原本的像素美术要保留吗？

通常要，但要呈现正确。用最近邻过滤和整数缩放让像素保持方正。如果你想要现代观感，就重新制作美术，而不是套一层放大滤镜，并把原本的模式保留为可选项。

### 旧的存档文件还能用吗？

很少能用。存档格式和原本的代码绑在一起。如果保留进度很重要，就为旧格式写一个导入器，但多数重制都接受玩家从头开始。

[开始重建](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