# 把任天堂 DS 游戏移植到仍然卖游戏的平台

> 任天堂 DS 移植是重建一款你拥有的游戏。触控笔设计是最值得留下的资产，因为触摸在每一部手机上都是原生的。

- URL: https://www.summerengine.com/zh/port-a-nintendo-ds-game
- Keyword: 移植任天堂 DS 游戏
- Related: https://www.summerengine.com/zh/porting

移植任天堂 DS 游戏，意思是把一款你拥有的游戏重建成面向现代硬件的新项目。DS 从 2004 年卖到大约 2014 年，配两块 256x192 的屏幕、一层电阻式触摸、一个十字键和一个麦克风。这些硬件如今都不存在了，所以移植是重建，不是转换。

你必须拥有要移植的东西。你开发的 DS 游戏，或你持有重制许可的游戏，都可以做。你买来的零售卡带不行。这里不涉及提取 ROM，也不涉及套一层模拟器。

DS 游戏很适合移到手机上。触控笔是触摸屏最近的祖先，所以输入设计几乎能原样活下来。Summer Engine 把游戏重建成真正属于你的项目，导出桌面版本发布到 Steam 和 itch.io，并且不收分成。iOS 和 Android 版本需要对应平台的工具链和签名（Android SDK 和密钥库，或用于 iOS 的装有 Xcode 的 Mac），还要针对触控输入做一轮适配。

## 触控笔设计是能干净迁移的部分

DS 游戏是围绕 256x192 电阻屏上的单点接触设计的。手机用的是电容多点触摸，容错更高，还支持 DS 从未有过的手势。直接点按、拖拽和描绘路径都能一对一映射。常见的调整是点击目标的尺寸，因为指尖覆盖的面积比笔尖大；另一个是小按钮上那种触控笔暗示的精准压感不见了。

## 第二块屏幕该怎么办

DS 的两块屏都是 256x192，中间有一道物理缝隙。在细长的手机屏上，保持两块面板上下叠放能还原原本的取景。在桌面和电视上，多数移植会把玩法屏提升为主画面，把地图、背包或菜单屏变成叠层或按键切换的面板。那些把缝隙当成设计元素的游戏，比如跨屏纵跳，就需要专门做布局，而不是直接堆叠。

## 美术、分辨率和 DS 调色板

DS 精灵是为 256x192 面板制作的，配色受限，显存预算也很紧。在现代分辨率下，整数缩放加最近邻过滤能让它们保持锐利。用双线性模糊放大是常见的错误。DS 的 3D 是固定管线，没有着色器，所以 3D 的 DS 游戏原样复刻出来会比预期更平。重做光照并使用更高分辨率的贴图，通常比精确复刻更有利于游戏。

## 麦克风、双声道音频与存档

DS 麦克风被用来吹气、喊叫和语音输入。手机麦克风支持同样的动作，但桌面玩家期待有替代绑定，所以每个麦克风操作都要配一个按键。DS 音频是 16 个 ADPCM 和 PCM 声道，你原来的音频源文件会以更高质量重新导入。存档从卡带上的 EEPROM 和闪存变成普通文件，所以你可以免费加上多个存档位和云存档。

## FAQ

### 能把任天堂 DS 的 ROM 转换成现代游戏吗？

不能。没有转换器能把一个 .nds ROM 变成可编辑的项目。移植 DS 游戏，意思是从你自己的源码、美术和设计重建。Summer Engine 不加载 ROM 文件。

### 移植我拥有的 DS 游戏合法吗？

只有在你拥有权利时才合法，光有一份副本不行。重建并发布一款 DS 游戏，要求这游戏由你制作，或你持有重制许可。买下卡带并不给你这个权利。

### DS 游戏在手机上表现好吗？

好，比多数复古移植都好。DS 游戏是围绕单点触摸输入做的，这能直接映射到手机触摸屏。主要改动是为指尖放大点击目标，以及对第二块屏幕做一个布局决定。

### 在电视或显示器上怎么处理第二块屏幕？

把主要的玩法屏提升为全屏，把第二块屏变成 HUD 叠层或可切换面板。把两块 256x192 的屏幕上下叠放同样可行，能保留原本的取景，代价是宽屏显示器上会留下很大的空白边。

### 我的 DS 像素美术在 1080p 下会很难看吗？

只要缩放方式正确就不会。用整数缩放加最近邻过滤保持像素干脆。双线性放大才是让 DS 美术发糊的原因。另一种做法是把关键资源按更高分辨率重画，并保留原本的布局。

[重建你的 DS 游戏](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