
把游戏移植到网页,意思是为一款你拥有的游戏构建一个通过 WebAssembly 和浏览器图形 API 运行的浏览器版本。有一条规则是 Summer Engine 特有的:网页不支持 C#,所以浏览器构建使用 GDScript 或 C++。其他所有目标都支持 C#。
网页是唯一让玩家看着你的下载条走完的平台。每一兆字节都是一次离开的机会。内存上限比桌面低,在移动浏览器上尤其如此。没有文件系统,所以存档放在玩家可以清掉的浏览器存储里。在玩家与页面交互之前,音频不能开始播放。
作为交换,你得到即点即玩、一个可以发到任何地方的链接,以及不需要商店审批。网页构建是现存最好的演示形式,也是在桌面发行之外同时发一个浏览器版本的有力理由,而不是用它取代桌面版。
体积和加载时间决定成败
动手之前先定下载预算,然后照着它设计。压缩贴图,把任何不会以全分辨率显示的东西降采样,音频按合理码率转成 OGG,并把未使用的内容从导出里剔掉。快速加载出一个可玩的首场景,其余的流式或惰性加载。展示真实进度,而不是转圈动画。一个要三十秒才能开始的网页构建,会失去多数点进来的人。
需要在代码里绕开的浏览器约束
音频上下文在用户操作之前保持挂起,所以要加一个点击开始的界面。存储是浏览器本地的,可以被清掉,所以把存档当作尽力而为,如果进度重要就提供导出或云端选项。标签页会被切到后台并降频,所以在可见性变化时暂停。使用时间增量,因为帧率的波动比原生更大。全屏和指针锁定都需要用户操作触发。移动浏览器内存更紧,也没有键盘。
页面上的输入
支持键盘鼠标、通过浏览器手柄 API 的手柄,以及移动端的触摸。当玩家在画布上按方向键或滑动时,阻止页面滚动。处理玩家点到游戏之外时的失焦。让画布对不同窗口尺寸自适应,而不是假定一个固定分辨率,并且在小笔记本窗口和整块桌面显示器上都测一遍。
托管在哪里
itch.io 托管 HTML5 构建并负责嵌入。Newgrounds 和网页游戏门户仍然接收浏览器作品,可以按流量或分成付费。自建托管用任何静态托管都行,不过用到线程时需要为跨源隔离设置特定的 HTTP 头。浏览器演示也能给 Steam 页面导流:很多开发者把同一个项目既做成免费网页演示,又做成付费桌面版发行。
常见问题
浏览器构建能用 C# 吗?
不能。网页不支持 C#。浏览器构建使用 GDScript 或 C++。C# 在桌面、移动和其他原生目标上都可用。
我的网页构建为什么加载这么慢?
几乎总是下载体积和未压缩的资源。先缩小贴图和音频,剔掉未使用的内容,然后把加载拆开,让一个可玩场景先出现,其余的随后到。
网页构建在手机上能用吗?
能,但需要做设计。移动浏览器内存更少、没有键盘、只有触摸输入,所以要规划更低的资源预算和触摸操作,而不是照搬桌面布局。
玩家能在浏览器游戏里保存进度吗?
能,通过浏览器存储,但它可能被玩家或浏览器清掉。对长流程游戏,加上导出码、文件下载,或基于账号的存档。
同一个项目也能发到 Steam 吗?
能。一个项目导出到桌面、移动、网页和主机。常见做法是一个免费浏览器演示加一个付费桌面版。
继续探索
用 Summer Engine 创作的更多方式
AI 游戏制作器
用语言描述就能制作完整 2D 和 3D 游戏的中心。
打开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.
打开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 Steam
Steam takes a desktop executable, a depot, and a store page. This is the checklist for getting any game from another platform onto it.
打开Port a game to iOS
Any iOS release needs a Mac, an Apple Developer account, a signed build, and a design that works with thumbs. This is the full path.
打开Port a game to Android
Android has the lowest barrier to testing and the widest device spread. Signing keys and the target API level are what actually block releases.
打开Port a game to Nintendo Switch
There is no self serve Switch export. Nintendo approves developers, provides the SDK and dev kits under NDA, and certifies every build.
打开Port a game to console
Every console platform gates access. Approval, an NDA covered SDK, dev kits, and certification come before any build reaches a store.
打开Port a game to Steam Deck
Steam Deck runs your existing Steam build. The port is a compatibility pass: controller first input, readable text, and a power budget.
打开平台游戏模板
从现成的项目开始,描述你想要的改动即可。
浏览浏览所有游戏模板
从现成的项目开始,描述你想要的改动即可。
浏览