AI 遊戲主持人 · 不用準備,不用開桌

AI 遊戲主持人:用 AI 地下城主跑一場 RPG 團務

做出你自己的 AI 遊戲主持人

AI 遊戲主持人負責跑世界、跑 NPC、跑規則,你只要玩就好。在瀏覽器裡試一場 AI 驅動的 RPG 團務——不用開桌、不用備團、不用寫程式。

✦遊戲
做一個AI 遊戲主持人

AI 遊戲主持人是一套執行期系統:它持有世界狀態、讓 NPC 說話、裁決規則,並對你嘗試的動作做出反應——所以你是在玩,不是在備團。在 Neta Studio 裡,AI 遊戲主持人跑在瀏覽器中的真實 3D 世界裡,不是一個聊天框。你打字或說出角色要做什麼,世界就會改變。

這個詞涵蓋幾種不同的意圖。如果你要的是地城 RPG 團務,AI GM 會生成房間、把內容放進去,並裁決戰鬥。如果你要的是 mmorpg-maker,同一套系統可以擴展成多位玩家共用的持久世界。共通機制是一個迴圈:讀取狀態、產生敘述或動作、把狀態寫回去。這一頁說明那個迴圈實際上怎麼運作、在哪裡會壞掉,以及怎麼自己做出最小可玩版本。

快速解答

AI 遊戲主持人取代的是人類裁判的記帳工作,不是人類裁判的判斷力。它追蹤生命值、物品欄、位置、任務旗標和時間。它生成或挑選 NPC 對白。它裁決擲骰並套用結果。它在世界模型的限制內,對玩家嘗試的任何動作做出反應。這一切在玩家進行團務的整段時間裡持續運行。

它不是好的人類 GM 的替代品。人類 GM 會讀場面、注意到有玩家無聊了、為了讓故事活下去而彎一下規則,並且記得六次團務前某個隨口帶過的細節,因為那對某個人有意義。AI GM 省掉了備團時間、省掉了需要另外四個人同一個晚上都有空,也省掉了查規則時的停頓。它沒有省掉一張彼此熟識的桌子所帶來的價值。

對地城 RPG 和 mmorpg-maker 這兩種意圖來說,核心答案是一樣的:一個世界狀態儲存、一個規則裁決器、一個 NPC 層,以及一個有空間感的世界。差別在規模。單人地城團務跑一個狀態物件。MMO 世界跑的是一份權威狀態,多個客戶端同時讀寫它,這就帶來了後面會談到的共享狀態與審核問題。

AI 遊戲主持人實際上在做什麼

AI GM 每一回合做四件事。只要少掉其中一件,團務就會以某種具體、可診斷的方式感覺壞掉。失敗模式是可預測的,這在你調校的時候很有用。

下面這四件事是最小可行迴圈。其他一切——配音、生成美術、音樂——都只是疊在它們上面的裝飾。

持有世界狀態

狀態是最後一次提交的真相:誰在哪裡、身上帶著什麼、什麼已經被殺死、什麼已經被打開、現在是什麼時間。在 Neta Studio 的世界裡,這存在為一張場景圖加上一個鍵值儲存。NPC 的位置是一個 transform。任務旗標是一個布林值。玩家火把的燃料是一個整數,每個 tick 遞減。AI GM 敘述時,是從狀態敘述,不是從它半記得的提示摘要敘述。

常見的 bug:模型編造了狀態裡沒有的細節——一扇從沒被放在那裡的門、一個早就被殺掉的守衛。修法是只序列化真正存在的東西,並拒絕或改寫與硬性狀態鍵衝突的生成文字。軟性細節(天氣、氣味)可以浮動。硬性細節(生/死、上鎖/解鎖)不行。

讓 NPC 說話

每個 NPC 都需要一個穩定的人格:名字、角色、知道什麼、想要什麼、以及絕對不會說什麼。AI GM 根據那個人格和當前狀態生成對白。一個沒見過玩家的鐵匠,和一個上次團務被搶過的鐵匠,打招呼的方式不一樣。這就是持久世界之所以感覺活著、而不是隨機的原因。

實作上,你為每個 NPC 保留一個有 token 上限的記憶緩衝。溢出時,把最舊的幾筆摘要成一行,然後繼續。沒有這個上限,長時間的團務會漂移:NPC 開始和先前的說法互相矛盾,因為那些說法已經掉出上下文。

裁決規則

規則裁決是確定性的程式碼,不是模型輸出。模型提出一個動作;裁決器拿它對照規則集並回傳結果。「我朝哥布林揮砍」變成一次攻擊擲骰、一次傷害擲骰,以及一次狀態寫入。然後模型敘述結果。如果你讓模型決定傷害數字,平衡就變成雜訊。

這也讓系統可除錯。你可以把每一次擲骰、每一個修正值、每一個狀態差異都記錄下來。當玩家說「那一下不該打中」,你手上有數字。

對玩家嘗試的動作做出反應

難的部分是回應沒寫在腳本裡的輸入。玩家打「我把提燈丟向繩橋」。系統必須判斷:物品欄裡有提燈嗎、橋在射程內嗎、火會影響繩索嗎、接下來會發生什麼。純散文的 GM 可以描述這一切。有空間感的 GM 還必須把它算出來,因為橋的幾何和提燈的拋射物都活在場景裡。

反應迴圈是:把意圖解析成結構化動作、對照狀態與規則驗證、套用效果,然後從結果狀態生成敘述。解析成 schema 是讓世界保持一致的原因。沒有結構化動作的自由文字敘述,就是團務開始變軟的地方。

AI 地下城主 vs 人類 GM

誠實的比較是關於哪一個在哪條軸線上勝出,因為它們不是同一種工具。人類 GM 更擅長讀人。AI GM 更擅長永遠不累、永遠不需要行事曆。大多數團應該兩者都用,而不是選一個。

下面這張表,是實際上跑過兩者之後,團務裡真正有差別的地方。備團時間、臨場反應、一致性、桌面氣氛,是實務上真正重要的四條軸線。

軸線AI 遊戲主持人人類 GM
備團時間團務前為零。世界在團務開始時由一個 seed 和一條難度曲線生成。跑得好的話,每場數小時。地圖、NPC、遭遇、備案筆記。
臨場反應在世界模型內很強。出了模型就弱——如果動作沒有空間或規則上的根據,它會拒絕或產生幻覺。最強的資產。可以當場發明一整個派系,只因為感覺對。
一致性高。同樣的狀態、同樣的規則、同樣的 NPC 記憶,跨團務延續。不會忘記上週發生過什麼。變動大。取決於筆記、記憶和精力。往往是最好的故事和最糟的連戲錯誤的來源。
桌面氣氛在群體能量上偏低。沒有笑聲、沒有節奏、沒有讀場面。適合單人或非同步遊玩。高。對很多團來說,社交層才是重點。
規則公平性確定性。同樣的擲骰,同樣的結果,有紀錄。取決於 GM 的心情和故事。可以為了戲劇性偷改。
最擅長單人團務、離峰時段遊玩、測試 build、用同一座地城跑兩個不同角色。長期戰役、角色弧線、比起遊戲更為了相聚而玩的團。

跑一場團務

證明是一場團務,不是一個 demo。一場團務要有目標、有會回應你的角色,至少有一個能用不止一種方式解決的障礙。這些是現在就能在瀏覽器裡當 AI GM 團務跑的 Neta Studio 世界。

每一個都從一個明確的目標開始。你不是被丟進一個沒有線索的沙盒;你會拿到一個移動的理由,和一組會認得你做了什麼的 NPC。AI GM 會對照目標追蹤你的進度,並據此調整 NPC 行為。

  • The Cyclops' Island一座單島團務,目標明確:離開這座島。獨眼巨人有巡邏路線和睡眠週期。你可以打它、偷它、引誘它,或完全避開它。AI GM 會追蹤它有沒有看過你,並在之後的遭遇中調整它的行為。
  • Mini World為短時間遊玩設計的較小團務世界。適合測試 AI GM 怎麼處理緊湊的狀態空間:更少 NPC、更少物品、更快的回合。當你想在沒有大地圖的情況下清楚看見那個迴圈時很有用。
  • Agent Sprite Forge角色與精靈表系統,讓 NPC 在世界裡有視覺存在。當 AI GM 讓某個 NPC 說話時,Sprite Forge 提供頭像和動畫狀態,讓對白和肢體語言保持一致。
  • 3D game builder組裝世界的編輯器。你擺放幾何、定義 NPC 人格、設定難度曲線、以 seed 決定布局。AI GM 跑在你建立的世界之上。
1

01

在瀏覽器裡打開一個團務世界。不用安裝,第一次跑不用註冊。

2

02

讀一下明確的目標。它會告訴你 AI GM 正在追蹤什麼。

3

03

和一個 NPC 說話。他們的回應取決於狀態,不是固定腳本。

4

04

用一種方式嘗試那個障礙。如果失敗,世界就改變了——守衛被驚動、某條路關閉、某個物品被消耗。

5

05

用另一種方式嘗試同一個障礙。AI GM 透過同一套規則裁決,並寫入新的狀態。

6

06

結束團務。如果你要續團,這個狀態就是下一場團務的起點。

一場 NPC 各自帶著一項任務的團務——最輕量的完整 AI-GM 形態。

為什麼純散文的 AI GM 會壞掉

純文字的 AI GM 沒有幾何。那就是全部的毛病。當你打「我爬牆」,沒有牆有高度、沒有玩家有攀爬速度、失敗了也沒有後果。模型產出一句聽起來合理的話,然後繼續。團務前幾回合感覺還行,接著就 hollow 了,因為你做的任何事都不可能真正失敗到改變那個空間。

玩家最先注意到的症狀是距離不再重要。你可以「跑到房間另一頭」,它不花任何代價。你可以「躲在柱子後面」,不管那根柱子存不存在。模型是在生成描述,不是在模擬一個空間。二十分鐘之後,玩家就不再嘗試有創意的動作了,因為他們已經學到創意動作沒有機制上的重量。

當世界是真的 3D 空間時,這就變了。牆在世界單位裡有高度。玩家有攀爬速度。這次嘗試要嘛成功、要嘛失敗、要嘛部分成功,而結果會被寫入狀態。AI GM 從裁決後的狀態敘述,而不是自己發明。失敗是可能的,這才讓成功有意義。

第二個斷點是記憶。散文 GM 把整個世界放在一個 token 視窗裡。超過某個團務長度之後,早期的事實會掉出去,模型就開始自相矛盾。有空間感的世界把狀態外部化。AI GM 不需要記住門是鎖的;門這個物件身上有一個 locked 旗標。這就是為什麼有空間感的世界比純聊天撐得住更長的團務。

AI MMO 與多人世界

mmorpg-maker 這個意圖指的是一個持久的共享世界:很多玩家、一份權威狀態、在你離線時仍持續進行的團務。AI GM 還是做那四件事,但現在是對共享狀態做,這就帶來單人世界沒有的兩個問題。

第一個是共享狀態。如果兩個玩家在同一個鎮上,其中一個把酒館燒了,另一個必須看見。這代表 AI GM 不能為每個玩家各持一份狀態;它持有一份世界狀態,每個客戶端都從它讀取。失敗模式是衝突:兩個玩家在同一個 tick 想開同一個箱子。你需要一個提交順序和一把鎖,否則其中一個玩家的動作會默默蓋掉另一個的。

第二個是審核。一個從玩家輸入生成 NPC 對白的 AI GM,遲早會生成出玩家不該看到的東西,或者玩家會用輸入通道去製造它。在共享世界裡,這不是個人的 bug,是所有人的問題。實務上的答案是對生成文字加一層過濾、一條檢舉管道,以及對輸入通道做每位玩家的速率限制。

共享狀態

只保留一份權威的世界狀態。客戶端送的是意圖,不是狀態。伺服器對照當前狀態驗證意圖、套用效果,然後廣播差異。如果你讓客戶端直接寫狀態,幾分鐘內就會不同步和重複生成。AI GM 從權威狀態讀取,所以它對該區域所有玩家的敘述是一致的。

對持久世界來說,狀態必須撐過伺服器重啟。以固定間隔對世界做快照,並把快照之間的差異寫下來。從最後一份快照重播差異,就是你在不整場回溯的情況下從當機復原的方式。

審核

有兩個表面需要它:生成對白和玩家輸入。生成對白在廣播前先過內容過濾。玩家輸入在觸及 AI GM 之前先做速率限制與過濾。把輸入和生成輸出一起記錄下來,這樣你在審一件檢舉時不用猜發生了什麼。

AI GM 也該有一條硬性拒絕路徑。如果某個動作超出世界模型或內容政策,GM 就用角色內的口吻拒絕,並給出替代方案。留在虛構裡的拒絕,比一條系統錯誤訊息干擾更小。

一個像地城、可以從不只一種方式接近的障礙。

Roguelike 與地城生成

Roguelike 需要兩件彼此拉扯的事:一座每次跑起來都不一樣的地城,和一座每次都公平的地城。兩條軸線上都隨機,會產生不公平的 runs。兩條軸線都固定,會產生無聊的一座。解法是把兩條軸線分開:以 seed 決定布局、固定難度曲線、變化外觀。

以 seed 決定布局,指的是房間圖、走廊連接和關鍵物件的位置都由一個 seed 生成,所以同一個 seed 永遠產生同一座地城。這讓 runs 可重現以便除錯,也讓你可以在同一張地圖上比較兩個 build。固定難度曲線,指的是每一層的遭遇預算是常數,不是隨機抽的。變化外觀,指的是圖集、敵人外觀和掉落表可以每次 run 不同,而不動到曲線。

AI GM 就疊在這之上,扮演地下城主的角色。它讀取生成的圖、用符合位置的 NPC 人格把房間填起來,並在遊玩過程中跑規則。生成是確定性的;團務不是。

1

01

挑一個 seed。布局生成器從它產生一張房間圖。

2

02

套用難度曲線。每一層拿到固定的遭遇預算,不是隨機的。

3

03

填充房間。NPC 人格依房間角色指派——守衛、商人、頭目。

4

04

變化外觀。圖集、敵人外觀和掉落表從一份 run 層級的調色盤裡抽。

5

05

把圖交給 AI GM。它對照這張圖和規則裁決器跑這場團務。

6

06

把狀態差異記錄下來。如果一場 run 感覺不公平,重播那個 seed,檢查它在哪一層的預算爆掉。

做一個

最小可玩的 AI-GM 團務需要四樣東西:一個有幾何的世界、一個有人格的 NPC、一個有兩種解法的障礙,以及一個能在回合之間持續的狀態儲存。就這樣。規則、美術、難度曲線都可以之後再加。如果你先做這四件式的版本,你會在問題還很便宜修的時候就早早發現迴圈上的毛病。

從單一房間和一個守衛開始。守衛有名字、有理由待在那裡,還有一條規則:不會離開那扇門。障礙就是那扇門。你可以打守衛、引開他,或找到一把鑰匙。每條路寫入不同的狀態旗標。如果 AI GM 能在十個回合內跑完那個房間而不自相矛盾,你就有一場團務了。

從那裡開始,加上會擴展的部分:更多帶記憶緩衝的 NPC、一個會記錄擲骰的規則裁決器、一個以 seed 決定布局的生成器,最後如果你要多人,再加上共享狀態。每一項新增都有具體的失敗模式可以測。先把最小的東西做出來,故意弄壞它,然後再擴充。

  • 3D game builder用來擺放幾何、定義 NPC 人格、設定難度曲線的編輯器。AI GM 所跑的世界就是在這裡組裝起來的。
  • Generator地城式世界的布局與內容生成器。吃一個 seed 和一條難度曲線,產出一張填好內容、可供 AI GM 使用的房間圖。
  • Agent Sprite Forge供應 NPC 的視覺層,讓 AI GM 讓角色說話時,對白和肢體語言保持一致。
  • The Cyclops' Island整個迴圈的一個完整範例:明確的目標、會反應的 NPC、有多種解法的障礙。當你自己的東西跑起來不對勁時,可以拿它當參考 build。
世界狀態從哪裡來:描述一個改變,看它套用上去。

走進它所屬的那個世界

判斷一個遊戲主持人的唯一方法,就是跑一場團務。打開一個:一個小世界,四個角色各自給你一件事做,而障礙會回應你接近它們的方式。它的做法和這個站上其他東西一樣——從一段描述開始,發布成一個頁面。

回到 3D Game Builder

全部 31 個完成的 3D 世界、遊戲和場景都在同一頁——每一個都能玩。

平台:Neta Studio頁面:AI 遊戲主持人:用 AI 地下城主跑一場 RPG 團務接著讀:/explore/tool/ai-rpg-generator · /explore/tool/rpg-creator · /explore/guide/rpg-types
×