发上去,然后呢
最后一章。你的游戏做完了 —— 它很小,可能有点糙,但它是完整的:有开头、有结尾、有人玩过。现在只剩下最后一步,而这一步比前面所有步骤都简单,也比它们都难:把它交出去。
为什么必须发出去
你可能会想:反正也没什么人玩,就放在硬盘里吧。
不行,而且理由和「获得玩家」没什么关系。
「发布」这个动作会逼你做完一整套只有它才会逼你做的事:
- 写一段能说清楚你的游戏是什么的文字(回到第 3 章那句一句话玩法 —— 现在它要面对陌生人了)
- 截出几张能代表游戏的图(这会让你第一次以外部视角看自己的作品)
- 把构建打包到别人的机器上真的能跑(你会发现一堆只在你机器上成立的假设)
- 面对真实的、不认识你的人的反应
这些经验没法从教程里学,只能从「真的发一次」里拿到。而这正是把「会做游戏的人」和「能出游戏的人」分开的那部分。
发在哪
(以下是截至 2026 年中的情况,平台政策会变,上架前请以官网为准。)
| itch.io | Steam | |
|---|---|---|
| 上架成本 | 免费 | 每款游戏 100 美元(Steam Direct),营收达到一定额度后返还 |
| 审核 | 几乎没有 | 有,要几天到几周 |
| 分成 | 你自己定(默认 10%) | 30% |
| 自然流量 | 很少 | 有,但对新作很少 |
| 能上传网页版 | 能(Godot 可导出 HTML5) | 不能 |
| 适合 | 第一个游戏、jam 作品、实验性作品 | 你打算认真卖钱的作品 |
三个理由:
- 零成本零风险。不用花钱,不用审核,随时能改。
- 网页版极大降低了试玩门槛。你分享一个链接,别人点开就能玩 —— 不用下载、不用解压、不用信任一个陌生的 exe。对一个没有名气的作品,这个差别是数量级的。
- 免费能换来玩的人。你现在最需要的不是钱,是有人玩过、有人给你反馈。定价 5 美元会让你的玩家数量少一个数量级,而你换来的钱不够吃顿饭。
Godot 导出 HTML5 有一些坑(音频要用户交互后才能播放、包体大小、某些平台的兼容性),但对一个小游戏通常是够用的。提前一周测这件事,别留到最后一天。
商店页面:唯一真正重要的三样东西
陌生人决定要不要点你的游戏,用的时间大概是三秒。在这三秒里,起作用的只有三样:
一、第一张截图(或者动图)
这是最重要的一样,没有之一。
要求:
- 要能看出这是什么类型的游戏。一眼
- 要有动作正在发生。不要截一张角色站着不动的图
- 不要有 UI 遮挡。暂时隐藏调试信息和 HUD,或者截一张 HUD 最少的
- 如果能做动图,一定做。动图的转化率远高于静图 —— 因为游戏的价值在于动起来的样子
- 录一段 3–6 秒的游戏画面。再长没人看完
- 内容要包含一次完整的「因果」 —— 玩家做了什么,发生了什么。不要录一段单纯的走路
- 选你游戏里最好看的那三秒。不用谦虚,这是橱窗
- 循环要顺 —— 结尾接回开头不突兀
这一张动图值得你花半天。它比你商店页面上其他所有东西加起来都重要。
二、标题下面那一句话
就是第 3 章那句一句话玩法。现在它要真的上场了。
要求:让人知道玩起来是什么,而不是它有什么标签。
✗ 「一款富有挑战性的复古像素风平台跳跃游戏」 —— 说了四个标签,零个信息。这句话可以贴在任何一款游戏上。 ✓ 「你只有三次跳跃,而出口在最上面。」 —— 三秒钟,玩家知道了机制、张力和目标。 ✗ 「体验一场关于记忆与失去的深刻旅程」 —— 形容词。玩家不知道自己要做什么。 ✓ 「一栋会随着你想起的东西而改变布局的房子。」 —— 具体,而且让人想知道更多。
三、前两行描述
大多数人只看前两行。所以:
- 第一行:把那句一句话玩法展开一点
- 第二行:告诉他要玩多久(「大约 15 分钟」)
- 「大约 15 分钟」是个加分项,不是减分项。它降低了尝试的心理成本,而且你诚实地设定了预期 —— 玩家不会因为「怎么这么短」而失望
剩下的(操作说明、致谢、开发日志)放后面,有人想看会往下翻。
发布前的检查清单
一份可以直接抄的清单。大部分条目十分钟内能做完,但漏掉任何一条都会让人尴尬。
【能不能跑】 □ 在一台不是你开发机的电脑上跑过 □ 网页版在手机浏览器上打开过(哪怕只是确认它不能玩,也要知道) □ 从解压 / 打开到能玩,不需要装任何额外东西 □ 全屏和窗口都试过,切换不会崩 □ 分辨率不是 16:9 的时候画面不会错位 【第一分钟】 □ 打开就能玩,不需要先过一个菜单迷宫 □ 玩家 30 秒内知道自己在控制什么 □ 按键提示在需要的时候出现(第 21 章) □ 有退出按钮(听起来可笑,但真的经常忘) 【最基本的尊重】 □ 音量能调,或者至少默认音量不吓人 □ 屏幕震动能关(第 13 章) □ Esc 能暂停 / 退出,而不是直接杀进程 □ 死亡 / 失败后重开不超过 1 秒(第 7 章) 【页面】 □ 第一张图 / 动图选好了,而且是有动作的 □ 那句一句话玩法写好了,没有形容词堆砌 □ 写了大概要玩多久 □ 写了操作方式(网页版尤其重要,玩家不知道该按什么) □ 标签选对了(类型、视角、单人) 【心态】 □ 已经接受了「可能没什么人玩」 □ 已经决定不会因为差评就删掉它
Godot 导出的桌面版,如果你没写退出逻辑,玩家只能 Alt+F4。这是最常见的、也最容易被忽略的失礼。
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("ui_cancel"):
# 网页版不能 quit,要区分对待
if OS.has_feature("web"):
_show_pause_menu()
else:
get_tree().quit()
类似地:网页版里 get_tree().quit() 什么也不会发生,所以别把「退出游戏」按钮留在网页版的主菜单里 —— 玩家点了没反应会以为游戏卡了。
真实的期望值
这一节可能会让你有点难受,但知道它比不知道好。
在 itch.io 上,如果你只是发布了,没有做任何额外的事:
- 大概率是几十次浏览、十几次试玩
- 可能有零到两条评论
- 大概率没有任何人主动发现它
这是正常的,不是你的游戏不好。平台上每天有大量新作品,而算法不会照顾没有社交证明的新人。
所以:不要用数据衡量这次发布的成败。这次发布的成功标准只有一条 —— 它发出去了,而且有几个陌生人玩过。
怎么让那个数字不是零
几件成本很低、效果实在的事:
- 参加一个 game jam。这是单项收益最高的一件事。Jam 有天然的社区,参与者会互相试玩和评价 —— 你能在一周内拿到几十份真实反馈,而这在平时要花几个月。
- 发到相关的社区。各个平台的独立游戏板块、Godot 的社区、开发者的聚集地。发的时候带上那张动图,别只发链接。
- 写一篇开发日志。讲你踩的坑、你怎么调的手感、你砍掉了什么。开发过程本身经常比成品更能吸引人,尤其在开发者社区里。
- 直接发给具体的人。朋友、同事、你喜欢的小主播。一条私信的转化率高过一百条广播。
发布之后:读评论
如果你真的拿到了反馈,怎么读?
| 类型 | 怎么处理 |
|---|---|
| 「我在 X 处卡住了」 | 最高价值。这是行为数据,直接采信 |
| 「X 太难 / 太简单」 | 单条不可信(个体差异大),多条同向才可信 |
| 「要是有 X 就好了」 | 翻译成「他缺少什么体验」,别直接实现 |
| 「很棒!」 | 开心一下,但没有信息。可以追问「哪一部分最喜欢」 |
| 纯粹的恶意 | 有,忽略。它和你的游戏无关 |
关于被批评这件事
说点实在的:第一次看到陌生人批评你花了三个月做的东西,会很难受。这很正常,不需要装作不在乎。
但有一个视角转换会有帮助:
一个人愿意花时间告诉你哪里不好,说明他玩了、而且在乎到愿意打字。 真正的失败不是被批评,是没有人说任何话。
然后呢:第二个游戏
这才是这本书真正的终点。
你现在有了一样在第 1 章时没有的东西:一次完整的经验。你知道从点子到发布这条路上每一段是什么样的,你知道自己在哪里会卡住,你知道八周之后动力会怎么掉。
两个选项,都对:
- 做那个你一直想做的。现在你有判断力去评估它的范围了 —— 用第 3 章那六条判据过一遍,用第 22 章那三笔账算一遍。你会发现它比你以为的大,然后你会知道该砍什么。
- 再做一个小的,但做深。同样的规模,但把卷 III 和卷 IV 的东西全部用上。第一个游戏你多半只用了其中一部分。
如果拿不定主意,选第 2 个。第二个小游戏的进步幅度,通常比第一个大项目大得多。
回头看这本书
二十四章,六卷。如果要压成几句能带走的话:
- 卷 I · 念 创意不是灵感是提问;能压成一句话才算想清楚;「但是」后面那句才是你的游戏。
- 卷 II · 玩 游戏是动词不是名词;三层循环各自要闭合;假选择可以被算出来;难度是玩家在学东西;少数正交规则长出很多玩法。
- 卷 III · 感 「好玩」不是形容词 —— 手感是十二个能单独开关的零件;十二项全关全开,跳跃高度都是 37 像素;宽容窗口值 47 个百分点;反馈的时序比强度更重要;juice 是倒 U 曲线;摄像机决定玩家的反应时间预算。
- 卷 IV · 数 玩家感受的是击杀时间不是攻击力;成长感来自跨过阈值;玩家讨厌真随机(20 连不出);没有低谷高峰就不成其为高峰;产出是复利的而消耗是一次性的。
- 卷 V · 造 原型是实验,写完就扔;固定步长;状态机让非法组合不可能;迭代速度是一个设计指标;教学是设计出来的,不是说出来的。
- 卷 VI · 完 项目被「顺便也做一下」杀死;真正的敌人是动力曲线;看别人玩,然后闭嘴;发布是学习环节不是营销环节。
最后一件事
回到第 1 章那个问题:你会用引擎了,为什么还是做不出游戏?
现在应该清楚了:因为做游戏需要的不是一套工具知识,是一套判断力 —— 判断一个点子行不行、一个动词有没有深度、一个选择是不是假的、一个跳跃差在哪里、一条曲线该怎么弯、什么该砍掉、什么时候该停。
这本书能做的,是把这些判断从「感觉」变成「有名字的东西」。而名字的价值在于:有名字的东西是可以被排查的,可以被讨论的,可以被学会的。
但判断力最终不是读来的,是做出来的。这本书里的每一条,你都要自己撞一次才会真的相信 —— 你会在某个晚上发现自己的游戏「不知道为什么就是不对劲」,然后想起卷 III 那张十二项的清单,一条一条对过去,找到那个漏掉的东西。
那一刻,这本书才算真的读完了。
打开你的引擎,新建一个项目。
做一个方块,让它能跳。然后把土狼时间和输入缓冲加上去。
就从这里开始。
你的第一个游戏不会很好。这本书也没法改变这一点。
但它会被做完 —— 而在这件事上,你已经超过了绝大多数说「我一直想做游戏」的人。他们的游戏永远停在「一直想」。
去做那个小的。发出去。然后做下一个。