FlashゲームをSteamへ移植する

FlashゲームをSteamへ移植する

Flash Playerは2020年末に提供を終えた。FlashのゲームがSteamに届く道は、包み直しではなくネイティブのデスクトップゲームとして作り直すことだ。

FlashゲームのSteamへの移植とは、権利のあるゲームをネイティブのデスクトップのビルドとして作り直すことだ。Flash Playerのランタイムは2020年12月31日に提供を終え、2021年には遮断された。SWFを包んで出すことは成立するリリースではない。

Flashのゲームの多くはポータル向けに作られていた。短い一回の遊び、固定された一つのステージの大きさ、マウスを前提にした操作、セーブの仕組みなし、ポーズなし。Steamでのリリースはその期待をすべて変える。プレイヤーは解像度の選択肢、コントローラ対応、クラッシュしても残るセーブ、そして購入に見合うだけの内容を求める。だからFlashからSteamへの企画は、たいてい半分が移植で半分が拡張になる。

Summer Engineはゲームを自分のものであるプロジェクトとして作り直し、デスクトップ、モバイル、web、コンソールへ書き出せるようにする。コードはC++とGDScriptで、webを除くすべての対象でC#が使える。ロイヤリティも売上分配もない。

Flashからコンテンツを取り出す

FLAの元データが残っているなら、シンボルをPNGの連番かSVGとして書き出し、音声はWAVかOGGとして書き出す。ベクターのアートは任意の解像度で書き出し直せる。これはFlashのアートが古いドット絵に対して持つ唯一の本当の利点だ。SWFしか残っていない場合でも、自分のファイルから埋め込みの画像と音声を取り出せるツールがあり、デコンパイラでActionScriptを復元して資料として読める。これは自分が権利を持つか明確にライセンスを受けたゲームにだけ行う。

ActionScriptから現代の言語へ

ActionScript 3はクラスに基づく言語で、GDScriptやC#の隣に置いても見慣れて見える。変わるのはランタイムの考え方のほうだ。表示リストはノードのツリーになり、MovieClipのタイムラインはアニメーションプレイヤーになり、enterFrameはprocessのコールバックになり、Eventのリスナーはシグナルになる。ロジックを書き直し、調整の値は保つ。30フレーム毎秒のステージでのフレーム基準のタイミングは、60フレーム毎秒以上でも同じ挙動になるよう時間差に基づく形へ変換する。

FlashのゲームがSteamのゲームになる前に必要なもの

セーブの仕組みを足す。Flashのゲームの多くはポータルのクッキーに頼るか、何もなかったからだ。ポーズメニュー、解像度と全画面の選択肢、音量スライダー、割り当て変更できる操作を足す。Steam Inputを通してゲームパッドに対応する。固定の800x600のステージを、UIを引き伸ばさずに現代のワイド画面の解像度へ拡大する。内容の長さも考える。十五分のポータルのゲームは、Steamのレビューを生き延びるためにたいていモード、レベル、進行の追加が要る。

リリース前の権利

ストアページを出す前に、何を誰が持っているかを確認する。Flashのゲームの多くはスポンサー付きだったり、ポータルへ独占でライセンスされていたり、購入した効果音のパックやライセンスした音楽で作られていた。スポンサーの契約が配布の権利を与えていて、それが今も効いていることもある。設計、アート、音声の権利を持っている場合か、持っていない部分を差し替えた場合にだけ、作り直しを出す。

よくある質問

SWFをデスクトップのアプリで包んでSteamに出せばよいのでは

その道は壊れやすく時代遅れだ。Flash Playerは2020年末に提供を終えている。Ruffleのような企画によるエミュレーションはブラウザ向けの保存には有効だが、商用のSteamでのリリースには、セーブ、設定、コントローラ対応を備えたネイティブの作り直しのほうが向く。

FLAのファイルを失くした。それでも移植できるか

ゲームの権利があるなら、たいていできる。埋め込みのアートと音声は自分のSWFから取り出せるし、ActionScriptはデコンパイラで復元して作り直しの仕様として読める。

ActionScriptは自動で変換されるか

されない。GDScript、C#、C++で書き直す。クラスの構造は移しやすいが、表示リストとタイムラインの挙動はノードとアニメーションで作り直す必要がある。

古いFlashのゲームはSteamで売れるか

内容の追加と現代的な利便性があってこそだ。Steamの購入者は、セーブ、設定、コントローラ対応、そしてポータルのゲームより長い遊びを期待する。成功したFlashからSteamへのリリースは、直訳の移植ではなく拡張したリメイクであることが多い。

Steamでの公開にはいくらかかるか

一タイトルあたり100米ドルの一回限りのアプリ申請料で、売上1000米ドルの後に回収でき、加えてValveの売上分配がある。Summer Engineはロイヤリティを足さない。

さらに見る

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 Steam

Rebuild a DS game you own in Summer Engine, then export a desktop build for Steam. Mouse covers the stylus, monitors cover both screens.

開く

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.

開く

Port a Switch game to Steam

Rebuild a Switch game you own in Summer Engine and export a desktop build. The gameplay is ready. The platform layer is the job.

開く

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

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

見る

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

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

見る

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

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