歡迎使用 AI 進行遊戲開發! 在本系列中,我們將使用 AI 工具在 5 天內建立一個功能完備的農場遊戲。到本系列結束時,您將瞭解到如何將多種 AI 工具整合到遊戲開發流程中。本文將向您展示如何將 AI 工具用於:
注意: 此篇文章多次參照 第 2 部分 相關內容。簡單來說,第 2 部分使用了 ChatGPT 進行遊戲設計; 更具體地,介紹了 ChatGPT 的工作原理、語言模型及其侷限性。如果您還沒有閱讀過,可以跳轉閱讀更多資訊。
在本教學系列的 第 4 部分 中,我們介紹瞭如何將 Stable Diffusion 和 Image2Image 工具嵌入到傳統 2D 素材製作流程中,來幫助從業者使用 AI 製作 2D 遊戲素材。
本文是該系列的最後一部分,我們將使用 AI 設計遊戲劇情。首先,我會介紹使用語言模型為農場遊戲生成劇情的 設計流程,請注意帶有 ⚠️ 侷限性 標識的段落。其次,我會具體闡述涉及到的相關技術,以及它們在遊戲開發方面的 發展方向。最後,我會對本系列做一個 總結。
必要條件: ChatGPT。ChatGPT 會貫穿整個劇情設計流程。可以跳轉 第 2 部分 閱讀更多相關資訊。實際上 ChatGPT 並不是唯一的可行方案,有許多競爭對手正在湧現,包括一些開源的對話代理 (dialog agent)。我會在後面的部分詳細介紹 對話代理新興領域。
我: 我正在為一個農場遊戲設計劇情。類似星露穀物語或動物之森,這是一款操作簡單的閒置類模擬經營遊戲,玩家可以體驗到種植和收穫多種農作物的樂趣。遊戲內的需要文字描述的地方有兩個: 一個是遊戲介紹,篇幅在一到兩段; 另一個是農作物簡介,可以是一兩句話。
農作物有: 小麥、玉米、馬鈴薯、番茄、草莓、南瓜、辣椒、藍莓、大黃。
遊戲的世界活力而又多彩,構圖簡約而又溫暖。背景中有令人愉悅的鳥鳴聲和動物啼叫。它是一款可以在副屏上玩的休閒遊戲,劇情應該既簡單又有趣。
請為這款遊戲寫一個劇情概要。要求: 需要有一兩個 NPC,需要激勵玩家經營和擴大農場。
ChatGPT: 在農場遊戲中,您將扮演一名年輕農夫,繼承了祖父留下的一小塊土地。您的鄰居名叫 Sam,他具有豐富的農場經驗,會在您經營農場時提供幫助。當您種植和收穫小麥、玉米、西紅柿和草莓等農作物時,您會獲得金幣獎勵,可用於購買新農作物種子和擴大農場。在農場遊戲中,您可以體驗活力多彩的世界,傾聽和美的自然之聲,放鬆勞累的身心。伴隨著 Sam 的鼓勵和收穫農作物的喜悅,您將有動力繼續種植收穫新農作物和擴大農場。
ChatGPT 回答的劇情概要與 星露穀物語 極其相似。
⚠️ 侷限性: 由於訓練語料庫的原因,語言模型傾向於生成現有的劇情。
這說明了不能完全依賴語言模型代替人工,而應該把語言模型作為激發創意的工具。例如上文中 ChatGPT 生成了與星露穀物語相似的劇情,完全不具備原創性。
我: 這劇情和星露穀物語太相似了,請寫一個更具原創性的版本。
ChatGPT: 在農場遊戲中,您將扮演一名年輕旅者,旅途中偶然發現了一片肥沃且充滿魔法的土地。這片土地由農業女神統治,她賜予你耕種的天賦。當您種植和收穫馬鈴薯、辣椒、藍莓和南瓜等農作物時,您不僅會獲得金幣獎勵,還會獲得女神的祝福。女神的祝福會提高農作物產量、解鎖新農作物種子和新農具、幫助農場建設。
在旅程中,您會遇到其他的旅者,他們同樣受女神賜予並在這片土地耕種安家。他們會提供耕種幫助,讓您的農場體驗更加愉快。
農場是一個活力多彩的世界、伴隨著和美的自然之聲。女神的祝福不僅能賦予農場力量,還能吸引各種生靈。生靈的到來可能會是挑戰,也可能成為新的冒險。
您的目標是經營最繁榮的農場,贏得女神的青睞,以及解開這個魔法之地的所有祕密。
這次的回答好多了。我繼續優化結果,例如要求移除農場遊戲中不必要的魔法元素。經過幾次迭代,我得到了一份滿意的劇情概要。接下來就是生成遊戲劇情的具體細節了。
我: 聽起來不錯。我現在的計劃是先寫遊戲介紹,再寫商店中的農作物簡介。
你能從寫遊戲介紹開始嗎?
ChatGPT: 「歡迎來到農場世界!在這款閒置類模擬經營遊戲中,您將扮演一名年輕的冒險家,在一片肥沃土地上定居。在經驗豐富農夫的幫助下,您將在富饒的土地上經營自己的繁榮農場。
您可以種植和收穫小麥、玉米、西紅柿和草莓等農作物,利用收益擴大農場; 您也可以嘗試新的農作物,例如南瓜、辣椒和藍莓; 您還可以與其他農夫交朋友,分享耕種技巧和建議; 您更可以發現新的冒險和挑戰,建造所有人都羨慕的農場。
還在等什麼?現在就放鬆勞累的身心,沉浸式地體驗活力多彩的世界、傾聽和美的自然之聲、探索激動人心的冒險,播種、種植、收穫、擴張、建造農業帝國吧!」
得到的回答還不錯。不過我在第 1~4 部分中開發的遊戲內容裡,並沒有經驗豐富的農夫提供幫助這一特性,也沒有新的冒險和挑戰系統。
我: 聽起來很不錯,但遊戲內沒有冒險和挑戰系統。你能去掉相關描述嗎?
對於擴建農場和農作物解鎖升級系統,你仍然可以保留,請自由發揮。
ChatGPT: 「歡迎來到農場世界!在這款閒置類模擬經營遊戲中,您將扮演一名年輕的冒險家,在一片肥沃土地上定居。您將在富饒的土地上經營自己的繁榮農場。
您可以種植和收穫小麥、玉米、西紅柿和草莓等農作物,利用收益擴大農場; 您也可以嘗試新的農作物,例如南瓜、辣椒和藍莓; 您還可以升級解鎖土地品種,種植更高階的農作物。
還在等什麼?現在就放鬆勞累的身心,沉浸式地體驗活力多彩的世界、傾聽和美的自然之聲、播種、種植、收穫、擴張、建造農業帝國吧!」
我對這個回答很滿意。那麼新的問題來了,我可以直接把這段內容應用到我的遊戲中嗎?對於此係列的農場遊戲而言,或許可以,因為這是一款為 AI 教學開發的免費遊戲。但是對於商業產品而言,最好不要,它很可能會導致潛在的法律、道德和商業後果。
⚠️ 侷限性: 直接將語言模型的生成內容拿來自行使用,很可能會導致潛在的法律、道德和商業後果。
潛在的後果如下:
考慮到這些侷限性,最安全的方法可能是: 僅使用 ChatGPT 等語言模型進行頭腦風暴,獲取靈感後手動完成最終內容。
我: 現在我想為遊戲內的每一種農作物寫簡介。簡介會在遊戲商店中展示,應該與劇情緊密結合,且僅為一句簡短的描述。
首先,寫一句小麥的簡介。
ChatGPT: 「所有農場的主要作物,種植小麥可以獲得穩定可靠的收益。」
由於此係列的農場遊戲劇情簡短,使用 ChatGPT 生成全部劇情內容非常有效。但是當生成的劇情越來越長,侷限性就會越加明顯: ChatGPT 不太適合生成長篇連貫劇情。即使僅僅是詢求 ChatGPT 為農作物生成簡短的描述句子,幾次詢求之後生成的內容質量也開始下降並且陷入重複。
⚠️ 侷限性:: 語言模型生成的內容重複性高。
最後,我總結了使用 AI 設計遊戲劇情的整體流程,以下是我個人經驗的一些技巧:
我在 [劇情設計流程](# 劇情設計流程) 部分介紹瞭如何使用 ChatGPT 輔助設計,也提到 ChatGPT 並不是唯一的可行方案。Character.AI 是一個提供多種極具個性的角色客製化化對話代理服務 (例如您可以跟 「埃隆·馬斯克」 和 「邁克爾·傑克遜」 對話) 的網站,同時它也提供專門的 創意寫作對話代理 服務。
除此之外,還有許多尚未公開的對話代理模型。可以點選 這篇文章 檢視這些模型的異同以及更多對話代理相關資訊,其中涉及到的模型主要包括:
上面提到的 ChatGPT 的競爭對手都是閉源的。此外也有一些對話代理的開源工作,例如 LAION 的 OpenAssistant,CarperAI 的開源報告,以及 谷歌的 FLAN-T5 XXL 的開源版本,這些與 LangChain 等開源工具結合使用,可以將語言模型的輸入和輸出連線起來,有助於開放式對話代理的開發工作。
前段時間,Stable Diffusion 開源版本的出現激發了很多領域爆發式革新,農場遊戲系列教學的靈感也來源於此。語言模型也相同,要在遊戲開發中加入語言類的 AI 應用,開源社群將成為未來的關鍵一環。如果您想跟上最新進展,可以在 Twitter 上關注我,隨時與我聯絡,我們一起探討語言模型的發展潛力。
NPC: 除了在遊戲開發流程中使用語言模型和對話代理幫助設計遊戲劇情等之外,在遊戲內還有一個令人興奮的開發潛力尚未實現,最明顯的例子是 AI 驅動的 NPC。實際上已經出現了一些基於此想法的初創公司。就我個人而言,我目前還不清楚如何使用語言模型開發一個智慧 NPC。但我認為 AI-NPC 就在不遠的未來,請持續關注我的最新進展。
控制系統: 想象一下,如果不需要鍵盤、手柄等控制器,而用對話的方式來控制遊戲會怎麼樣?儘管現在還沒有遊戲實現這種功能,但它並不是一件困難的事。如果您對此有興趣,也請持續關注我。
至此,5 天建立一個農場遊戲系列就結束了。那麼,想看最終遊戲的樣子,或者想親自試玩一下嗎?來 Hugging Face Space 應用 或 itch.io 吧!
感謝您閱讀 基於 AI 進行遊戲開發 系列文章!本系列僅僅是 Hugging Face AI 開發遊戲的開始,未來還會有更多內容!如果您有任何問題,或者想了解更多相關內容,現在來加入 Hugging Face 官方 Discord 頻道 與我們交流吧!
英文原文: https://hf.co/blog/ml-for-games-5
作者:Dylan Ebert
譯者:SuSung-boy
審校、排版: zhongdongy (阿東)