全程 AIGC 游戏创作,2小时开发微信小游戏!(完整ChatGPT调教流程)

给 AI 打工,2小时开发一款3D小游戏可行么?

9f1a4500d2998f296c5002a38d205098.jpeg源码下载地址见文末!

最近,科技发展是日新月异......

如果说 Stable Diffusion 和 Mid Journey 只是卷死了美术,我们还在庆幸研发不能被替代。

那么 3 月份出来的 GPT4 就让我感到危机了!

那么很多同学就说,大不了我当 UI 崽,让 GPT4 给我写 Shader 么?对此,我同时持怀疑和焦虑。

本文从实践出发从程序、Shader、美术、到音乐均由 AIGC,二喵全程负责当 UI 崽,来探索 AI 的上限和下限,缓解焦虑。

写在前面

老习惯,先做思维导图,确定要做哪些内容?游戏玩法是 AI 熟悉的贪吃蛇,这次要升级到 3D 贪吃蛇并加入新玩法和复杂地形。

464b8aab8b49eeb75faa72b44be2a643.png

为啥要先写思维导图呢,因为功能点比较多,中间改来改去怕影响GPT4的上下文。同时功能也会尽量拆开,避免相互干扰。

4390e0a10a1cb74ea0ca495b5e029eec.png

01 代码功能开发

第一次沟通,GPT4 的 API 还停留在 Cocos 3.3 版本,这次是使用 3.7.2 最新版本开发,先粘贴第一个需求,居然没有报错!

c519af08b1fec8641dcad52a323eb055.png

然后运行就翻车了!

初始化直接报错,我发现直接空指针报错,检查后发现是 _moveDirection 蛇的方向向量为空(猜猜为什么跑不起来?)

9dbbc44b2b57b411f87051e70f086031.png

经过沟通后,小 G 很快修复了问题。

f9b6e59a6d3460d048dc7cf724007ba8.png

运行一切正常。

然而加入水果的逻辑,第3次运行,发现蛇的方向错乱,作为1个老UI崽,很快意识到是蛇头的坐标被污染了,这时候已经开始打退堂鼓了,不会每次都需要我修改吧?

3d9612d2003b06e0baa154025af0bd3c.png768715d4bc7ae25f6fb50d8309b9c4a3.png

于是我开始 CPU 小 G,在接下来的 5 个功能点上,一切正常。

e7faa2cc70cb27575bb4dbd9ca6391b2.pnga78ef804dda9fbc1b14453f008ad3971.png

小 G 和我的配合也渐入佳境

538c289b61c55f319dc434fa08b543e2.png

大概花了 50 分钟把全部的游戏逻辑写完了一切正常。

02 小结如下

在这次对话中,我们一起完成了一个基本的 3D 贪吃蛇游戏。您提出了一些问题和需求,我对代码进行了修改和补充。以下是您提出的修改和补充要求:

  1. 添加使用键盘 WASD 控制蛇移动的逻辑。

  2. 修正 _moveDirection 没有初始值的问题。

  3. 添加吃到水果后蛇身增长的逻辑,水果在地图上随机出现。

  4. 修改 _checkCollision 方法中不应使用 this._snakeHead.position.subtract 的问题。

  5. 添加游戏边界逻辑,超过边界游戏会重新开始。

  6. 在地图上添加一个坤坤,碰到坤坤后游戏会重新开始。

  7. 碰到水果后,坤坤的位置会随机改变。

  8. 吃到水果后有 30% 几率生成一个大西瓜,吃到大西瓜会增加 3 个长度。

  9. 吃到水果后有 10% 几率生成一个响雷果实,吃到响雷果实会增加速度 20% 并增长 2 个长度。

  10. 要求提供 randomRange 方法。

  11. 添加地图上每隔 10-20s 会随机生成一个缓慢果实,吃到缓慢果实会减速 20% 并减少 1 节身体。

  12. 优化生成特殊水果的逻辑,判断之前的节点是否存在,如果存在则重新设置位置,而不是重新生成。

  13. 添加上下左右四个按钮,按钮按下可以控制蛇的移动。

  14. 在电脑上运行时隐藏按钮,在手机上运行时显示按钮。

  15. 使用 touch down 的方式控制按钮。

  16. 添加一个 label 计分板,显示蛇身子的长度,每次增加和减少时会变化计分板。

  17. 添加一个 暂停 按钮,每次点击可以切换暂停和继续。

  18. 重新输出完整的代码,添加中英文注释。

  19. 添加摄像机跟随蛇头移动的脚本。

  20. 修改摄像机脚本中获取蛇头节点的问题。

  21. 添加摄像机阻尼,让摄像机跟随更平滑。

下面到了比较难地形的部分,这里新开了一个对话。

这里需要小 G 在 terrain 上随机生成植物,跑起来是没问题的,但的生成的位置明显偏了一半的位置

4f7697d68a0f1518bc379332af642939.png

不断提醒小G

45e42f5b7244350a75dafee4b7975cca.png

快速修复

a4b728a67a5559d8280a2e4177cffaa1.png

再拿这个写好的方法和之前对话沟通,给蛇头和物体生成逻辑也加上,一切顺利!

程序部分就这样有惊无险的完成了。

03 Shader 环节

接下来到了Shader了,心理是一阵炸裂,因为3.3 的API比较老,先从最简单的 Blinn-Phong 开始。

VS 部分写了一半我就炸了

2317184c5af63f62d91c53adc48d84c5.png

这个信息太老了

79ba0f31d6110685e0195e00fc145ec1.png

反复修改先把 VS 解决

8f47f469c9004e263f1572664528f9c1.png

FS 部分先忽略 API,这个光照模型没考虑摄像机的观察位置。

2f623cb2ba9c65d19b0b7e78aa544595.png1b3c1e0d7f2f9c9eb8fb4b30dd2ab388.png

然后各种向量计算问题,各种 API 和 Global 变量问题

经过了1个小时的折腾(中间换了2次对话,太曲折了,目前还是建议大家参考为主)...... 总算在 3.7.2 跑起来了

86d93c435503a40b13235262ee68f28a.png

接下来是写 1 个草的风吹效果,也是很常见的效果,还好做了心理准备,这里 GPT4 上来就把 Chunk 漏了。

9feff4ce8303d0c33227d78961df4dd8.png

为了面子,小 G 快速去 Github 抄了1个。

fbe0e3ce5e672942c3dd4433afbf14eb.png

跑起来又出了问题!!

这里其实也不怪小 G,用的是 2.x 的 API。

ec87d7fd8da7f3c6a18c721e7c066e0d.png

我们改成在透视的矩阵变换之前添加效果,这时候就可以看到风吹草动的效果了。

b228fb361865d9127a3b60cc93f4d901.gif

最后设置 ok 开启 instancing 保证性能!

21891b9c4175fbbe90d3fa395571e47d.png

04 音乐

https://mubert.com/

音乐就不需要AIGC添加脚本了,直接使用引擎的AudioSource 组件, 音乐使用的是mubert

关键词 fun happy snake

82928c07f470e3b92abbc87c324130dd.png

05 天空盒

AI天空盒:https://skybox.blockadelabs.com/

也是 prompts + blockadelabs 生成,关键词 Fantasy, Forest, Lake

826a678beaab15d1a7fcecd07159e977.png

06 图片

AI绘图:https://www.midjourney.com/

prompts:snake eating an apple, cyberpunk , in the space, hyper-realistic, surreal, fantasy, cinematic, extremly detail, 3D, manipulation, VFX, vivid background, cool --q 2 --v 5 -

98772a7d8567f5a3458c9c6699e50ddc.png

Icons

478bc21cc87080fcfa89f05852b1a656.png

写在最后

目前GPT 的数据库比较老,在 Shader 上遇到了很多问题,然后无论如何,用2个小时时间,搞定一个小游戏还是很香。

最关键的是不用怎么动脑,CPU AI输出就好了。

总结:

  1. 每次Prompts 需要要控制在2-3个,方便回馈和修复,比如一次把需求全部沟通完,如果报错,可能自己和AI都比较难定位;

  2. 需要的内容版本信息和语言信息要明确,比如版本是 Cocos 3.3 (GTP4 2021 知道的最新的版本), 避免使用更老的API;语言需要要求是TS (不然可能抄到JS版本);Shader 要求尽量参考 Webgl,语法是 Yaml;

  3. 发现问题要尽可能详细的反馈,AI 会学习这个问题;

  4. 尽量在一个对话中沟通一个大的需求,保持上下文连贯;

  5. 调整好心态,是 AI 在干活,你是老板,咖啡 Youtube 配鸭脖,发现 AI 有问题,CPU 就好了,他改不好继续改,没事儿看看他打字;

  6. 复盘,这个很重要让AI每次输出完复盘下,也观察下这次 Prompts 能否更精简,那些沟通是不必要的。

比如有时候过度沟通,AI反而开始摆烂。

df2e38b6b4c1a6c6aae5ad5412fb8722.png

调整心态,态度要好一点 ( 调整好态度后,果然注释全了,开始也以为是 Prompts 里加了仔细,结果不尽然,OpenAI 会判断是否对AI带有恶意,过度 CPU 可能会导致对话提前终止)。

最后是游戏体验链接和源码下载地址,欢迎关注作者公众号!

H5体验链接:

http://learncocos.com/aigcsnake/

源码下载地址:

https://store.cocos.com/app/detail/4775

孙二喵公众号:

往期精彩

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值