非玩家角色的意思:完整 NPC 用語指南
打造你自己的非玩家角色涵義
所有 NPC 術語都在這裡:非玩家角色、NPC's、NPC 遊戲、NPC 行為、AI NPC。一本附有可走進去的即時 3D 範例的用語指南。
非玩家角色是遊戲世界中任何玩家無法控制的實體。這個詞涵蓋店主、任務發布者、敵對怪物、環境群眾與腳本頭目。在 Neta Studio 的 3D 遊戲建造器中,你放置的每個 NPC 都是 Three.js 場景裡的真實物件,並附帶一個行為元件,因此它的涵義並不抽象:你可以打開堆疊、讀取狀態機,並走進其中。
這一頁是用語集,不是論述。每個術語都會用平易的語言定義,再連到一個你能在可遊玩世界中實際檢視的東西。當拼寫變體讓人困惑時,本頁會說明該用哪一種形式。當某個術語經常被誤讀時,本頁會指出誤讀並加以更正。
快速解答:非玩家角色的意思是什麼
非玩家角色是遊戲中不受玩家控制的角色。它由腳本、狀態機或 AI 系統驅動,存在的目的包括填充世界、發布任務、販售物品、阻擋道路或戰鬥。
非玩家角色的三種英文拼寫——加連字號、不加連字號,以及分寫成兩個詞——指的都是同一個概念。連字號是風格選擇,不是不同的概念。縮寫 NPC 是大多數人在第一次提及之後使用的形式。
實務上真正重要的區別是控制權,而不是敵意。NPC 可以友善、中立或敵對。讓它成為 NPC 的關鍵,是玩家不操控它。在 3D 遊戲建造器中,這對應到行為元件:如果物件擁有行為元件,而玩家沒有,它就是 NPC。
NPC 用語集:完整詞條
這些是你在閱讀 NPC 相關內容、撰寫設計文件或檢視世界時會遇到的術語。設計審查時,請引用「平易涵義」欄位的說法。
其中有些術語彼此重疊。任務發布者在玩家與之互動之前,只是背景 NPC。商人是任務發布者,同時還會開啟交易面板。類別描述的是角色定位,而不是獨立的引擎功能。
| 術語 | 平易涵義 |
|---|---|
| 同伴 | 會跟隨玩家的 NPC,通常具備跟隨狀態機與戰鬥協助分支。 |
| 背景 NPC | 用來填充空間、不供互動的 NPC:群眾、在市集閒晃的人、停在牆上的鳥。 |
| 敵對 NPC | 行為樹包含仇恨分支與攻擊分支的 NPC。 |
| NPC 行為 | 決定 NPC 每個更新週期做什麼的規則:巡邏、追擊、逃跑、交談、待機。 |
| AI NPC | 決策由模型或規劃器產生,而非固定腳本的 NPC。 |
| NPC's | 所有格,或加撇號的複數形式。表示「某個 NPC 的對話」時正確;當作單純複數則錯誤。 |
| NPC 遊戲 | 把 NPC 當成需要設計、測試與調校的系統,而不只是場景擺設的做法。 |
| 非玩家角色(分寫拼法) | 非玩家角色的另一種拼寫變體,指涉相同。 |
| 任務發布者 | 具備互動觸發器,會開啟對話並授予任務的 NPC。 |
| 商人 | 擁有物品欄與交易面板的 NPC,通常只能在待機狀態下接觸。 |
拼寫變體之間的關係
非玩家角色、NPC、NPCs、NPC's 與分寫形式,指的都是同一個對象,只是書寫形式不同。非玩家角色中的連字號是複合修飾語規則,不是技術上的區別。分寫形式是同一個複合詞去掉連字號,並把分詞分開書寫;它會出現在口語化文章與一些較舊的文件中。
在標題、定義或文件第一次提及時,使用完整形式。之後使用 NPC。複數是 NPCs,不加撇號。撇號只屬於所有格:NPC 的對話、NPC 的巡邏路線。
在行文中,安全的做法是:先完整寫一次非玩家角色,之後寫 NPC 與 NPCs。避免把 NPC's 當作複數。對大多數編輯來說,它讀起來像所有格,審稿時會被標記。如果風格指南要求把分寫形式合併成一個詞,對內可以照辦,但對外文案仍應保留加連字號的形式,因為那才是人們搜尋的寫法。
同樣的規則也適用於形容詞形式。請寫 NPC 行為,而不是 NPC's 行為,除非你指的是某個特定 NPC 所擁有的行為。
常見誤讀
三種誤讀解釋了這個術語周圍的大多數混淆。只要在運行中的世界裡看一下物件,每一種都很容易更正。
NPC 不是機器人
機器人是佔用玩家欄位的自動化玩家。NPC 則是世界內容。這個區別在多人遊戲中很重要:機器人可以像玩家一樣被踢出、計分與檢舉,NPC 則不行。在 Mini World 中,訓練假人是 NPC;它們永遠不會佔用玩家欄位,也永遠不會出現在計分板上。
NPC 不一定都是敵人
敵對怪物是 NPC,但店主與任務發布者也是。在《獨眼巨人島》中,獨眼巨人是敵對 NPC,碼頭商人是商人 NPC。兩者都有行為元件,但只有一個具備仇恨分支。
不是每個 NPC 都會說話
背景 NPC 可能完全沒有對話元件。它只有待機行為與巡邏路徑。替每位群眾加上對話觸發器,是密集場景中互動訊息氾濫的常見原因。請用距離與冷卻時間來限制對話。
你會遇到的行為術語
行為是大多數 NPC 工作所在之處。以下四個術語描述決策層如何建構。它們並不互斥;單一 NPC 可以在最上層使用狀態機,並在某個狀態內使用行為樹。
狀態機
狀態機是一組固定狀態,搭配明確的轉換。NPC 可能擁有待機、巡邏、追擊、攻擊與死亡等狀態。每個轉換都有條件,例如距離小於 8 個單位。狀態機很容易除錯,因為目前狀態是一個可以印出的單一數值。當狀態變多、轉換彼此重疊時,它就會變得難以駕馭。
行為樹
行為樹是一種節點階層,每個更新週期會回傳成功、失敗或執行中。選擇器會依序嘗試子節點;序列則會執行子節點,直到其中一個失敗。行為樹比扁平式狀態機更容易擴充,因為共享的子樹可以跨 NPC 類型重複使用。代價是,沒有視覺化除錯器時,失敗的分支可能很難追查。
目標導向行動規劃(GOAP)
目標導向行動規劃會根據目前的世界狀態,搜尋能滿足某個目標的一連串行動。你不必手寫轉換,而是宣告前置條件與效果,由規劃器找出路徑。GOAP 很擅長處理湧現式的組合,但在審查時較難預測。小型世界很少需要它。
效用 AI
效用 AI 會用曲線替每個可能的行動評分,並挑選分數最高者。它能產生平滑、混合的行為,避免狀態機那種明顯的狀態跳變。調校成本在於曲線,而形狀不良的曲線會讓 NPC 每個更新週期在兩個行動之間來回震盪。
AI NPC 與語言模型術語
AI NPC 這個標籤的使用相當寬鬆。在本用語集中,它指的是決策或對話來自模型、而非固定腳本的 NPC。模型可以是小型本地分類器,也可以是託管的語言模型。重要的區別在於模型被允許控制什麼。
對話模型會生成或挑選 NPC 的台詞。記憶儲存會保存 NPC 學到的玩家相關事實,例如名字或已完成的任務。意圖是模型想採取的結構化行動,例如發布任務或開啟交易。在實際運作的系統中,模型產生意圖;遊戲程式碼驗證它,然後執行行動。
這道分界說明了語言模型適合與不適合的位置。模型擅長在已知意圖中做選擇,並把一句話說得通順。它不是放置碰撞、尋路或戰鬥時序的地方。那些屬於行為層,會以固定更新週期每幀執行。模型呼叫有延遲,輸出也不穩定;追擊分支不能等它。
- 對話模型產生文字,或從表格中挑選台詞。請為逾時與拒絕保留備援台詞。
- 記憶以鍵值形式儲存玩家相關事實。請設定上限,否則它會在工作階段中無限成長。
- 意圖模型請求的結構化行動。在遊戲採取行動之前,請先依白名單驗證。
從這裡開始:NPC 指南索引
本頁定義術語。這個系列的其他頁面則回答人們接下來會問的問題。請依問題使用索引,而不是依頁面順序。
如果你想看這些術語實際運作,請在 3D 遊戲建造器中打開 Mini World,並肩檢視商人與敵人。行為元件是可見的,編輯其中一個就會更新正在運行的場景。
01
什麼是 NPC?先從定義頁面取得完整答案與以控制權為準的判準。
02
有哪些類型?閱讀類型頁面,了解同伴、背景、敵人、任務發布者與商人。
03
它們如何行動?閱讀行為指南,了解狀態機、行為樹、GOAP 與效用 AI。
04
如何撰寫它們的台詞?閱讀對話頁面,了解觸發器、冷卻時間與意圖處理。
05
想要一個完整範例?走一趟《獨眼巨人島》,檢視敵對與商人 NPC。
06
正在為 NPC 製作精靈圖?Agent Sprite Forge 負責視覺層;行為仍留在建造器中。
走進它所屬的世界
精靈圖是一個無處可站的角色。最後一步是其他人都沒有提供的:把你剛做好的圖集,放進一個有人可以走動的世界——一座小島、一顆行星、一個下雨的街角。這個網站上的每個世界,都是從一段文字描述開始製作,並發布成可供遊玩的頁面。
常見問題
非玩家角色是什麼意思? +
遊戲中不受玩家控制的角色。它由腳本、狀態機或 AI 系統驅動,存在的目的包括填充世界、發布任務、販售物品或戰鬥。
遊戲中的 NPC 是什麼? +
同樣的東西:任何具有行為元件、但玩家不操控的世界實體。在 3D 遊戲建造器中,如果物件具有行為元件而玩家沒有,它就是 NPC。
NPC 是單數還是複數? +
NPC 是單數。複數是 NPCs,不加撇號。撇號只屬於所有格,例如 NPC 的對話。
NPC 與敵人有什麼差別? +
敵人是 NPC 可以扮演的角色,不是獨立類別。敵對 NPC 具有仇恨分支與攻擊分支;商人 NPC 則有物品欄與交易面板。兩者都是 NPC。
什麼是 AI NPC? +
決策或對話來自模型或規劃器,而非固定腳本的 NPC。實務上,模型提出意圖,遊戲程式碼驗證它並執行行動。
我該從哪裡開始學習 NPC 設計? +
先從定義開始,接著讀類型頁面,再讀行為指南。在 3D 遊戲建造器中打開 Mini World,並肩檢視商人與敵人,就能在運行中的場景裡看到這些元件。
回到 3D 遊戲建造器
全部 31 個完成的 3D 世界、遊戲與場景都在同一頁——每一個都能玩。