DSゲームをSteamへ移植する

ニンテンドーDSゲームをSteamへ移植する

権利のあるDSゲームをSummer Engineで作り直し、Steam向けにデスクトップビルドを書き出す。マウスがスタイラスを、モニターが二画面を引き受ける。

ニンテンドーDSゲームのSteamへの移植とは、権利のあるゲームをSummer Engineで作り直し、Steamのストアページ向けにデスクトップビルドを書き出すことだ。DSは3DSではない。256x192の画面が二つ、アナログスティックなし、立体視なし、そしてスタイラスを軸にした設計の語彙がある。

その違いが移植を変える。DSのゲームは多くの3DSのゲームよりはるかにタッチ画面に寄りかかっており、スライドパッドではなく十字キーで動いていた。Steamではマウスが良いスタイラスの代役になるが、マウスと十字キーは原版が前提にした手つきとは違う。

もう一つの要点は解像度だ。256x192は3DSの上画面と比べても小さい。これはピクセルアートには有利で、4倍の整数倍スケーリングは1024x768になり鮮明なままだ。そしてそのサイズで作られた文字やUIには問題になる。

256x192の二画面を一枚のモニターに

DSの画面はそれぞれ4:3に近い正方形寄りで、積むと縦長の4:6の領域になる。これは縦持ちのスマートフォンにはよく合い、ワイドのモニターには合わない。Steamではもっと良い選択肢がある。横の空間を使う左右に並べる配置、タッチの内容をHUDにまとめた一つの表示、切り替え式のオーバーレイだ。DSに関しては左右に並べるのが最も強い。両方の画面がリアルタイムの情報を持っていることが多く、片方を隠すとゲームが壊れるからだ。

スタイラスにはマウス、それでも残る作業

マウスは精密で、手に入る中で最良のスタイラスの代役だ。ポイントとクリック、ドラッグ、選択はそのまま移る。それでも三つは注意が要る。マルチタッチのジェスチャーにマウスの等価物はない。スタイラスを持ちながらボタンを押す操作は、片手がマウスにあると扱いにくい。そしてマイク入力は、驚くほど多くのDSゲームが使っていたが、キー押しか本物のマイクの許可の要求で置き換える必要がある。ゲームパッド対応には、すべてのスタイラス操作に完全な代替経路が要る。

十字キーからスティックとキーへ

DSの移動は八方向のデジタルだった。Steamのプレイヤーはキーボードのキーかアナログスティックを使い、原版になかった速度と角度を得る。精密な足場移動とグリッド移動を保つデジタル移動のままにするか、自然に感じるがバランスが変わるアナログ入力を受け入れるかを決める。グリッド式とパズルのゲームはデジタルのままにすべきだ。アクションゲームはたいていアナログが有利で、設計が方向に依存する場面では八方向に吸着するデッドゾーンを入れる。

高さ192ピクセルのアート

DSのアートは高さ192ピクセルの画面向けに、限られたパレットと厳しいスプライト予算で作られた。整数倍スケーリングが味方だ。4倍なら画面あたり1024x768、5倍なら1280x960で、どちらも鮮明だ。整数でない倍率は使わない。DSのピクセルアートはぼけがすぐ見えるからだ。UIとフォントの作業は避けられない。高さ192ピクセルで読めていた文字は机の距離では読めないので、仕上げではなく移植の一部としてフォントの見直しと大きな会話枠を計画する。

Steam側の話

Steamworksのパートナーアカウントと、一タイトルあたり100米ドルのSteam Directの費用が要る。これはゲームが売れれば回収できる。ビルドはSteamPipeでデポへ上げる。ストアページにはカプセル画像、ゲームプレイのスクリーンショット、トレーラーが要り、発売前に一定期間公開されている必要がある。既定のコントローラ設定を含むSteam Input、セーブのためのSteam Cloudを足し、Steam Deckに適しているかも検討する。高さ800ピクセルの携帯機で遊ぶDSのゲームは、元の文脈に近いからだ。

よくある質問

ニンテンドーDSゲームをSteamへ移植できるか

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

DSの二画面をPCのモニターでどう扱うか

ワイド画面ではたいてい左右に並べるのが最善だ。DSのゲームは両方の画面を同時にリアルタイムの情報に使っていることが多いからだ。タッチの内容をHUDに入れた一つの表示も機能する。切り替え式のオーバーレイは、二枚目の画面を常時ではなくときどき参照していた場合にだけ機能する。

マウスはDSのスタイラスの良い代わりになるか

なる。ポイント、ドラッグ、選択については良い代わりだ。穴はマルチタッチのジェスチャー、スタイラスとボタンを同時に使う操作、マイク入力だ。そのどれにも設計された代替が要り、さらにコントローラのプレイヤーが最後まで遊べる完全なゲームパッドの経路も要る。

256x192のアートはどう拡大すべきか

整数倍スケーリングを使う。4倍で画面あたり1024x768、5倍で1280x960になり、どちらもピクセルアートを鮮明に保つ。整数でない倍率はDS時代のアートではぼけて見える。フォントと会話枠は、ほぼ必ず大きなサイズで作り直しが要る。

SteamでもDSの移動はデジタルのままにすべきか

グリッド式、パズル、精密な足場移動のゲームでは、八方向のデジタル移動を保つべきだ。アクションゲームではアナログスティックのほうが良い感触だがバランスが変わるので、設計が正確な方向に依存する場面ではデッドゾーンと吸着を足す。

さらに見る

Summer Engine で創るその他の方法

AI ゲームメーカー

説明するだけで完全な 2D・3D ゲームを作れるハブ。

開く

Port a 3DS game to Steam

Rebuild a 3DS game you own in Summer Engine, then export a Windows, macOS, or Linux build and publish it on Steam.

開く

Port a 3DS game to Steam Deck

Rebuild a 3DS game you own in Summer Engine, then ship a Steam build that plays well on a 1280x800 handheld with gamepad only input.

開く

Port a Nintendo DS game to iOS

Rebuild a DS game you own in Summer Engine, then export a signed iPhone and iPad build. The hardware fits, the finger does not.

開く

Port a Nintendo DS game to PC

Rebuild a DS game you own in Summer Engine and export desktop builds. The mouse solves the stylus. The window layout is the real design work.

開く

Port a Wii game to Steam

Rebuild a Wii game you own in Summer Engine, then export a desktop build for Steam. Pointer becomes mouse. Motion becomes a design decision.

開く

Port a PSP game to Steam

Rebuild a PSP game you own in Summer Engine and export a desktop build for Steam. One screen already fits. One analog nub does not.

開く

Port a PS Vita game to Steam

Rebuild a Vita game you own in Summer Engine and export a desktop build for Steam. Dual sticks transfer. Front and rear touch do not.

開く

Port a GameCube game to Steam

Rebuild a GameCube game you own in Summer Engine and export a desktop build for Steam. Analog triggers, 4:3 framing, and memory card saves.

開く

プラットフォーマーのテンプレート

既成のプロジェクトから始めて、変更を説明するだけ。

見る

すべてのゲームテンプレートを見る

既成のプロジェクトから始めて、変更を説明するだけ。

見る

今すぐゲーム制作を始めよう

Summer Engine をダウンロードして、作りたいものを説明するだけで形になっていきます。無料で始められ、コーディングは不要です。