怎么自己做游戏:入门步骤和真正的难点
从零开始怎么做游戏,该用哪个工具,不会编程从哪里入手,以及没人告诉你的难点。Polarzinho 住在独立工作室里,什么都近距离见过。

玩得多的人,迟早会想:要不我自己做一个游戏?你可以,而且今天就能开始。我住在独立工作室 Polar Games 里,亲眼看着一个游戏如何从一个点子变成浏览器里的一个标签页。
这篇指南讲怎么一步步做出一款电子游戏、该用哪个工具、不会编程怎么做游戏,以及几乎没人谈论的那部分:真正难的地方在哪里。
怎么做游戏,一步一步来
- 从一个很小的点子开始。单屏幕、只有一个机制的游戏:跳跃、瞄准、收集、猜测。
- 用一句话写出规则。一句话装不下,说明还是太大了。
- 选一个工具(见下面的清单),先把一份教程从头跟到尾,再去自己发挥。
- 做一个难看的原型。用方块和圆圈代替美术。目标是弄清楚它好不好玩。
- 让别人在你不做任何解释的情况下玩一玩,你只管看。
- 调整:操作、速度、难度。游戏就是在这一步变好的。
- 之后再加美术、音效、菜单和结束画面。
- 发布它。放到网站、应用商店或者浏览器游戏平台上。
该用哪个游戏引擎
- Scratch:免费、积木式,很适合孩子,也适合学逻辑。
- Construct 和 GameMaker:为 2D 游戏而生,起步时几乎不用或完全不用编程。
- Godot:免费开源,2D 和 3D 都适合。
- Unity 和 Unreal Engine:大型 3D 游戏用得最多的引擎。
- Roblox Studio:用来在 Roblox 里做游戏。
- 网页技术(JavaScript 或 TypeScript,搭配 Phaser 或 Three.js 之类的库):做直接在浏览器里运行的游戏。
Polar Games 的游戏是用网页技术做的,因为目标就是在浏览器里直接打开,什么都不用安装。和朋友一起玩的房间,比如 Stop!、Zabum! 和 Riffvolt 里的,用的是实时服务器。
不会编程怎么做游戏
你可以不写代码就起步。Scratch、Construct 和 GameMaker 都有可视化编辑器,靠拖积木或挑选动作来搭建逻辑。做简单的游戏,这就够了。
随着时间推移,学一点编程会打开很多扇门。你可以边做边学:游戏里的每一个问题都会变成一堂课。
做游戏难在哪里
让游戏能运行,是人人都预料到的那部分。真正的难点另有其他:
1. 让它好玩
游戏可以运行得完美,却依然很无聊。找到恰当的手感,需要找真人测试,并改动很多地方。比如在 Riffvolt 这样的节奏游戏里,每一次失误都必须立刻显示出来,否则玩家根本不知道哪里出了错。

Polarzinho我漏了那个粉色音符,游戏马上告诉了我。我被冒犯了,但我学到了东西。
2. 项目规模
每个点子都会越长越大。再来一个模式,再来一个关卡,再来一个角色。知道该砍掉什么,才能把游戏做完。
3. 到处都能运行
配置低的手机、小屏幕、键盘、触屏、慢网速。一个浏览器游戏要在所有这些上都跑得好。
4. 和别人一起玩
多人游戏是另一个世界:服务器、房间、玩到一半退出的玩家、糟糕的网络。这就是在线游戏需要更久才能稳定的原因。
5. 不止一种语言
翻译不只是替换文字。在文字游戏或问答游戏里,每种语言都需要自己的词语、答案和题目。Polar Games 的游戏提供英语、葡萄牙语和西班牙语版本,这意味着三倍的工作量。

Polarzinho一道一级方程式的题对巴西玩家有意义。换成别的语言,可能就得换一道题。这就是工作。
6. 让人找到你的游戏
做完游戏只是一半的工作。另一半是让人找到它:推广、好的页面、在谷歌里出现。这个博客有一部分就是为此而存在的。
做一个游戏要多久
取决于规模。游戏创作马拉松(game jam)里的一个迷你游戏,一个周末就能完成。一款精致的小游戏要几个月。一款大型游戏要几年,还得一整个团队。刚开始的话,目标定在一个周末。
常见问题
做游戏最简单的程序是什么?
从零开始的话,Scratch。想做稍微正式一点的 2D 游戏,就用 Construct 或 GameMaker。
可以免费做游戏吗?
可以。Scratch 和 Godot 是免费的,很多其他工具也有免费版本可以上手。
必须会画画吗?
不用。先从简单的图形或像素画开始。
玩、看、创造
学做游戏最好的办法,是带着注意力去玩:是什么让你想再来一局?带着创作者的眼光,试试下面的 Riffvolt 和 Zabum!。

