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

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

権利のある3DSゲームをSummer Engineで作り直し、デスクトップとスマートフォンのブラウザで動くHTML5ビルドを書き出す。

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

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

始める前に一つの製品事実が効いてくる。Summer EngineではゲームをC++、GDScript、C#で書けるが、C#はWeb以外のどこでも動く。ブラウザ向けビルドが計画に入るなら、ゲームのロジックはC++かGDScriptで書く。

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

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

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

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

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

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

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

itch.ioは遊べるWebビルドを置く標準の場所で、審査なしでアップロードを受け付ける。Newgrounds、itchのコレクション、ゲームジャムのページも同じように使える。自分のサイトに埋め込むこともでき、報道向けのメールやSteamのページから飛ばしたいデモにはそのほうが向く。Web版と有料のデスクトップ版は共存できる。ブラウザのビルドがデモになり、デスクトップのビルドが買ってもらうものになる。

よくある質問

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

権利のある3DSゲームを作り直し、ブラウザで動くHTML5ビルドとして書き出せる。それはエミュレータのページではなく、自分のゲームの本物の移植だ。他人のカートリッジのデータをブラウザで動かすのは別の話で、Summer Engineの用途ではない。

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

使えない。Summer EngineではC++、GDScript、C#がすべて使えるが、C#はWeb以外のすべての行き先で動く。ブラウザ向けビルドが計画に入るなら、同じプロジェクトからWebへも書き出せるよう、ゲームのロジックはC++かGDScriptで書く。

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

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

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

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

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

有効で、Web書き出しの最も実用的な使い方の一つだ。短い遊べる断片をitch.ioか自分のサイトに置き、ストアページと広報からリンクし、完全な体験は有料のデスクトップビルドに残す。

さらに見る

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, then take the console path once you are an approved Nintendo developer.

開く

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