移植 3DS 游戏到 Android

把 3DS 游戏移植到 Android

在 Summer Engine 里重建一款你拥有的 3DS 游戏,再导出 Android App Bundle,并发布到 Google Play。

把 3DS 游戏移植到 Android,意思是在 Summer Engine 里重建一款你拥有的游戏,并导出 Android App Bundle 给 Google Play。这次重建把双屏布局和触控笔输入换成一块屏幕上的触摸,还要应对 Android 带来的设备多样性。

Android 是这个集群里碎片化最严重的目标。屏幕尺寸从小手机一路到平板和折叠屏,GPU 性能横跨大约十年的硬件,画面比例甚至超过 21:9。3DS 游戏在这里有优势,因为它的美术本来就是按小尺寸制作的,往上放比往下缩便宜。

Google Play 有自己的硬性要求,而且按时间表变化。构建必须是 64 位、以 App Bundle 而不是 APK 发布,并针对较新的目标 API 级别编译。在规划商店页面之前,先规划这些。

一块屏幕,多种形状

为一个范围而不是一台设备设计布局。保留原来上屏和下屏的叠放布局在细长手机上可行,也是最接近原本阅读顺序的方案。在平板上,多出来的宽度更值得用在一个合并视图上。处理好屏幕挖孔、圆角和手势导航条,有条件的话也测一测折叠屏比例。把界面元素锚定到屏幕边缘和安全内边距,而不是固定像素坐标。

触摸输入与返回手势

触控笔的精度变成手指的精度,所以点击目标要变大,像素级精确的交互要加吸附或重新设计。Android 还多了一项 iOS 没有的行为:系统返回手势或按钮。玩家期待它关闭菜单,而不是在关卡中途退出游戏。在每个界面都显式处理它。如果你支持手柄,而很多安卓玩家确实有,就把和桌面上一样的重映射开放出来。

跨越十年 GPU 的性能

当前旗舰和四年前的入门机不是同一台机器。挑一台下限设备,在它上面做性能分析,并加一个能缩放分辨率、阴影细节和粒子数量的画质设置。使用为移动 GPU 设计的压缩贴图格式。关注持续帧率和发热,而不是头一分钟。3DS 时代的美术预算让这件事比主机移植容易,但全屏特效的过度绘制在低端硬件上仍然要付代价。

Google Play 的要求

Google Play 开发者账号是一次性 25 美元注册。你上传 Android App Bundle,用 Play 应用签名签署,构建为 64 位 ARM,并针对谷歌每年提高的目标 API 级别编译。Play 还要求内容分级问卷、数据安全表单、隐私政策和商店页面素材。在正式发布前使用内部、封闭和开放测试轨道,并读一读预发布报告,它会在真实设备上跑你的构建并汇报崩溃。

常见问题

我能把 3DS 游戏移植到 Android 吗?

可以,只要你拥有或已获授权这款游戏。你在现代引擎里重建它,并导出 Android 构建。在 Summer Engine 里,你从对原作的描述生成场景,用 C++、GDScript 或 C# 编辑,并导出 Android App Bundle 给 Google Play。

上传游戏时 Google Play 要求什么?

一个一次性 25 美元的开发者账号、一个 Android App Bundle 而不是 APK、64 位支持、较新的目标 API 级别、内容分级、数据安全声明、隐私政策,以及商店页面素材。在发布到正式环境之前,可以使用测试轨道和预发布报告。

这么多 Android 屏幕尺寸要怎么处理?

把界面锚定到屏幕边缘和安全内边距,而不是固定坐标,并做两套布局:一套细长手机布局,可以保留原本叠放的双屏;一套更宽的平板布局,把它们合并。尊重屏幕挖孔和手势导航条。

同一个项目也能发到 iOS 和 Steam 吗?

能。一个 Summer Engine 项目导出到桌面、移动、网页和主机,所以 Android 移植和 iOS 或 Steam 发行来自同一份源。每个平台仍然需要自己的输入、布局和商店工作,但你不用维护多份重建。

把我买来的 3DS 游戏移植到 Android 合法吗?

不合法,除非你持有权利。买一张卡带并不授权你重建或发布那款游戏。移植你自己制作的游戏,或你有书面许可的游戏。Summer Engine 不帮忙提取 ROM,也不帮忙重新发布别人的作品。

继续探索

用 Summer Engine 创作的更多方式

现在就开始制作你的游戏

下载 Summer Engine,描述你想要的,看着它逐渐成形。免费开始,无需编程。