HeapPlay

你的第一款游戏应该做多小?

小到你能把它做完:一个动作、一个画面、一种赢或输的方式,几分钟就能玩完。本文说明怎样把更大的想法削减到这个大小。

小到你能把它做完:玩家只做一件事,只有一个画面,只有一种赢或输的方式,整款游戏几分钟就能玩完。如果你能在一个周末或者两周的晚上把它做出来,这个大小就对了。AI 编程助手能让你更快得到一个可以玩的版本,但它不会改变这个答案,本文会说明原因。要把更大的想法削减下来,就用一句话写出这款游戏,只保留这句话需要的东西,把其余的都移到一张叫“以后”的清单上。

小游戏是什么样子?

用四条限制。

  • 一个动作。玩家移动,或者跳跃,或者配对,或者瞄准。只选其中一个。
  • 一个画面,或者一个不断重复并越来越难的关卡。
  • 一种赢或输的方式。一个要超过的分数、一个计时器,或者会用完的生命。
  • 几分钟,从按下“开始”到看到结果。

有两个公开的参照可以说明,符合这些限制的游戏是真正的游戏。

第一个是 game jam(限时游戏创作活动)。在 Ludum Dare 的 Compo 类别中,一个人在 48 小时内从零做出一款游戏;Jam 类别给 72 小时,并允许组队。它的规则把理想的参赛作品描述为一款在浏览器里、几分钟内、一个人就能玩的游戏。这是规则页面在 2026 年 10 月 9 日的内容。

第二个是一份教程。MDN 的 2D breakout game 在同一天有十一课:画布、会动的球、墙壁、挡板、游戏结束、一片砖块、得分和胜利、额外生命,然后是动画、按钮和一点随机性。这份清单很好地说明了在这个大小上“完整”意味着什么。

一款完整的小游戏有暂时可以没有
一个玩家反复做的动作第二种玩法模式
一个画面或一个重复的关卡世界地图、关卡编辑器
一种输的方式,以及一个分数或目标剧情、过场动画
开始和重新开始账号、存档、联网对战
显示在屏幕上的操作方式商店、升级、设置

既然代码由 AI 来写,为什么“小”仍然重要?

因为写代码从来不是全部的工作。助手缩短的是写的部分。有三件事仍然要你自己来。

每次改动你还是得亲自玩一遍。每次改动之后,总得有人启动游戏、试一试,并判断它是否比之前更好。这个人就是你。

功能会相乘。一个新功能必须和已有的每个功能配合。三个功能形成三对可能互相冲突的组合。六个形成十五对。十二个形成六十六对。检查的工作量增长得比功能清单快得多。

三个点由 3 条线相连,六个点由 15 条线相连,十二个点由 66 条线相连
每个点是一个功能。每条线是一对必须配合工作的功能。

一个请求牵动的比它说出来的多。“加一个商店”听起来是一项任务。它会改动分数、暂停画面、操作方式以及要保存的内容,而这些事后都要逐一检查,不管代码是谁写的。

小游戏是你能装在脑子里的游戏。你可以准确描述一处改动,读懂返回的结果,并注意到它弄坏了什么。

每多一个功能,以后要付出什么代价?

每当你增加一个平台或一种语言,它就要再付一次代价。我们在 HeapPlay 上托管的射击游戏 KittenGalaxy 上看到了这一点。

当我们添加触屏操作时,工作量是按画面算的,而不是按游戏算的:菜单、输入名字、飞行、商店、数学挑战,以及游戏结束和结局画面,各自都需要自己的操作方式。当这款游戏做成十种语言时,每个画面都在每种语言下检查了一遍,游戏页面上有记录。

这两项工作都不是失误。但两者的工作量都取决于游戏已有的画面数量。只有一个画面的游戏,这个代价只付一次。

怎样把一个想法削减到这个大小?

  1. 用一句话写出这款游戏:玩家做什么,以及怎样结束。例如:“你操纵一艘飞船左右移动,射击入侵者,直到生命用完。”
  2. 把你想到的其余一切都列出来。首领、商店、双人、剧情。全部写下来,这样什么都不会丢。
  3. 只保留那句话需要的东西。如果去掉某个功能后那句话仍然成立,这个功能就进“以后”清单。它是被推迟,不是被删除。
  4. 先削减内容,再削减想法。一种敌人,而不是五种。一波越来越快的敌人,而不是二十个关卡。
  5. 开始之前先定好时间。一个周末,或者两周的晚上。进度落后时,从游戏里拿掉一些东西,日期保持不变。

下面是这个例子削减之后的样子。

想法里有第一个版本以后
一艘会移动和射击的飞船有无
五种入侵者一种另外四种
二十个关卡一波越来越快的敌人关卡
首领、商店、升级没有有
双人没有有
世界排行榜把最高分存在浏览器里有

和助手一起工作时,怎样守住这个大小?

  • 把那一句话和“以后”清单放进项目里的一个文件,每次会话开始时都让助手先看它。
  • 一次只提一项,在提下一项之前先玩一遍游戏。
  • 每次提出请求之前,把能运行的版本保存为版本控制里的一次提交,这样糟糕的改动可以撤销。
  • 当一次改动带来的比你要求的多时,把多出来的部分拿掉。没人要求的功能也算范围。

怎样知道它做完了?

在开始之前就决定,并写下来。第一款游戏在满足以下条件时算是做完:

  • 陌生人可以通过一个链接启动它,不需要你说一个字;
  • 操作方式显示在屏幕上;
  • 可以输掉,并且不用重新加载页面就能再来一次;
  • 你在自己声称支持的每台设备上都从头玩到了尾,并说明哪些设备你没有试过。

然后把它放到大家能玩到的地方。这么小的游戏仍然是游戏:HeapPlay 的提交规则要求的是一款真实、可玩的游戏,并带有官方链接,没有规定最小规模。你可以不用账号提交它,每份提交在出现之前都由编辑审核。

“以后”清单会怎么样?

它会变成你的计划,而且顺序不必再靠猜。一旦有人玩了这个小版本,他们说的话会告诉你先做哪一项。把那一项加上,作为新版本发布,然后再听一听。

常见问题

第一款游戏应该花多长时间?没有测量出来的答案。选一个你能守住的期限,再让游戏适应它。Ludum Dare 给参赛者 48 或 72 小时。

克隆一款经典游戏够不够?作为练习,够了:你已经知道“做完”是什么样子。在给别人看之前,改动一处,让它成为你自己的。

我的第一款游戏应该是我的梦想之作吗?先做出它最小的可玩部分,其余的留在“以后”清单上。

既然 AI 助手写代码,我可以从更大的开始吗?你会更快得到一个可以玩的版本。玩、检查和做决定仍然是你的事,而且每多一个功能就多一分。

一款三分钟的游戏值得发布吗?值得,只要它是完整的。玩家可以给它评分和写评价,经过验证的开发者可以记录每个新版本以及更新内容。

scope first-game prototypes

正在做游戏?把它提交到 HeapPlay,并了解开发者能得到什么。