移植 Flash 游戏到 HTML5

把 Flash 游戏移植到 HTML5

Flash 插件在任何现代浏览器里都不再运行。HTML5 是替代的运行时,走到那里要么重建,要么模拟。

把 Flash 游戏移植到 HTML5,意思是为一个仍然存在的浏览器运行时重建一款你拥有的游戏,因为 Adobe 已于 2020 年 12 月 31 日停止 Flash Player,浏览器也彻底移除了插件支持。

有两条诚实的路。模拟,比如用 Ruffle 这类项目,通过 WebAssembly 在浏览器里运行原始 SWF,对保存和存档来说这是正确答案。重建则是在现代引擎里重新制作这款游戏,让你获得触摸支持、宽屏、存档、更新能力,以及日后把同一款游戏发到桌面和移动商店的可能。

Summer Engine 除桌面、移动和主机外也导出到网页。有一条专属浏览器构建的注意事项:网页不支持 C#,所以网页目标要用 GDScript 或 C++。那是唯一排除 C# 的平台。

模拟还是重建,怎么选

当目标是为玩家或档案保存原汁原味的原版,并且你接受只有鼠标键盘、固定舞台尺寸、也没有更新时,选模拟。当你想要移动浏览器和触摸、宽屏与自适应布局、通过本地存储保存进度、分析、变现,或者日后在 Steam 或应用商店发行时,选重建。重建还能修好原作里那些只因为人人都用桌面鼠标才成立的部分。

从你自己的 SWF 里找回资源

如果 FLA 还在就从它开始,把矢量元件导出成 SVG 或高分辨率 PNG,音频导出成 OGG。没有 FLA 时,提取工具能从你自己的 SWF 里拉出内嵌位图和声音,反编译器也能还原 ActionScript 供你参考。把所有矢量动画重建成精灵表或骨骼动画。只对你制作的、或持有明确重制许可的游戏这么做。

会改变设计的网页运行时约束

浏览器在第一次用户交互之前会拦住音频,所以要加一个点击开始的界面。没有文件系统,所以存档写进浏览器存储,而且可能被用户清掉。下载体积直接决定有没有人愿意等,所以要压缩贴图和音频,能流式加载的就流式加载。移动浏览器内存限制很紧,也没有键盘。标签页切到后台时暂停,并用时间增量而不是帧计数来应对浮动的帧率。

HTML5 游戏如今在哪里生存

门户时代随插件一起结束了,但网页分发没有。itch.io 直接托管 HTML5 构建。Newgrounds 仍然能跑游戏。网页游戏发行商和聚合站会授权 HTML5 作品,按流量或分成付费。你也可以自建域名托管。重建后的游戏能从同一个项目发到浏览器、桌面和移动商店,这正是选择重建而不是模拟的主要商业理由。

常见问题

SWF 能自动转换成 HTML5 吗?

没法可靠地转。自动转换器能处理简单动画,但在 ActionScript 逻辑上会垮掉。两条靠得住的选择是:用 Ruffle 这类 WebAssembly 播放器模拟 SWF,或者在现代引擎里重建这款游戏。

Flash 为什么不能用了?

Adobe 在 2020 年 12 月 31 日结束了 Flash Player 支持,并从 2021 年 1 月起开始阻止内容运行。浏览器移除了它依赖的插件架构,所以没有现代浏览器能原生运行 SWF。

网页构建能用 C# 吗?

不能。网页不支持 C#。浏览器构建请用 GDScript 或 C++。C# 在其他所有目标上都可用,包括桌面和移动。

重建后的游戏能在手机上跑吗?

只要你为此做设计就能。加上触摸操作、自适应布局,以及更低的内存和下载预算。Flash 游戏默认有鼠标,所以触摸是一次设计改动,不是重新映射。

同一份重建能发到浏览器之外吗?

能。一个项目导出到桌面、移动、网页和主机,所以浏览器版本和 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,描述你想要的,看着它逐渐成形。免费开始,无需编程。