FlashゲームをHTML5へ移植する

FlashゲームをHTML5へ移植する

Flashのプラグインは現代のどのブラウザでも動かない。HTML5が置き換えのランタイムであり、そこへ行くには作り直しかエミュレーターが要る。

FlashゲームのHTML5への移植とは、権利のあるゲームを今も存在するブラウザのランタイム向けに作り直すことだ。Adobeは2020年12月31日にFlash Playerの提供を終え、ブラウザはプラグインへの対応を完全に取り除いた。

正直な道は二つある。Ruffleのような企画を使うエミュレーションは、WebAssemblyを通して元のSWFをブラウザで動かすもので、保存と記録のためには正しい答えだ。作り直しは現代のエンジンでゲームを書き直し、タッチ対応、ワイド画面、セーブ、更新、そして後から同じゲームをデスクトップやモバイルのストアへ出す道を与える。

Summer Engineはデスクトップ、モバイル、コンソールと並んでwebへ書き出す。ブラウザのビルドに固有の注意が一つある。webではC#に対応していないので、webの対象ではGDScriptかC++を使う。C#が除外されるのはこのプラットフォームだけだ。

エミュレーションと作り直しの選び方

目的がプレイヤーや記録のために原版をそのまま保つことで、マウスとキーボードだけ、固定のステージの大きさ、更新なしを受け入れられるなら、エミュレーションを選ぶ。モバイルのブラウザとタッチ、ワイド画面と可変の配置、ローカルストレージでのセーブ、解析、収益化、あるいは後のSteamやアプリストアでのリリースが欲しいなら、作り直しを選ぶ。作り直しは、誰もがデスクトップのマウスを使っていたから成立していた原版の部分を直すこともできる。

権利のあるSWFからアセットを取り戻す

FLAが残っているならそこから始め、ベクターのシンボルをSVGか高解像度のPNGとして、音声をOGGとして書き出す。FLAがない場合でも、抽出のツールで自分のSWFから埋め込みのビットマップと音を取り出せるし、デコンパイラでActionScriptを復元して参照に使える。ベクターのアニメーションはスプライトシートかスケルタルのアニメーションとして作り直す。これは自分が作ったか、リメイクの明確なライセンスを持つゲームにだけ行う。

設計を変えるwebのランタイムの制約

ブラウザは最初の操作があるまで音声を止めるので、クリックで開始する画面を足す。ファイルシステムがないのでセーブはブラウザのストレージへ行き、利用者に消されうる。ダウンロードの大きさは誰かが待つかどうかを直接決めるので、テクスチャと音声を圧縮し、できるものは順次読み込む。モバイルのブラウザはメモリの制限が厳しく、キーボードもない。タブが背面に回ったら一時停止して扱い、フレーム数ではなく時間差を使って可変のフレームレートを扱う。

HTML5のゲームが今いる場所

ポータルの時代はプラグインとともに終わったが、webでの配布は終わっていない。itch.ioはHTML5のビルドを直接置ける。Newgroundsは今もゲームを動かしている。webゲームのパブリッシャーやまとめサイトはHTML5のタイトルをライセンスし、流入か売上の分配で支払う。自分のドメインで自前配信することもできる。作り直したゲームは、同じプロジェクトからブラウザにもデスクトップとモバイルのストアにも出せる。これがエミュレートせずに作り直す主な商業上の理由だ。

よくある質問

SWFは自動でHTML5に変換できるか

確実にはできない。自動の変換ツールは単純なアニメーションは扱えるが、ActionScriptのロジックで壊れる。頼れる選択肢は二つ、RuffleのようなWebAssemblyのプレイヤーでSWFをエミュレートするか、現代のエンジンでゲームを作り直すことだ。

Flashが動かなくなったのはなぜか

Adobeが2020年12月31日にFlash Playerの対応を終え、2021年1月からコンテンツの遮断を始めたからだ。ブラウザはそれが依存していたプラグインの仕組みを取り除いたので、現代のブラウザはSWFをそのままでは動かせない。

webのビルドでC#を使えるか

使えない。webではC#に対応していない。ブラウザのビルドにはGDScriptかC++を使う。C#はデスクトップとモバイルを含む他のすべての対象で使える。

作り直したゲームは電話で動くか

そのように設計すれば動く。タッチ操作、可変の配置、そして低いメモリとダウンロードの予算を足す。Flashのゲームはマウスを前提にしていたので、タッチは割り当ての変更ではなく設計の変更になる。

同じ作り直しをブラウザの外にも出せるか

出せる。一つのプロジェクトがデスクトップ、モバイル、web、コンソールへ書き出すので、ブラウザ版とSteamやストア版が同じ元から生まれる。

さらに見る

Summer Engine で創るその他の方法

AI ゲームメーカー

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

開く

Port a Flash game to Steam

Flash Player was discontinued at the end of 2020. A Flash game reaches Steam by being rebuilt as a native desktop game, not by being wrapped.

開く

Port a Flash game to the web that still exists

Adobe ended Flash Player support on December 31, 2020. Porting a Flash game means rebuilding a title you own so it runs in a modern browser.

開く

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 web

Rebuild a 3DS game you own in Summer Engine, then export an HTML5 build that runs in a browser on desktop and phones.

開く

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

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

見る

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

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

見る

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

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