Fw: [閒聊] 以 ChatGPT 輔助coding時所需敘述的生成

看板mud_sanc (Sanctuary - 聖殿)作者 (揮淚斬馬雲)時間1年前 (2023/02/16 13:30), 1年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
※ [本文轉錄自 mud 看板 #1ZxPcJkR ] 作者: laechan (揮淚斬馬雲) 看板: mud 標題: [閒聊] 以 ChatGPT 輔助coding時所需敘述的生成 時間: Thu Feb 16 10:48:47 2023 我以前曾發表過一篇文章 [閒聊] 區域產生器 https://www.ptt.cc/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://www.ptt.cc/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://www.ptt.cc/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
文章代碼(AID): #1ZxRzk0I (mud_sanc)
文章代碼(AID): #1ZxRzk0I (mud_sanc)