# アプリストアが受け付けなくなったモバイルゲームを移植する

> モバイルゲームの移植とは、権利のある作品を作り直すことだ。ストアの要件、終了したSDK、64ビットの規則は、ゲームが面白くなくなるずっと前に古いビルドを壊す。

- URL: https://www.summerengine.com/ja/port-a-mobile-game
- Keyword: モバイルゲームを移植する
- Related: https://www.summerengine.com/ja/porting

モバイルゲームの移植とは、権利のあるゲームを現在のストア要件を満たし新しいプラットフォームで動くように作り直すことだ。モバイルゲームは設計が古びて壊れるのではない。プラットフォームの規則が動いて壊れる。AppleはiOS 11で32ビットアプリのサポートをやめ、Google Playは対象APIレベルの要件を毎年引き上げ、プライバシーと権限の規則は変わり続ける。更新されないアプリは掲載を外される。

ゲームの権利が要る。自分のアプリなら普通は単純だが、パブリッシャー、受託の開発会社、ライセンスされたブランドが関わっていたなら契約を確認する。

Summer Engineはゲームを、Steamやitch.io向けのデスクトップビルドを出せる一つのプロジェクトとして作り直す。iOSとAndroid向けのビルドには、各プラットフォームのツールチェーンと署名（Android SDKとキーストア、またはiOS向けにXcodeを入れたMac）と、タッチ入力への対応作業が必要だ。プロジェクトは自分のもので、ロイヤリティはない。

## 古いビルドが動かなくなった理由

原因はたいてい機械的だ。iOSでは32ビットのバイナリが受け付けられなくなった。Google Playは掲載と更新を続けるために最近のAPIレベルを対象にすることを求める。古い広告、解析、ソーシャルのSDKは保守されなくなり、実行時に壊れるものもある。廃止された権限モデルは審査での却下につながる。どれもゲームプレイの問題ではない。だからプラットフォーム層が現代的になれば、作り直しは短期間で出荷できるゲームを生む。

## 作り直す前に剥がすもの

古いプロジェクトのサードパーティSDKを棚卸しする。広告、解析、アトリビューション、クラッシュ報告、ソーシャルログイン、プッシュ通知、アプリ内課金のラッパー。多くは終了しているか置き換わっている。本当に必要なものだけで作り直す。SDKごとにストアの適合作業、プライバシーの開示、後でビルドを壊しうる依存が増えるからだ。広告中心の時代に出たゲームは、SDKを一切持たない有料版として作り直すほうがよく売れることが多い。

## ゲームを出した頃から画面の形が変わった

4:3や16:9のスマートフォン向けに作られたゲームは、いまや19.5:9や20:9のディスプレイで、ノッチ、カメラの切り欠き、ジェスチャーバー、丸い角と一緒に動く。固定ピクセルのUIレイアウトはそのすべてで壊れる。UIはアンカーとセーフエリアのインセットで作り直し、操作に手が届き、重要なものが切り欠きの下に来ないようにする。タッチの当たり判定の大きさも見直す。画面は物理的に大きくなったが、親指はそうではない。

## タッチのゲームをデスクトップへ持っていく

デスクトップは最も多い二つ目の行き先で、マウスの割り当て以上のものが要る。タッチのドラッグはクリックのドラッグに、ピンチのズームはスクロールホイールになり、マルチタッチのジェスチャーには明示的な代替が要る。キーボード操作、ウィンドウの扱い、モニターの視聴距離に合う大きな文字を足す。Steamでのリリース前に操作を試すには、itch.ioの無料デスクトップ体験版が良い方法だ。GDScriptプロジェクトはWebビルドも書き出せ、Summer Gamesで公開できる。

## 課金と進行の作り直し

アプリ内課金の実装は古びやすく、レシート検証の規則は両ストアで変わっている。古いコードを移植するのではなく、現在のストアAPIに対して課金を作り直す。ゲームがサーバー側で進行を保持していたなら、バックエンドを維持するか、クラウド同期付きのローカルセーブへ移すかを決める。後者は多くの一人用ゲームにとって単純で安い。形式を記録しておけば古いプレイヤーのセーブデータを残すこともでき、戻ってくる客層のためにやる価値がある。

## FAQ

### 古いモバイルゲームがアプリストアから消えたのはなぜか

ほぼ常に内容ではなくプラットフォームの規則だ。AppleはiOS 11で32ビットアプリのサポートをやめ、Google Playは掲載と更新の継続に最近のAPIレベルを対象にすることを求める。保守されないアプリは現在のプライバシーと権限の要件も満たさない。

### 古いモバイルゲームのコードを再利用できるか

仕様として使う。ゲームロジック、バランスの値、レベルのデータはすべて移る。プラットフォーム層は移らない。古いSDK、課金のコード、権限の扱い、描画の経路は現在の要件に合わせて作り直す。

### モバイルゲームをSteamへ移植できるか

できるし、よくある動きだ。一つのSummer EngineプロジェクトからSteam向けのデスクトップビルドを書き出す。デスクトップにはマウスの割り当て以上の本気の作業が要る。キーボード操作、ウィンドウの扱い、大きな文字、マルチタッチのジェスチャーの代替だ。

### ノッチや縦長のスマートフォン画面をどう扱うか

固定ピクセルの座標ではなく、アンカーとセーフエリアのインセットでUIを作り直す。現代のスマートフォンは19.5:9や20:9のディスプレイに、カメラの切り欠き、ジェスチャーバー、丸い角を持つので、絶対位置で置いたものはどこかの端末で何かと重なる。

### 古い広告と解析のSDKは残すべきか

たいていは残さない。多くは保守されていないか置き換わっており、SDKごとに適合作業、プライバシーの開示、ビルドを壊しうる依存が増える。広告中心の時代のゲームの多くは、サードパーティSDKなしの有料版として作り直すほうが成績が良い。

[モバイルゲームを作り直す](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