
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.
開くプラットフォーマーのテンプレート
既成のプロジェクトから始めて、変更を説明するだけ。
見るすべてのゲームテンプレートを見る
既成のプロジェクトから始めて、変更を説明するだけ。
見る