《零代码,全创意:AI助力从游戏梦到游戏成品》 02 AI对话篇
精华11/1249 浏览AI 分享
大家好!这里还是大河!
上一篇里给大家介绍了AI辅助游戏开发全流程,以及我使用的一些AI工具。
”AI用起来感觉很笨,效果和自己预期差的特别多“
相信这样的感受大家可能或多或少都会有,你抛出一个问题,它给出一个完全偏离正确的答案,有时候甚至连最基本的数数都数不清,或者一些基本的加减法都会出错。(不知道大家有没有遇到过)而至于为什么会有这些问题存在,以及我们在沟通过程中如何避免这些,更好更准确的传达我们的需求给AI呢。希望本篇帖子可以给你带来一些答案。
一.AI幻觉本质,及产生
“为什么数不明白字数呢?”“为什么加减法都会出错呢?”"为什么给我瞎编一些数据还信誓旦旦说是真的呢"“为什么我问他三国演义里在大观园倒把垂杨柳的是谁,他还是能给我回答呢”,诸如此类的问题,这基本上都属于 ‘AI幻觉’ 的范畴。也就是AI输出的结果,和现实差得远,轻一点可能是张冠李戴,严重的就是指鹿为马了。
首先我们要理解,AI并不能理解人类的语言,大语言模型本质上是根据上文来推测下文的模型,像是给一个人做完形填空,他的工作流程就是“看不懂,俺寻思之前别人都这么写的”
比如你让AI去数一句话“联合国大会今日召开”是几个字,他可能会数出来7个字,因为AI 并不像人类那样一个一个字地“读”文本。它处理的基本单位是 Token(词元)。一个 Token 可能是一个单词的一部分、一个完整的单词,甚至是一个标点符号。AI “思考”和生成文本时,是在操作 token 序列,而不是字符序列。当它被要求“数字数”时,它必须执行一个内部转换:将 token 序列还原成字符串,然后再计算字符数。这个转换过程就很容易出错。
而我们平时跟AI说的话,AI并不是作为语言去接收,而是作为一串数字,可能一串数字就代表一个词汇,然后他会在各种巨量的数据样本里,找到“合适”的答案。比如输入”你“,他就会检索,后面最经常跟着的就是”好“,AI就是在通过上文结合大量样本,去计算一个最有可能出现在下文的“字”,听起来很不可思议,但确实是这样。因此AI本质上可能是一个概率相关的东西。这也是产生幻觉的重要原因,因为很多时候你问他的问题,他并没有直接在自己知识库里见过,但他为了自己回答的完整性,只能硬着头皮给你编造一些内容,就造成了AI幻觉。
二.怎么尽可能避免Curosr的AI幻觉
从根源上规避AI幻觉是目前的研究学者和AI行业都在攻坚的难题,这个我们没办法,但是我们可以在应用时,尽可能减少他出现的概率,或者可以让我们及时发现他是错的,避免让他给你的错误答案影响你的执行。以下是一些关键的点,分别是4个避免和5个建议
1.避免引导性问题:因为AI很多时候也像一个唯唯诺诺的应声虫,当你的问题带有引导性的时候,他往往会照着你的意思来,从而忽视了问题的正确性。比如你说“我觉得XXX不太好,对吧”他极大概率会附和你,你问他“我觉得B比A更好”,他哪怕硬扯也会讲一堆废话来附和和论证你的想法。
因此在提问或者讨论时尽可能要提醒他保持中立。比如“我现在对于游戏中的功能有两种实现方案,请在不猜测我偏好的情况下,客观地列出方案A和方案B各自的三个主要优势和两个潜在风险”
或者“请你帮我严格审查我的这个方案放在游戏里有没有问题,是否有更好的解决方案”。
2.避免高危问题:比如一些非常详细且无法验证的数据或内容,你如果问他“请帮我列出2077这个游戏开发的全流程,每个员工都扮演什么角色,具体什么时间做什么,我要照着1:1复刻”,这种问题的结果大概率就是他瞎编一个给你。
3.避免询问AI主观相关问题:举个具体的例子,我第一次在设计ui的时候,我就问他,你觉得怎么设计好看,你帮我设计吧,最后他就会以及其偷懒的方式,给我一个特别丑,甚至全部是纯色色块的ui设计方案,让我跟着他的操作步骤像傻子一样搞了好久。正确的方式应该是:找到一个你明确喜欢和倾向的例子,无论是直接让ai读图也好,或者用语言给他描述也罢,让他给出相应的实现方案(最好3个),分析方案的优劣,最后由你挑选方案。最终输出步骤和教程,这个时候你再照着AI的教程做就可以了。
(当然你如果就想让他跟你聊聊天那无所谓,可以单开一条聊天的对话框让他支持你,AI陪你闲聊也会给你的开发过程带来一点乐趣)
4.避免问需要实时验证的东西:比如问现在几点,今天我们这天气怎么样,当然开发过程可能遇不到这个,所以不过多赘述。
5.建议给AI赋予角色:善用全局规则功能,像我在cursor里的全局规则就会给AI赋予身份,可以
约束其回答的范围和风格。
一些全局规则示例(全文太长啦感兴趣可以联系我
6.提供上下文与约束:信息越具体,AI胡编乱造的空间就越小。你如果讲“帮我写一个玩家移动的代码。”,他根本不知道你的项目是3D还是2D,也不知道是什么编辑器,也不知道你需要的移动方式。正确的要求应该是“我是一个Unity的初学者,正在制作一个2D像素游戏。请用C#为我编写一个玩家控制脚本,要求使用AD进行左右控制,按shitf可以加速,不需要跳跃功能,并让移动速度在脚本中可编辑。代码完成后,请逐步教我如何将代码应用到游戏里并测试功能无误”,这样清晰的要求,就可以让AI快速的给你编写一个2D游戏移动脚本,而且几乎不会出错,他还会一步一步教你怎么把代码放到编辑器里,直到在游戏中可以正常运行。
7.概念清晰知道自己想要什么:如果你直接讲“帮我搞个战斗系统吧”,AI肯定会给你搞一个极度复杂或者极度简单的设计,或者用不合适的数据结构,或者忘记实现关键方法等问题,正确的需求表述应该是“我现在需要给游戏设计一个战斗系统。角色给四个最基本的值:最大生命值、当前生命值、攻击力、防御力。当角色攻击敌人时,能用一个简单的公式计算伤害:造成的伤害 = 我的攻击力 - 敌人的防御力。并且就算敌人防御再高,每次攻击也至少能造成1点伤害。”
这里给大家一个很好用的万能公式,我自己就是这么用的:
【目标】
用一句话说你想干嘛。(例如:我想让我的2D游戏角色能发射子弹)
【需求描述】
1. 用什么触发?(例如:按鼠标左键发射,或者每隔1秒自动发射)
2. 要生成什么东西?(例如:生成一个叫“Bullet”的物体)
3. 这个东西有什么行为?(例如:这个子弹会一直向前飞,碰到敌人就消失)
4. 有什么特别要注意的规则吗?(例如:同时最多只能有3发子弹在天上飞)
【要求】
- 请告诉我,拿到代码后,在Unity里从第一步开始的具体操作步骤。
- 我没有任何编程基础,如果有多种方案,请用最简单的方式解释说明,待我确认方案后执行。
8.提供BUG的根源所在:上述的几条,基本上可以帮助你让AI实现很多代码的编写了,但如果AI写的代码有错误该怎么办,你直接让他修BUG,他肯定修不明白。正确的做法是,如果遇到了报错,就告诉他“目前出现了报错,以下是报错详细信息,请进行修复(复制的报错信息)”如果不是报错的问题怎么办呢,比如角色穿墙了,或者视频播放不了。那这个就需要更加精确的问题描述了“我的角色在从步行切换到跑步是正常的,但是从跑步切换回走路之后,无法再次切换回跑步。请帮我检查问题所在并修复”
核心是你得尽可能,专业且准确的,复述出现BUG或者不和预期功能的所有情况,让AI精准的确定问题在哪,他才能修复。
附:当你让AI修不明白BUG的时候,你就需要尝试自己分析问题根源,并为它指引一个排查方向。比如我们的游戏在30当天是提交了两版,问题出在我们的视频可能在一些电脑上无法播放。当我让AI修复的时候,他一直查验代码,并且加各种注释和测试方法,陷入一个死循环,问题也解决不了。最后我猜测可能是视频本身问题,我就问他“我觉得问题可能出在视频格式,你可以告诉我unity里最好用什么类型格式吗,我查看一下自己的视频类型是否合适”,果不其然,是我视频的格式出问题了,换了一个格式问题迎刃而解,最后我又拿着这个解决问题的最终办法让他倒推问题在哪,得到的结果是有些电脑的解码不支持,所以放不了视频,换个格式就好了...
当然这段话的重点是,你需要准确的判断,问题是不是真的如你所想,因为你给出方向的时候,也就带了引导性,如果问题不在这里,他会为了“哄你”,然后一直原地兜圈浪费时间。所以这个过程就需要尽可能的培养一些程序思维以及不断积累经验。
总而言之,在使用Cursor的时候,你需要把他当一个全不懂游戏、但执行力超强的外星人助手。你需要告诉它每一步要“做什么”和“做成什么样”描述越详细,逻辑越清晰,他执行起来越顺畅。(那种你告诉完他明确需求,他一口气写几百行代码完全0报错且运行完美的感觉真的很爽)
三.一些其他软件AI提示词的推荐
Suno:很好用的AI音乐制作网站,给大家一个模板
【第一部分:歌曲基本信息】
1. 音乐类型: [如:流行POP、电子乐、Lo-fi、民谣、摇滚]
2. 整体情绪: [如:欢快的、忧伤的、充满希望的、激昂的]
【第二部分:器乐与编排】
3. 主要乐器: [如:原声吉他、钢琴、合成器、鼓点]
4. 节奏与速度: [如:中速、快节奏、舒缓的]
5. 前奏/间奏特点: [如:以清脆的钢琴声开始、有一段萨克斯间奏]
【第三部分:参考与氛围】
6. 参考艺人/歌曲: [如:有点像周杰伦的中国风、带有Taylor Swift的叙事感]
7. 使用场景: [如:适合开车时听、适合学习时背景音乐]
附:带人声的我很少用,上面这些是放在suno的风格参考里的模板,分行分段是为了让大家看着更清晰,正常情况下你成段发给他即可,因为suno的提示词限制只有1000字符,很少。
Banana:谷歌旗下生图的AI,找前期参考或者程序需要一个占位图的时候很方便(色块占位看着太丑了我单纯不喜欢)一样也给大家一个我平时用的模板
1. 核心是什么: [明确的主体,如:一只猫、一个宇航员]
2. 在干什么: [具体的动作或状态,如:在看书、在星空下漫步]
3. 环境场景: [在哪里,如:在复古图书馆里、在赛博朋克城市的雨中]
【第二部分:风格与美学】
4. 艺术风格: [如:宫崎骏动画、水彩画、赛博朋克、电影感、皮克斯3D渲染]
5. 画面构图: [如:全身照、特写镜头、对称构图、从俯瞰视角]
6. 灯光与色彩: [如:温暖阳光、霓虹灯光、柔和色彩、单色调]
【第三部分:细节与氛围】
7. 关键细节: [如:戴着眼镜、穿着汉服、周围漂浮着光点]
8. 整体氛围: [如:宁静的、神秘的、欢乐的、史诗感的、孤独的]
【第四部分:技术参数与排除项】
9. 技术要求: [如:16:9画幅、无文字]
10. 不想要什么: [如:不要模糊、不要多余的手指、不要水印]
当然你如果和我一样只想要一个能看的占位图,那就可以描述的粗犷一点随意一点。
那到这有人就要问了,大河老师,我如果没学过音乐和美术,不知道要描述什么艺术风格,也不知道有什么乐器怎么办。
欸!那我们直接用AI套娃不就好了。
你可以找一个常用的方便的顺手的喜欢的AI,让他帮你写一个提示词“我想要让suno帮我写一个类似于异度之刃2ost一样感觉的歌曲,最好模仿《counterattack》可以帮我生成一个1000字符以内的提示词吗”(异度之刃2的音乐真的很好听)
这样问题就迎刃而解了,因为ai还是比较懂ai看得懂什么的,虽然听起来很扯,但是胜在好用。
图片也是一样的道理,比如(丢一个图片给豆包)“我想让ai帮我生成一个模仿这种风格的图片,但是图片人物要换成XXX,风景要XXX处理,我不知道这么描述这种画风和风格。你帮我想一个完整的给ai的提示词,”
哎呀不知不觉写了好多,但其实还有很多问题没有提到,但根据我的经验来说,这些东西得自己遇到之后才能内化成自己的东西,因为和AI对话也是让自己不断学习的一个过程,我也希望大家可以利用AI解放生产力,产出更多好玩的游戏,落地更多精彩的想法。希望我的这篇文章可以帮到一些初步接触AI,应用起来不熟练的朋友。
文中如果有错误的地方欢迎指正,也欢迎对AI辅助做游戏的小伙伴们加入我们的群聊和我们一起探讨学习进步!
十分感谢你看到这里,最后推荐大家也来体验一下我们的游戏!!(来看看我是怎么0代码学习基础,这么一句一句跟AI一起把整个游戏端上桌的吧。)
支持诺尔的世界谢谢喵!



