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

> 権利のある3DSゲームをSummer Engineで作り直し、Windows、macOS、Linuxのビルドを書き出してSteamで公開する。

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

3DSゲームのSteamへの移植とは、権利のあるゲームをSummer Engineで作り直し、デスクトップビルドをSteamのストアページへ書き出すことだ。3DSのカートリッジをSteamのビルドに変換するツールは存在しない。移植は、シーン、システム、手触りを現代のエンジンで作り直すことだ。

結果がよく遊べるかを決めるのは三つの仕事だ。3DSには画面が二つあった。400x240の上画面と、その下の320x240のタッチ画面だ。Steamを動かす機械にはディスプレイが一つで、多くは1920x1080かそれ以上ある。入力はスライドパッド、十字キー、スタイラスから、キーボード、マウス、ゲームパッドへ移る。

Summer Engineが作り直しと書き出しを引き受ける。普通の言葉でゲームを説明して遊べるシーンを生成し、その後プロジェクトをローカルでC++、GDScript、C#で編集する。書き出しはWindowsとmacOS向けのデスクトップビルドをカバーし、Steamのストアページにそのまま出せる。プロジェクトは自分のもので、ロイヤリティはない。

## 3DSプロジェクトから移るものと移らないもの

設計資料、レベルのレイアウト、調整の数値、スプライトとテクスチャの元素材、モデル、音声のマスターはすべて移る。自分のソースコードは参照として移る。プラットフォームの呼び出しが無効でもロジックは有効だからだ。コンパイル済みの3DSの実行ファイルは移らない。3DSのハードウェアと話していたものはすべて書き直しになる。二画面の出力、立体視の深度スライダー、タッチ層、セーブデータ、すれちがい通信、フレンドリスト。

## 二つの画面を一つにする

これが3DSからSteamへの移植で中心になる設計判断だ。四つの型が機能する。下画面の内容をメインの視界の周りに画面上のHUDとして描く。キーで切り替えるパネルに置く。固定のサイドパネルとして置き、これはワイドのモニターによく合う。あるいは内容がインベントリやマップなら一時停止のメニューへ移す。ゲーム全体で一度に決めるのではなく、画面ごとに選ぶ。マップは切り替えで問題ないが、リアルタイムのミニゲームの面はそうではない。

## 入力: スライドパッドとスタイラスからキーボード、マウス、ゲームパッドへ

ゲームパッドへの割り当てはほぼ直接対応する。スライドパッドは左スティックになり、四つのボタンとショルダーは一対一で対応し、二本目のスティックがカメラ操作に空く。スタイラスの動作には本気の判断が要る。照準とドラッグはマウスによく合う。リズムのタップやジェスチャーはたいてい当たり判定を広げ、ゲームパッドの代替も要る。Steamのプレイヤーはコントローラだけで最後まで遊べることを期待するからだ。キーの割り当て変更と完全なコントローラ対応を出荷する。

## 240pの解像度とアート

3DSのアートは高さ240ピクセルの画面向けに作られていた。1080pのモニターでは4.5倍になる。ピクセルアートは整数倍なら持ちこたえるので、3倍か4倍にしてレターボックスか背景の拡張を添えるほうが、ぼやけた引き伸ばしよりよい。3Dのシーンは得るものが多い。ジオメトリとアニメーションは有効なまま、テクスチャ、影の解像度、描画距離をすべて上げられる。たいてい失敗するのは文字だ。腕の長さの距離で読めていた小さな3DSのフォントは、新しいサイズで描き直す必要がある。

## 公開前にSteamが求めるもの

Steamworksのパートナーアカウントと、Steam Directの申請料が要る。これは一タイトルあたり100米ドルで、ゲームが売れれば回収できる。ビルドはSteamPipeでデポへアップロードし、カプセル画像、スクリーンショット、トレーラー、短い説明を入れてストアページを作る。実績、クラウドセーブ、Steam Inputの設定は任意だが、入れる価値がある。Steamはリリース前にビルドとストアページを確認し、ストアページは発売日より前に一定期間公開されている必要がある。

## FAQ

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

自分で作ったゲームか、ライセンスを持つゲームならできる。現代のエンジンでゲームを作り直し、Steam向けのデスクトップビルドを書き出す。Summer Engineでは説明からシーンを生成し、プロジェクトをC++、GDScript、C#で編集し、Windows、macOS、Linux向けに書き出す。

### 3DSのROMをSteamのビルドに変換するツールはあるか

ない。3DSのカートリッジのデータを読んで動くSteamのビルドを出力する変換ツールは存在しない。本物の3DSからSteamへの移植はすべて、元の設計、アートの元素材、開発者が今も持つソースコードを使った現代のエンジンでの作り直しだ。

### 3DSのカートリッジを持っていればそのゲームを移植できるか

できない。コピーを持っていることは、ゲームを作り直し、公開し、販売するライセンスではない。権利者であるか書面の許諾が要る。Summer Engineは自分のゲームかライセンスを持つゲームの移植のためのもので、他人の作品の再公開のためではない。

### 3DSの下画面を単一のモニターでどう扱うか

メインの視界に取り込む。よくある解決は、画面上のHUD、切り替え式のオーバーレイパネル、ワイド画面での固定サイドパネル、マップやインベントリなら一時停止メニューだ。その情報が常時必要だったのか、必要なときだけだったのかで画面ごとに選ぶ。

### 移植した3DSゲームにコントローラは必須か

必須であってはならない。Steamのプレイヤーはキーボードとマウス、完全なゲームパッド対応、そして割り当て変更を期待する。スタイラスだけの操作にはゲームパッドの等価物が要る。さもないとコントローラのプレイヤーにはゲームの一部が届かない。

### Summer Engineが汎用のエンジンと違うのはどこか

元のゲームの説明から遊べるプロジェクトを生成するので、空のエディタではなく動くシーンから作り直しが始まる。SummerはGodotのupstreamに追従しGodot 4のワークフローと互換を保ちつつ、100万行を超える独自コードを持つ完全なカスタムエンジンだ。プロジェクトは自分のもので、ロイヤリティはない。

[Steamへの移植を始める](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