导出 + 发布到 itch.io
May 12
游戏做完了!最激动人心的一步 — 让别人玩到你的游戏。
我们要做两件事:
- 导出为 Web 版(HTML5) — 在浏览器里就能玩
- 发布到 itch.io — 全世界都能搜到、能玩
还记得我们在 第 1 章选了「兼容」渲染器吗?就是为了这一步!🎉
安装 Web 导出模板
第一次导出 Web 版需要下载导出模板:
路径:编辑器 → 管理导出模板 (Manage Export Templates)
如果是首次安装,点击「下载并安装」,等几分钟下载完成即可。

配置 Web 导出
路径:项目 → 导出 (Export)
点击「添加」→ 选择 Web 平台。

关键设置
| 项 | 推荐值 | 说明 |
|---|---|---|
Custom HTML Shell | 留空 | 用 Godot 默认模板即可 |
Head Include | 留空 | 如果想自定义页面 meta,可以加 |
Canvas Resize Policy | Adaptive | 自适应窗口大小 |
Focus Canvas on Start | ✅ 启用 | 启动就聚焦,方便按键响应 |
Experimental Virtual Keyboard | 看需求 | 移动端用得上 |
导出游戏
- 在【导出】面板选中 Web 配置
- 点击右下角「导出项目」
- 选择一个空文件夹保存(比如
builds/web/) - 文件名填
index.html(itch.io 上传约定)
⚠️ 必须导出到空文件夹 — 否则会和已有文件混在一起。
⚠️ 两个最容易踩的坑
坑一:底部有两个按钮,长得很像,只有一个是对的。
| 按钮 | 产出 | 用途 |
|---|---|---|
| 导出项目(Export Project) | index.html + .js + .wasm + .pck | ✅ 你要的 |
| 导出 PCK/ZIP | 只有资源数据包,没有 index.html | ❌ 给 DLC / MOD / 热更用的 |
点错第二个,你会得到一个能打开但里面全是 scenes/ scripts/ 的压缩包,itch.io 加载不出来。
坑二:Web 导出永远输出散文件,Godot 不会帮你打 zip。
导出路径的作用是决定基础文件名,不是决定打包格式。你要是把路径填成
XGGame-Bird.zip,Godot 会拿 XGGame-Bird 当基础名生成一堆文件,
然后把主 HTML 写进那个 .zip 路径 —— 你得到一个后缀是 .zip 的 HTML 文件,
file 命令一看就露馅:
$ file XGGame-Bird.zip
XGGame-Bird.zip: HTML document text # 根本不是压缩包
所以文件名老老实实填 index.html,zip 留到下面那步自己压。
导出后这个目录会出现一堆文件:
builds/web/
├── index.html
├── index.js
├── index.pck ← 游戏资源
├── index.wasm ← 游戏引擎(WebAssembly)
├── index.audio.worklet.js
└── index.icon.png ← 图标(可选)
本地测试
Web 导出无法直接双击 index.html 打开(浏览器安全策略会阻止 wasm 加载)。需要起一个本地 server:
# Python 自带 server(最方便)
cd builds/web
python -m http.server 8000
# 或者 Node.js
npx serve builds/web
打开浏览器访问 http://localhost:8000,能玩就说明导出成功。
注册 itch.io
已有账号可以跳过这一步。
去 itch.io 注册账号,确认邮箱即可。
上传游戏
登录后,右上角头像 → Upload new project。
填写项目信息
| 字段 | 填写建议 |
|---|---|
| Title | 游戏名(如 XGGame-Bird) |
| Project URL | URL slug(自动生成,可改) |
| Short description | 一句话简介(搜索结果会显示) |
| Classification | 选 Games |
| Kind of project | 选 HTML ← 关键! |
| Release status | Released 或 Prototype |
| Pricing | $0 or donate (免费 / 自愿打赏) |
上传文件 — 打包成 zip
itch.io 要求 Web 游戏打包成 zip 上传:
# 进入 builds/web 目录
cd builds/web
# 打包成 zip(不要有外层文件夹,要 index.html 在 zip 根目录)
zip -r ../xggame-bird-web.zip .
或者直接在文件管理器里:选中 builds/web 里的所有文件(注意是文件,不是文件夹)→ 右键 → 压缩为 zip。
⚠️ 常见坑:zip 解压后必须直接看到
index.html,不能有外层文件夹。否则 itch.io 加载不出来。
上传 zip 后,勾选 「This file will be played in the browser」。
配置嵌入设置(Embed Options)
下拉找到 Embed options:
| 项 | 值 |
|---|---|
| Viewport dimensions | 608 × 1080(见下方说明) |
| Frame options | 一般勾 Fullscreen button 让玩家可全屏 |
| Mobile friendly | 如果适配了移动端,勾上 |
这个数字怎么来的:项目设置里视口是
720 × 1280,但窗口高度覆盖设成了1080。 按 9:16 等比换算,宽就是720 ÷ 1280 × 1080 ≈ 608。 关键是比例对,绝对值可以小一点 —— 1280 高在笔记本上会超出屏幕,玩家要滚动才能看全。
上传封面图和截图
往下翻到 Cover image:
- Cover image — 主图,建议 630 × 500 或 315 × 250,会出现在 itch.io 列表里
- Screenshots — 游戏截图,2-4 张就够了
- Banner — 横幅图(可选)
封面图建议用游戏的最高光时刻做截图 + 加点文字,吸引点击。
设置标签 + 分类
帮助玩家发现你的游戏:
- Genre:
Action - Tags:
flappy,casual,pixel-art,arcade,endless,godot - Average session:
A few minutes - Inputs:
Mouse,Keyboard,Touchscreen(如果支持) - Accessibility: 看实际情况
发布!
设置好后,把 Visibility 改成:
- Public — 完全公开,任何人都能搜到
- Restricted — 只有有链接的人能访问(适合先给朋友测试)
- Draft — 草稿,只有自己能看
点击右下角 Save & view page,欣赏一下自己的成果 🎉
分享出去!
把 itch.io 的链接发到:
- 朋友圈、Twitter、小红书、抖音视频简介
- r/godot — Godot 社区
- Itch.io 论坛 — Release Announcements
- Discord 游戏开发群
记得在我的博客评论区也贴一下你的 itch.io 链接,互相玩一下!🎮
整个系列到这就完结了 🎉
回顾一下我们完成的事:
- ✅ 从零搭建一个 Flappy Bird 类游戏
- ✅ 学会了 Godot 的核心概念:节点、场景、信号、Autoload、Parallax
- ✅ 实现了完整的游戏循环:菜单 → 游戏 → 结束 → 重开
- ✅ 加上美术 + 音效,让游戏有了"灵魂"
- ✅ 公开发布,全世界都能玩
如果你跟着做完了整个流程,请一定告诉我!可以发我作品链接 → Twitter @X_XXGGG / 或博客评论。
下一个游戏,我们再战 💪