# 如何移植游戏

> 移植是一个答案已知的项目。确认权利、盘点资源、做出切片，再处理输入、存档、性能和商店。

- URL: https://www.summerengine.com/zh/how-to-port-a-game
- Keyword: 如何移植游戏
- Related: https://www.summerengine.com/zh/porting

移植游戏，意思是把一款你拥有的游戏重建或改投到新引擎或新平台上运行。它不是自动转换，而且每一次真实的移植，大致都按同样的顺序走同样的八个步骤。

顺序比工具更重要。先做内容后做系统的团队，会把内容重做一遍。把输入和存档留到最后的团队，会发现设计根本不适合这个平台。跳过权利核查的团队，会在商店提交阶段才知道，而那是代价最高的时刻。

Summer Engine 就是为这条重建路径做的。用平常的话描述系统，得到能跑的场景和脚本，再用 C++ 或 GDScript 编辑真正的项目，C# 可在桌面编辑器中使用。一个项目即可导出桌面版本发布到 Steam 和 itch.io，而且它归你，不收分成。

## 第一到第三步：权利、盘点与目标

第一，确认你握有设计、代码、美术和音频的权利，包括任何从市场购买或随引擎附带的东西。第二，盘点资源：哪些有源格式，哪些只存在于构建里，哪些必须替换。第三，选定目标并且要具体，因为 Steam、iOS、Switch 和网页在输入、体积和认证上有不同要求，这些都会改变设计。

## 第四和第五步：切片与数值

第四，做一个纵向切片：玩家控制器、一个关卡、一个敌人、暂停菜单和存档文件。它能验证计划，也能产出真实排期。第五，从原作里把数值抽出来：移动速度、重力、跳跃高度、伤害、冷却、生成频率和动画时序。精确照抄。手感不对的重建，几乎总是那些把数值估出来而不是读出来的重建。

## 第六和第七步：输入与存档

第六，为目标平台改造输入，而不是重新映射。触摸不是手柄，手柄不是鼠标，主机 UI 需要没有光标的焦点导航。第七，重做存档：写到平台的用户目录，在移动端和掌机上失焦时保存，处理损坏，并规划旧存档是否迁移。这两件事早做都很便宜，事后补装则极其昂贵。

## 第八步：性能与提交

第八，在你打算支持的最弱设备上做性能分析，并测量几分钟内的持续帧率，而不是前三十秒。然后处理商店：Steam 需要合作伙伴账号、100 美元应用费，以及提前两周上线的商店页面。苹果需要每年 99 美元的会员资格、一台 Mac 和审核。谷歌需要 25 美元注册、一个应用包，以及当前的目标 API。主机则需要先拿到审批，然后才谈其他。

## FAQ

### 游戏能自动移植吗？

不能。资源文件能在格式之间转换，但游戏逻辑、场景和编辑器数据都是引擎专有的。每一次真实的移植，都是以原作为规格说明的重建。

### 移植要花多久？

它随系统数量和平台要求增长，而不是随内容时长。小游戏常常是几周。大游戏是几个月。纵向切片会把猜测变成排期。

### 最常见的错误是什么？

把输入和存档系统留到最后。两者都会塑造设计，而在后期补装触摸操作或平台存档规则，通常会逼着改 UI 和成长线。

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

有的话帮助极大，因为它保存着精确数值，但只要游戏归你，它并非严格必需。原作的视频、资源文件和细致的测量，能把行为还原出来。

### 我能移植自己买来但不是自己做的游戏吗？

不能。拥有一份副本不等于拥有权利。只移植你自己制作的游戏，或你持有明确书面许可去重制并分发的游戏。

### 应该先移植到哪个平台？

通常是 Steam，因为入口开放、费用很低，而且桌面构建是之后做移动和主机的基础。主机需要平台审批，所以对多数团队来说放在最后。

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