作者laechan (挥泪斩马云)
看板mud_sanc
标题Fw: [闲聊] 以 ChatGPT 辅助coding时所需叙述的生成
时间Thu Feb 16 13:30:21 2023
※ [本文转录自 mud 看板 #1ZxPcJkR ]
作者: laechan (挥泪斩马云) 看板: mud
标题: [闲聊] 以 ChatGPT 辅助coding时所需叙述的生成
时间: Thu Feb 16 10:48:47 2023
我以前曾发表过一篇文章
[闲聊] 区域产生器
https://webptt.com/cn.aspx?n=bbs/mud/M.1320510743.A.4BB.html
里面我曾提过「三段叙述生成法」
当
desc1=({"
这里是一个阴暗的洞窟,",
"这里看起来很阴暗,",
"洞窟里头非常的昏暗,",......});
desc2=({"洞窟内不时传来腥臭的味道,",
"
洞窟内不时传来恐怖的气息,",
"洞窟内不时传来奇特的声响,",......});
desc3=({"四周的洞壁疑似留有人类与怪物打斗过的痕迹。",
"地面上偶尔还会踢到一些人类或是生物的残骸。",
"
似乎前方存在着什麽危险的怪物正在虎视着你。",......});
它会从 desc1、desc2、desc3 里面随机各撷取出一句描述,组合
成一段房间的描述,例如:
这里是一个阴暗的洞窟,洞窟内不时传来恐怖的气息,似乎前方
存在着什麽危险的怪物正在虎视着你。
那麽问题就是,我如何有效地扩充 desc1~desc3 的内容,使得
因此组合出来的房间叙述更多样化?
现在就有不求人的方法: ChatGPT,以下简称 AI
根据网路上找到的范例
[闲聊] 用OpenAI来玩文字冒险游戏
https://disp.cc/b/ACG/fD34
【心得】尝试用ChatGPT玩文字冒险游戏
https://m.gamer.com.tw/forum/C.php?bsn=60076&page=&snA=7483464&last=
我使用以下的前提字句,请 AI 建构一个冒险游戏环境:
「假设这是一个有着剑与魔法的奇幻世界的冒险游戏,我是一名
等级20的冒险者玩家「Laechan」,我正位於这个游戏的一座森林
里,这座森林的名称是「朱拉大森林」。我的等级与我的能力,
足够应付这座森林的任何魔物,如果遭遇魔物将自动攻击直到战
斗结束,战斗很快就能结束。战斗过程中我若受伤了我也会主动
施展「治癒术」恢复自己的HP,击败魔物後有机会得到宝物。请
为我模拟这个游戏,我不仅可以下指令进行游戏,它还能理解我
下的其它指令。在游戏进行的过程中我也可以随时新增新的设定」
AI 的回应:
非常好,让我们开始这个冒险游戏吧!首先,让我们确认你的状态。
你是一名等级20的冒险者玩家「Laechan」,拥有足够的能力应付
「朱拉大森林」中的魔物,战斗能力强大。你的HP值为100,MP值为50。
你拥有剑和魔法两种攻击方式,可以在遭遇魔物时自动攻击直到战斗结束。
如果你受伤了,你可以使用「治癒术」恢复自己的HP。
现在,你可以开始探索这座森林。请下达指令告诉我们你要往哪个方向前进。
你也可以查询你周围的环境,或者告诉我们你的任务目标。
你可以输入指令例如:
前进到北方
查询周围的环境
我的任务目标是什麽?
当你遇到魔物时,你可以选择自动攻击或者使用魔法攻击,当然你也可以逃跑。
如果你受伤了,你可以使用「治癒术」恢复自己的HP。
如果你击败了魔物,你有机会得到宝物。
你可以输入指令例如:
自动攻击
使用魔法攻击
逃跑
使用「治癒术」恢复自己的HP
如果你有任何新的设定或者要求,也请告诉我们,我们会尽力为你服务。
透过这样子的建构,我就能随意输入字句,AI会自动理解我输入的东西,
并自动产生相对应的结果。例如:
我: 查询周围的环境
AI:
当你查询周围的环境时,你发现自己身处在一个树林里,四周都
是高耸的树木,阳光透过树叶照耀在地上。你能够听到鸟儿的啁
啾声和风吹树叶的声音。森林的气氛非常安静和平。
我: 新增设定,「朱拉大森林」是一座原始的森林。
AI:
好的,我已经将「朱拉大森林」设定为一座原始的森林,
它的地形特徵是相当自然的,没有人工的改变。
在这样的环境中,你可能会遭遇到一些野生动物或是原始魔物,
所以请小心行事。
现在,你可以继续探索这座原始的森林,发现其中的神秘和宝藏。
我: 查询周围的环境
AI:
你现在仍然身处於朱拉大森林中,这座森林非常原始,四周都是
高大的树木和茂密的丛林。阳光透过树叶照耀在地上,鸟儿的啁
啾声和虫鸣声环绕在你的周围。空气中充满着植物的芳香,你可
以感受到森林的生命力。
我: 我漫无目标地往前走了几步
AI:
好的,你向前走了几步。你沿着一条小路走,这条小路被落叶覆
盖,显示出它已经有一段时间没有被使用了。小路两旁是茂密的
树木和灌木,偶尔会有一些小动物从你的眼前经过,消失在林子
里。
然後我嚐试拆解AI产生的叙述,得到如下的结果:
desc1=({"这座森林非常原始,四周都是高大的树木和茂密的丛林",
"你身处在一个树林里,四周都是高耸的树木",});
desc2=({"两旁是茂密的树木和灌木,空气中充满着植物的芳香",
"眼前的小路被落叶覆盖,显示出它已经有一段时间没有被使用了",
"阳光透过树叶照耀在地上,鸟儿的啁啾声和虫鸣声环绕在你的周围",
"阳光透过树叶照耀着,还能够听到风吹树叶的声音",});
desc3=({"周围绿意盎然,生机蓬勃,充满了朝气与活力",
"没有一丝人工的声音,气氛非常地安静和平",});
透过三段叙述生成法,就能在我的区域生成以下的房间叙述:
你身处在一个树林里,四周都是高耸的树木,眼前的小路被落叶
覆盖,显示出它已经有一段时间没有被使用了,周围绿意盎然,
生机蓬勃,充满了朝气与活力。
然後我继续冒险:
我: 我又往前走了几步
AI:
你继续往前走,越过石桥,沿着小径缓慢前进。你可以看到两旁
的树木变得更加高大,浓密的叶子遮蔽了阳光,使得这片区域变
得相对阴暗。在树林里,你看到一些石头和树根,有时还需要小
心地跨过它们以继续前进。
你的目光落在地上时,注意到地上有些珍贵的草药,或许可以帮
助你在冒险中更好地生存。在这片森林中,充满了各种各样的生
物和资源,你可以透过观察和探索,发现更多可能对你有用的事
物。
这时候,像是
"你看到两旁的树木变得更加高大,浓密的叶子渐渐遮蔽了阳光",
"你看到一些石头和树根,有时还需要小心地跨过它们以继续前进",
"你的目光落在地上时,注意到地上有些珍贵的草药",
就可以再把它们添加到 desc1~desc3 里头。
这样子的应用下,初期的结论是什麽呢?简单条列如下:
一、透过适当的前提字句,让AI建构出大致符合我要求的环境。
二、接着让AI帮我生成大致符合我要求的叙述。
三、我只需要花费一些脑力,去对生成出来的叙述做拆解、补充
及修改。
而重点就是,相对於过往生成区域叙述,需要耗费 wizs 很多的
脑力、时间与精力(即便是三段叙述生成法也不轻松),现在会相
对轻松许多。
我昨晚也有嚐试,请AI帮我生成一些随机的对话:
https://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1676463756.A.3CF.html
例如我描述我来到一座绿洲村庄,然後有一项对话任务,我需要
分别与村长、警备队长以及旅馆的老板娘对话。AI真的帮我生成
了:
你先来到了村长府邸,看到一个穿着豪华的老人坐在一张宝座上
,他看起来很忙,但还是停下手头的工作,微笑着对你说:
村长:欢迎来到我们的村庄!你是新来的冒险家吗?我听说你已
经和我们的人交流过了,很高兴见到你。有什麽我能为你做的吗?
你:您好,我正在探索这个村庄,想了解一下这里的情况。
村长:好的,你来对地方了。这个村庄是一个多元文化的地方,
各种种族的人们都在这里和平共处。但是,最近有些不速之客闯
进了村庄,我们的警备队正在努力维护治安。如果你有任何问题
,可以找他们帮忙。
你:谢谢您的建议,我会留意的。
然後你来到警备队驻地,看到一个穿着铠甲的男人正在检查武器
,他看起来很忙,但是还是停下手中的事情,微笑着对你说:
警备队长:你好,我是这个村庄的警备队长。你是新来的吗?
需要什麽帮助吗?
你:您好,我正在探索这个村庄,想了解一下这里的情况。
警备队长:好的,这个村庄是一个很和平的地方,但最近有些
不速之客闯进了村庄,我们正在努力维护治安。如果你有任何
问题或者需要帮助,随时都可以找我
你走进了一家小巧的旅馆,一位中年妇女正在柜台後面忙碌着
。她抬头看见你,微笑着说道:
老板娘:欢迎光临我们的旅馆!你需要住宿吗?
你:不用了,谢谢。我想问问你一些关於这个地方的问题。
老板娘:当然,问吧!
你:这里有没有发生什麽奇怪的事情?
老板娘:最近倒是没有什麽奇怪的事情发生。不过,有些旅客
说他们在村庄周围看到了一些奇怪的动物。
你:奇怪的动物?
老板娘:是的,据说那些动物很大,有着奇怪的形状。但是我
没有亲眼看过,所以也不太清楚。
你:好的,谢谢你的回答。
老板娘:不客气,有需要再来找我。
【你完成了这个任务!你已经与绿洲村庄的村长、警备队长和旅
馆老板娘对话完毕,并收集到了有关这个地方的一些有用信息。
作为奖励,你得到了100银币。请继续努力,探索这个世界的更多秘密!】
Sanc 有任务系统并可读取脚本,而关於对话的脚本就像底下
step4_npc=/u/l/laechan/area/whitetile/mob/gigi1##
step4_check=
!ppl->query_temp("already_choose") && check_xxx(ppl)>0
##
step4_msg=
$M: 谢谢你, 请帮我转告镇长, 这次的选美比赛我会参加的 $_$
$N: 洁洁小姐, 你...
$M: 今年奖金一百万绝对是我的!!!
$N: 啊哈哈....=_=##
这代表了我只要将 AI 与这个任务及脚本系统做结合,我也能比
以往更轻松、快速、有效率地产生与 npc 的对话任务。
「更轻松、快速、有效率」,就是我需要的,因为目前只有我一
个人在 coding。
以上一点分享。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.126.145.135 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud/M.1676515731.A.B9B.html
※ 编辑: laechan (59.126.145.135 台湾), 02/16/2023 10:54:37
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: laechan (59.126.145.135 台湾), 02/16/2023 13:30:21