3DSゲームをWebへ移植する

3DSゲームをWebへ移植する

権利のある3DSゲームのブラウザ向けビルドには、小さなデータ量、タッチとキーボードの入力、適切なホストが要る。Summer EngineはGDScriptプロジェクトのWebビルドを書き出せる。

3DSゲームのWebへの移植とは、権利のあるゲームを作り直し、ブラウザ向けのビルドを書き出すことだ。通常はWebGLを使うWebAssemblyになる。Webビルドは遊べる版を人前に置く最も安い方法だ。インストールもストアも承認もないからだ。

Webはここで最も制約の多い行き先でもある。誰かが遊ぶ前にビルドをダウンロードさせる必要があり、メモリの限られたブラウザのサンドボックスの中で動き、プレイヤーがページを操作するまで音を鳴らせず、ファイルシステムがない。

始める前に一つの製品事実が効いてくる。Summer EngineはGDScriptプロジェクトのWebビルドを.zipとして書き出せる。それをSummer Gamesで公開すれば、ブラウザで遊んでもらえる。C#のプロジェクトはWebに書き出せない。以下はすべて、ブラウザ向けビルドに何が必要かの説明だ。

ダウンロードの大きさが離脱率を決める

デスクトップのプレイヤーはSteamのダウンロードを待つ。すでに決めているからだ。Webのプレイヤーは読み込みのバーが動く間にゲームを値踏みする。最初に送る量を見積もり、テクスチャと音声を圧縮し、使っていないアセットを削り、後のレベルは全部を先に送らずストリーミングする。3DSの大きさのアート予算は本当の強みだ。240p時代のスプライトと小さなモデルは数秒で読み込める量に圧縮でき、それこそブラウザのビルドに必要なものだ。

抜けられないブラウザのサンドボックスの規則

プレイヤーがクリックかタップをするまで音は鳴らないので、音楽を自動再生せずスタートボタンの後ろにゲームを置く。セーブはブラウザのストレージに入り、プレイヤーがいつでも消せるので、恒久ではなく便利なものとして扱い、進行が重要なら書き出しかクラウドの選択肢を用意する。メモリはネイティブより厳しい。マルチスレッドのビルドを含む一部の機能は、ビルドを置くサーバーで特定のクロスオリジン分離のヘッダーが要るので、頼る前にホストが何を許すか確認する。

一つのビルドでキーボード、マウス、タッチ

同じWebのビルドが、キーボードのあるデスクトップでも、タッチ画面のスマートフォンでも読み込まれる。両方を検出して対応する。マウスはかつてのスタイラス操作をよく扱う。タッチには広い当たり判定が要る。キーボードにはブラウザのショートカットを避けた配置が要る。ゲームパッドは接続されていればブラウザのゲームパッドAPIで動く。フォーカスを失ったときの扱いも入れる。プレイヤーはタブを切り替えるので、背景で全速力で動き続けるゲームはノートPCの電池を減らし、閉じられる。

ブラウザビルドをどこに置くか

itch.ioは遊べるWebビルドを置く標準の場所で、合計500 MB、1ファイル200 MB、ファイル数1,000という制限の範囲内なら審査なしでアップロードを受け付ける。Newgrounds、itch.ioのコレクション、ゲームジャムのページも同じように使える。自分のサイトに埋め込むこともできる。Web版と有料のデスクトップ版は共存できる。ブラウザのビルドがデモになり、デスクトップのビルドが買ってもらうものになる。Summerでは、WebビルドをSummer Gamesで公開し、Steamのページと並べて置ける。

よくある質問

3DSゲームをブラウザに載せられるか

Webエクスポートに対応したエンジンなら、権利のある3DSゲームを作り直し、ブラウザ向けのビルドとして書き出せる。それはエミュレータのページではなく、自分のゲームの本物の移植だ。Summerの場合、GDScriptで作り直したゲームはWebビルドを書き出し、Summer Gamesで公開できる。他人のカートリッジのデータをブラウザで動かすのは、Summer Engineの用途ではない。

Web書き出しでC#は使えるか

C#ではできない。Godot 4はC#のプロジェクトをWebへ書き出せず、それはSummerでも変わらない。SummerではGDScriptのプロジェクトならWebビルドを書き出せ、Summer Gamesで公開できる。C#はデスクトップエディタで、デスクトップビルド向けに使える。

Webビルドで最初に音が鳴らないのはなぜか

ブラウザはユーザーがページを操作するまで音を止める。ゲームの前にスタートまたはクリックして始める画面を置き、最初のユーザー操作で音声のコンテキストを解除してから音楽と効果音を始める。

Webビルドは進行をどこに保存するか

ブラウザのストレージだ。プレイヤーが消せるし、別の端末やブラウザには付いてこない。セーブデータは小さく保ち、進行が重要なら引き継ぎコード、ファイルのダウンロード、アカウントに紐づくセーブを用意する。

Webの移植はSteamリリースのデモとして有効か

有効だ。ブラウザで遊べる断片は誰も何もインストールしなくていいので、最も実用的なデモの一つだ。Summerなら、GDScriptのWebビルドをSummer Gamesで公開し、ストアページや広報からリンクできる。

さらに見る

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 iOS

Rebuild a 3DS game you own in Summer Engine, then export a signed build for iPhone and iPad and submit it to the App Store.

開く

Port a 3DS game to Android

Rebuild a 3DS game you own in Summer Engine, then export an Android App Bundle and publish it on Google Play.

開く

Port a 3DS game to PC

Rebuild a 3DS game you own in Summer Engine, then export Windows, macOS, and Linux builds and distribute them however you like.

開く

Port a 3DS game to Switch

Rebuild a 3DS game you own in Summer Engine and ship it on PC first. A Switch version needs Nintendo approval and usually a licensed porting partner.

開く

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.

開く

How to port a 3DS game

The full process, in order: rights, asset inventory, rebuild, screen and input redesign, testing, export, and store submission.

開く

Port a game to web

A browser build has no filesystem, a hard memory ceiling, and a download the player watches. Those three facts shape the whole port.

開く

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

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

見る

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

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

見る

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

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