# 3DSゲームをAndroidへ移植する

> 権利のある3DSゲームをSummer Engineで作り直し、Android App Bundleを書き出してGoogle Playで公開する。

- URL: https://www.summerengine.com/ja/port-3ds-game-to-android
- Keyword: 3DSゲームをAndroidへ移植する
- Related: https://www.summerengine.com/ja/porting

3DSゲームのAndroidへの移植とは、権利のあるゲームをSummer Engineで作り直し、Google Play向けにAndroid App Bundleを書き出すことだ。作り直しでは、二画面の配置とスタイラス入力を一枚の画面のタッチに置き換え、さらにAndroidがもたらす端末の多様さに対応する。

Androidはこのクラスターで最も断片化した行き先だ。画面の大きさは小型のスマートフォンからタブレットや折りたたみまで広がり、GPUの性能はおよそ十年分のハードウェアにまたがり、画面比率は21:9を超える。3DSゲームはここで有利だ。アートが小さく作られているので、縮めるより広げるほうが安い。

Google Playには独自の厳しい要件があり、決まった時期に変わる。ビルドは64ビットで、APKではなくApp Bundleとして出し、最近の対象APIレベルでコンパイルする必要がある。ストアページより先にそれらを計画する。

## 一枚の画面、たくさんの形

端末ではなく幅のある範囲に向けて配置を設計する。かつての上画面と下画面を保つ積んだ配置は、縦長のスマートフォンで機能し、元の読み順に最も近い。タブレットでは、余った幅は一つにまとめた表示に使うほうがよい。画面の切り欠き、丸い角、ジェスチャーナビゲーションの帯を扱い、できれば折りたたみの比率も試す。UIの要素は固定のピクセル座標ではなく、画面の端とセーフインセットに固定する。

## タッチ入力と戻るジェスチャー

スタイラスの精度は指の精度になるので、当たり判定は広がり、ピクセル単位の操作には吸着か再設計が要る。AndroidにはiOSにない振る舞いが一つ加わる。システムの戻るジェスチャーまたはボタンだ。プレイヤーはそれがメニューを閉じることを期待しており、レベルの途中でゲームを終了することは期待していない。画面ごとに明示的に扱う。ゲームパッドに対応するなら、Androidのプレイヤーの多くは持っているので、デスクトップと同じ割り当て変更を用意する。

## 十年分のGPUにまたがる性能

現行の最上位機と四年前の低価格機は同じ機械ではない。下限の端末を決め、そこで計測し、解像度、影の細かさ、パーティクル数を調整する品質設定を足す。モバイルGPU向けの圧縮テクスチャ形式を使う。最初の一分ではなく、持続するフレームレートと発熱を見る。3DS時代のアート予算はコンソールの移植よりこれを楽にするが、全画面エフェクトの重ね描きは低価格のハードウェアでは今も高くつく。

## Google Playの要件

Google Playの開発者アカウントは一度きりの25米ドルの登録だ。Play App Signingで署名し、64ビットのARM向けに作り、Googleが毎年引き上げる対象APIレベルでコンパイルしたAndroid App Bundleをアップロードする。Playはさらにコンテンツのレーティングの質問票、データセーフティのフォーム、プライバシーポリシー、ストア掲載用の素材を求める。製品版の前に内部、クローズド、オープンのテストトラックを使い、実機でビルドを走らせてクラッシュを報告する公開前レポートを読む。

## FAQ

### 3DSゲームをAndroidへ移植できるか

ゲームの権利があるかライセンスを受けているならできる。現代のエンジンで作り直し、Androidのビルドを書き出す。Summer Engineでは原版の説明からシーンを生成し、C++、GDScript、C#で編集し、Google Play向けにAndroid App Bundleを書き出す。

### Google Playはゲームのアップロードに何を求めるか

一度きりの25米ドルの費用がかかる開発者アカウント、APKではなくAndroid App Bundle、64ビット対応、最近の対象APIレベル、コンテンツのレーティング、データセーフティの申告、プライバシーポリシー、ストア掲載用の素材だ。製品版で公開する前にテストトラックと公開前レポートが使える。

### Androidの画面サイズの多さにどう対応するか

固定座標ではなく画面の端とセーフインセットにUIを固定し、二つの配置を作る。元の積んだ二画面を保てる縦長スマートフォン向けの配置と、それらをまとめた幅広のタブレット向けの配置だ。画面の切り欠きとジェスチャーナビゲーションの帯も尊重する。

### 同じプロジェクトでiOSやSteamにも出せるか

Steamには出せる。一つのSummer Engineプロジェクトがデスクトップビルドを書き出すので、Androidの作り直しとSteamのリリースは同じソースから出る。iOSとAndroid向けのビルドには、それぞれ各プラットフォームのツールチェーンと署名（Android SDKとキーストア、またはiOS向けにXcodeを入れたMac）と、タッチ入力への対応作業が必要だ。

### 買った3DSゲームをAndroidへ移植するのは合法か

権利を持っていないなら合法ではない。カートリッジを買っても、そのゲームを作り直したり公開したりするライセンスにはならない。自分で作ったゲームか、書面のライセンスがあるゲームを移植する。Summer EngineはROMのダンプや他人の作品の再公開を助けない。

[Androidへの移植を始める](https://www.summerengine.com/ja/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