NPC 定義 · 類型 · 實際範例

什麼是 NPC(非玩家角色)?定義、類型,以及可以走進去的 3D 範例

做出你自己的非玩家角色

非玩家角色(NPC)是遊戲中任何不受玩家控制的角色。認識六種 NPC 類型,並走進一個 NPC 真的會行動的即時 3D 世界——不用下載。

✦遊戲
做一個 非玩家角色

非玩家角色(NPC)是遊戲中任何不受玩家控制的角色。定義就這樣。混淆是從人們把這個詞套到任何會自己動的東西上開始的——一架沒名字的巡邏無人機、一道會滑動的牆、死鬥模式裡的一個 bot。那些都不是 NPC。NPC 首先是角色,其次才是演算法。

這個詞來自桌上角色扮演。在紙筆遊戲的一場局裡,有一個人當裁判,扮演所有玩家沒扮演的角色。這套結構搬到電腦上時,詞彙也跟著搬過去。在 Neta Studio 做的瀏覽器 3D 世界裡,NPC 是一個網格,加上掛上去的行為腳本和一張對話表。把腳本刪掉,它就變成場景擺設;把網格刪掉,它就什麼都不是。兩者都要有。

定義:「非玩家角色」到底是什麼意思

非玩家角色是遊戲世界裡由遊戲控制、而不是由玩家控制的虛構人物或生物。它有身分——名字、身體、一句語音、一個角色定位——並且依照設計者寫下的規則運作。玩家通常可以跟它說話、交易、戰鬥,或跟著它走。玩家不能附身操控它。

這個說法比電子遊戲還老。它出現在 1970 年代的桌上角色扮演規則書裡,用來區分由遊戲主持人操作、和由玩家操作的角色。縮寫 NPC 隨後不久就進入一般的遊戲書寫,五十年來意思沒變過。這種穩定並不尋常。渲染、物理、尋路和對話系統都被換過好幾輪。這個標籤能活下來,是因為它描述的是關係,不是技術。

兩個條件必須同時成立。第一,這個實體是角色——它在虛構世界裡有存在感與身分。第二,控制權在系統手上,不在人手上。賽車遊戲裡的三角錐不符第一條。合作模式裡的第二名玩家不符第二條。格鬥遊戲裡的 CPU 對手如果完全沒有角色設定,就不符第一條——這也是下一節要把這些情況分開講的原因。

可以直接沿用的工作定義

非玩家角色就是遊戲控制的角色。這句話涵蓋了站在櫃檯後面的店主,也涵蓋跟著你走過三個區域、還記得你做過什麼的同伴。

Little Ritual——四個鄰居、四杯咖啡。他們每一個人都是任務 NPC。

NPC、玩家與 CPU

這三個詞會被混用,是因為它們在畫面上可能長得一模一樣。一個 CPU 對手和一個敵對 NPC 可能共用同一個模型和同一套攻擊節奏。差別在於這個實體在設計上是什麼,而不是它渲染出來像什麼。玩家對角色握有能動性。NPC 在虛構世界裡有身分。CPU 則是「對手」的一種實作方式。

這件事在你動手做的時候才有意義。在 Neta Studio 裡,玩家控制的實體綁定到輸入事件。NPC 綁定到行為腳本和一張對話表。CPU 對手綁定到一條難度曲線,通常就沒有別的了——沒有名字、沒有台詞、沒有記憶。你可以把 CPU 升格成 NPC:給它名字、聲音,和一個待在這裡的理由。你也可以把 NPC 降級成道具:把它的對話拿掉就好。標籤跟著設計走,不跟著檔案走。

NPC玩家CPU
有角色身分:名字、模型、聲音、定位有角色身分,可能是自己選的也可能是被指派的可能完全沒有身分——通常就是玩家的鏡像
由遊戲邏輯控制由人類透過輸入控制由遊戲邏輯控制
能對話、交易、給任務、跟隨、記住事情自己決定下一步做什麼存在的目的就是戰鬥、競速或競爭
可能友善、中立或敵對善惡立場由玩家決定通常預設敵對
把對話刪掉,它就變成道具把輸入綁定刪掉,它就變成 NPC給它一個名字和一句語音,它就變成 NPC
Little Days Playroom——一個由會動的角色構成的場景,其中大多數是背景 NPC。

NPC 的六種類型

已發行遊戲裡的 NPC 大多落在六個功能分類裡。同一個角色可以屬於不只一類——一個賣裝備又發任務的鐵匠,既是商人也是任務給予者。這些分類有用,是因為每一類都暗示了不同份量的行為程式碼、對話量和尋路需求。

如果你正在學著做,先從背景型和互動型開始。它們幾乎不需要邏輯,卻能讓場景看起來有人住。等你有了背包系統再加商人。同伴放到最後,因為跟隨行為正是尋路 bug 最花錢的地方。

  • 任務 NPC給予目標、追蹤完成度,並在目標結算時改變狀態。需要一張至少有三種狀態的對話表:任務前、任務中、任務後。你會在 The Cyclops' Island 的碼頭遇到一個。
  • 商人 NPC以物品或貨幣交換。需要一份庫存清單和一個交易介面掛鉤。難的地方是定價,不是行為。在 Mini World 裡有個商人備了三樣貨,在某個旗標設起來之前拒絕交易。
  • 背景 NPC存在的目的就是讓一個地方看起來有人住。走固定路線、播待機動畫、沒有對話樹。執行成本低,也最常被誤認成場景擺設。
  • 敵對 NPC有仇恨半徑和攻擊模式。跟 CPU 對手不同,因為它通常有名字、有陣營,也有一個待在這關裡的理由。
  • 同伴 NPC跟著玩家、一起戰鬥,通常還有忠誠度或生命值狀態。跟隨行為是最容易壞掉的部分:樓梯、門口和窄平台都會讓它出錯。
  • 互動 NPC回應某個特定的玩家動作——開門、觸發過場、交出物品。沒有任務、沒有商店,只對一個觸發條件反應。

什麼讓 NPC 成為角色,而不是道具

有四種成分在起作用:外觀、對話、行為,以及故事裡的角色定位。拿掉其中三樣,你手上就是一個道具。會動的道具還是道具。貼了名牌的移動木箱還是木箱。

外觀是最便宜、也最被高估的成分。一個精緻模型如果沒有對話、沒有定位,讀起來就只是裝飾。對話是多數玩家說一款遊戲 NPC 做得好時真正的意思,因為它是最清楚的訊號:牆裡有東西正在選擇跟你說話。行為讓角色在你走開之後仍然存在。定位則是你在它回來時會在意的原因。

製作的順序是外觀、行為、對話、定位。外觀先做,因為除錯時你需要有東西可以看。行為第二,因為一個永遠不動的角色很難測試。對話第三,因為它依賴狀態。定位放最後,因為那是設計決定,不是程式決定——而它正是把販賣機變成人的那個成分。

為什麼會動的道具依然不合格

給木桶一條巡邏路線,它就會動。給它名字,它就有標籤。它還是沒有對話、沒有定位,對這個世界也沒有任何話可說。玩家會把它讀成機械裝置。判斷方法很簡單:如果玩家從不期待它回應,它就不是角色。

四成分檢查法

在你把某個東西叫 NPC 之前,四項都檢查一遍。外觀:你描述得出來嗎?對話:你引得出其中一句台詞嗎?行為:沒人看的時候它會做任何事嗎?定位:把它刪掉,故事會不一樣嗎?四項裡只中三項,那是有企圖心的道具。

走進這些 NPC 真正生活的世界

讀 NPC 的說明,跟親眼看到其中一個決定朝你走過來,是兩回事。Neta Studio 的 3D 遊戲建構器在瀏覽器裡跑——不用安裝、不用外掛、不用下載。下面這個世界是即時可玩的。走到每個角色前面互動。六種類型全都在。

The Cyclops' Island 用 NPC 的方式就像一款小型冒險遊戲:角色不多,每個只負責一件事。開場的任務給予者設定目標。商人負責交易。同伴在某個旗標設起來之後加入。敵人沿著固定路線巡邏,帶著視野錐。背景 NPC 讓村莊有人氣,另外有一個互動 NPC 在你帶著正確物品靠近時開門。

如果你想改動它們,3D 遊戲建構器會把每個角色掛著的行為腳本公開出來。Agent Sprite Forge 負責產生角色美術和每個 NPC 的精靈表。你可以換掉對話表然後重新載入,不必重開這次工作階段。

  • 任務 NPC站在起點碼頭旁邊。跟它說話,HUD 上的目標標記就會更新。
  • 商人 NPC在西側小路的攤位後面。交易三樣物品;第三樣在任務旗標翻起來之後才解鎖。
  • 背景 NPC兩個沿著村莊走固定路線。它們沒有對話,也不會停下來。
  • 敵對 NPC在山脊上巡邏。它有視野錐和仇恨半徑。斷開視線就能讓它重置。
  • 同伴 NPC在任務旗標設起來之後加入。跟隨距離兩公尺,你打什麼它就跟著打什麼。
  • 互動 NPC在閘門旁。帶著正確物品靠近,它就開門;沒帶就拒絕。

為什麼這個詞仍然重要

這套詞彙能活下來,是因為它標出一條每個新技術都得跨過的界線。桌上遊戲在裁判的角色和玩家的角色之間畫下這條線。早期的文字冒險沿用。3A 預算也沿用,同時花大筆錢在動作捕捉和配音上,去做玩家依然不能控制的角色。LLM 驅動的角色也一樣——一個即興生成對話的語言模型仍然是個非玩家角色,因為開口說話的仍然不是玩家。

變的是每種成分的成本。外觀以前最貴,現在對風格化的角色來說幾乎免費。對話以前是一張固定的表,現在可以在執行時生成。行為以前是手寫的狀態機,現在通常是一棵樹或一個規劃器。定位還是最難、也最人性的那一項——決定一個角色究竟為什麼存在於故事裡。

這個詞對開發重要,是因為它逼你問那個問題。如果你說不出誰控制一個實體,你就說不出它是幹什麼用的。在 Neta Studio 裡,場景中每個角色都帶著一個控制標籤:玩家、NPC 或道具。標籤決定什麼會綁定到它。改標籤,行為也跟著改。

現代遊戲裡什麼算 NPC

現代遊戲把這些分類攪在一起。召喚物、寵物、AI 隊友和連線對戰的 bot 都靠在線的附近。有用的問題不是這個實體在技術上算不算 NPC,而是它表現得像不像個角色——身分、對話、行為、定位——以及玩家是否直接控制它。

兩種邊緣案例很常出現。一個聽命令的 AI 隊友有角色設定、也會回應指令,但控制權是共用的。一個補空位的連線 bot 完全沒有角色——它只是人類玩家的替身。兩個在日常對話裡都會被叫成 NPC。兩個都不完全符合定義。

案例判定原因
召喚生物NPC有身分也有行為,玩家不能附身操控
聽指令的寵物NPC有身分的角色;玩家下指令,但不直接控制
小隊裡的 AI 隊友通常是 NPC有身分也有定位;戰術控制權共用讓它變得模糊
補位的連線對戰 bot不是 NPC代替人類玩家;通常沒有角色設定或對話
格鬥遊戲的 CPU 對手不是 NPC純粹的對抗演算法,在故事裡沒有任何定位
負責講解操作的新手教學語音有形體的話就是 NPC如果它沒有形體也沒有名字,那是 UI,不是角色

走進它真正所屬的世界

一張精靈表,是一個無處可站的角色。最後這一步是別處沒有的:把你剛做好的精靈表放進一個別人可以走進去逛的世界——一座小島、一顆行星、一個下雨的街角。這個網站上的每一個世界,都是從一段文字描述做出來,然後發佈成一個可以直接玩的頁面。

常見問題

NPC 的全稱是什麼? +

非玩家角色(Non-player character)。這個縮寫從 1970 年代的桌上角色扮演遊戲就開始使用,意思一直沒變。

NPC 算 AI 嗎? +

有時候算。一個走固定路線的背景 NPC 是寫死的腳本,不是 AI。一個會繞過障礙、對戰鬥有反應的同伴,用的是搜尋與決策邏輯。「AI」這個標籤描述的是實作方式,不是角色。

NPC 和 bot 差在哪裡? +

bot 是人類玩家的替身,通常沒有角色身分。NPC 是虛構世界裡的角色,由遊戲控制。補空位的連線對戰 bot 不是 NPC。

第一個 NPC 是什麼? +

沒有可考證的唯一第一個。1970 年代的文字冒險就有會回應輸入指令的角色,而這個詞本身在那之前就已經從桌上遊戲而來。

為什麼叫「非玩家」? +

因為這個標籤是用「它不是什麼」來定義這個實體:它不是由玩家控制的。這種否定式的說法,正好標出玩家能動性的邊界。

可以扮演 NPC 嗎? +

同一場遊戲裡不行。如果你控制那個角色,依定義它就是玩家角色。有些遊戲讓你暫時附身一個 NPC,但在那段期間,遊戲會把它當成玩家控制的角色來處理。

回到 3D 遊戲建構器

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

平台: Neta Studio頁面: 什麼是 NPC(非玩家角色)?定義、類型,以及可以走進去的 3D 範例接著讀: /explore/guide/what-are-npcs · /explore/guide/npc-character-types · /explore/guide/npc-video-game
×