ARTICLE · 1212055
想用 AI 做游戏,先别急着选最强的工具
想用 AI 做游戏,先别急着选最强的工具
一个人、一台电脑、十几天,做出一款画面漂亮的 3D 游戏。 如果今天就开始,我该打开哪个软件,先做什么? 把几个工具的官方文档放在一起看,会发现它们负责的工作差别很大。选工具以前,先把“做游戏”这件事拆开,反而能少走一些弯路。 假设你准备做一个收集星星的小游戏。 场景里有一块地面,一个角色,几颗星星。玩家控制角色移动,碰到星星就加分,收集完成后显示胜利。 这么简单的玩法,已经涉及几种不同的工作。 角色长什么样、地面用什么颜色,属于美术。按下方向键以后角色怎么移动,属于程序逻辑。角色碰到星星后怎样触发事件,需要检测和规则。最后,还要把作品发布出去,让别人也能打开。 AI 可以参与其中多项工作,但不同工具交出来的东西不同。 编程助手可以帮你生成和修改代码。文生 3D 工具交出来的是模型。例如 Tripo 的官方文档列出了文字、单张图片、多视图输入生成模型的能力。Tripo 官方文档(https://docs.tripo3d.ai/) 模型导入以后,仍要检查大小、朝向、材质和实际运行效果。需要调整模型或动画时,可以用 Blender,它提供建模、绑定、动画等功能。Blender 功能介绍(https://www.blender.org/features/) 这也意味着,买齐几个 AI 工具,不会自动得到一款游戏。 你还得决定玩家做什么、怎样算成功、失败后怎么重来,再让代码和素材按照这些规则一起工作。 第一版完全可以用方块代替角色,用小球代替星星。先确认碰到小球能加分,再考虑把它换成漂亮的模型。 
▲ 游戏引擎与开发者的分工。画面为概念示意。 这三个名字经常一起出现,容易让人以为它们只是性能和画质不同。 Three.js 官方的游戏教程,开头就专门说明了它的定位。它是 3D 库,制作游戏时,还有大量工作需要开发者另外完成。Three.js 官方游戏教程(https://threejs.org/manual/pages/game.html) 它能帮你把三维场景显示出来。至于关卡规则、胜负判断、游戏状态如何管理,仍需要自己写,或者借助其他工具。 因此,如果你懂一点网页开发,想做一个规模很小的 3D 网页作品,可以考虑 Three.js。场景、操作和规则都保持简单,更容易弄清楚每段代码在干什么。等需求变成复杂战斗、大量关卡或多人联机,就要重新评估工作量。 Unity 提供更完整的编辑和运行环境,也有内置 3D 物理系统,以及面向不同平台的发布支持。对于需要持续搭场景、调整物体和处理交互的项目,这些能力值得考虑。 Unity 跨平台介绍(https://unity.com/features/multiplatform) 相应地,你需要学习编辑器怎样使用,物体和组件怎样配合。即使脚本由 AI 生成,组件有没有挂对、参数有没有填好,也需要检查。 如果目标很明确,就是做微信小游戏,可以先看看 Cocos Creator。它的官方文档提供了微信小游戏的构建和接入流程,能帮助你从一开始就围绕目标平台开发。Cocos 微信小游戏发布文档 (https://docs.cocos.com/creator/3.8/manual/en/editor/publish/publish-wechatgame.html) 对于第一次尝试,可以先按这张表缩小选择。 懂一点网页开发,做小型 3D 网页作品。可以先考虑 Three.js。要接受的工作包括自己组织游戏规则和交互逻辑。 做场景和交互更复杂的 3D 项目。可以先考虑 Unity。要接受的工作包括学习编辑器、组件和发布流程。 目标是微信小游戏。可以先考虑 Cocos Creator。要接受的工作包括学习引擎,并按平台要求调试和发布。 这张表只负责帮你开始。已经熟悉某个引擎的人,通常可以先用熟悉的工具验证玩法,没必要看见新案例就换一整套软件。 
▲ 图 2 按作品目标选择开发起点,三条路线并非强弱排名。 工具选好了,下一步很容易变成一大段需求。 开放世界、昼夜变化、任务系统、背包、宠物、多人联机,能想到的全写进去,再补一句“画面精美”。 这样的描述可以用来讨论创意,拿来制作第一版,范围就太大了。出了问题,你很难判断是哪个部分没有完成。 可以先把需求写成这样。 这段话限定了运行环境、操作方式、目标和结束条件,做完以后也容易检查。 然后分几次推进。 先让场景显示出来,再让方块能移动。移动正常后,加一颗星星,验证接触和计分。接着扩展到 5 颗,最后补胜利状态和重新开始。 每完成一步,就实际运行一次。 如果收集星星时出现错误,把复现动作、完整报错和相关代码一起交给 AI。只说“不能玩了”,它得到的信息太少;要求它顺便重写整个项目,又会增加检查范围。 每一步通过后留一份可恢复的版本。后续修改出错时,至少能回到刚才还能玩的状态。 屏幕上出现一个能移动的方块,只完成了其中一部分。 拿刚才的项目来说,至少还要亲手确认这些事情。 一颗星星收集后会消失,计分只增加一次。 收集第 5 颗星星后,胜利提示正确出现。 点击重新开始,分数、角色和星星都恢复初始状态。 连续重玩几次,规则仍然正常。 把发布地址交给另一台电脑,对方也能打开和操作。 这些检查都不华丽,却能区分“录一段视频可以展示”和“别人能完整玩一局”。 
▲ 图 3 从搭场景到分享验证,每一步都运行检查。图中为抽象玩法示意,正式验证以目标设备为准。 最后一项尤其适合早点做。本机开发环境能运行,发布后还可能遇到资源路径和浏览器兼容问题。Unity 的网页平台文档就单独列出了浏览器支持条件。 如果你的目标是手机,第一版就要加入触屏操作,并尽早在目标设备上测试。电脑上的方向键操作通过了,不能直接说明手机上也能玩。 美术可以在这些检查之后逐步替换。一次换一个模型,观察它是否改变加载、显示和操作效果。第一版全部同时换掉,出了问题又得逐个排查。 小王子式的星球探索,当然值得向往。它也很容易让人一下子想做太多。 第一次尝试,可以只留下一块地面、一个方块和 5 颗星星。你要弄清楚的事情已经足够具体了。怎么提出需求,怎么看报错,怎样确认修好了,以及怎样把作品交到另一个人手上。 等这个版本能反复玩,再决定下一步。 想增加探索,就扩一小块场景。想改善操作,就调整移动速度和镜头。想换成自己的角色,再处理模型和动画。每次增加一点,都能看见它带来了什么变化。 把链接发给一个朋友,先别解释怎么玩。 看看他能不能自己开始,能不能收集完星星,结束以后会不会再按一次“重新开始”。记下他卡住的地方,下一次就从那里改。

一、AI 生成一个角色,游戏还没开始

二、Three.js、Unity、Cocos,该从哪个开始

三、让 AI 每次只解决一个问题
做一个电脑浏览器里的单人 3D 收集小游戏。玩家用方向键控制方块,在一块平地上收集 5 颗星星。每颗星星只能计分一次,全部收集后显示胜利,并提供重新开始按钮。先使用简单几何体,不加登录、联网和复杂美术。
四、第一款游戏,怎样才算做完
















































































