非プレイヤーキャラクターの意味:NPC用語の完全ガイド
自分だけの非プレイヤーキャラクターの意味を作る
NPCに関するすべての用語を一か所に:非プレイヤーキャラクター、その所有格、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の所有格 | 所有格、またはアポストロフィ付きの複数形。NPCの台詞では正しく、単なる複数形としては誤り。 |
| NPCゲーミング | NPCを単なる飾りではなく、設計し、試し、調整するシステムとして扱う実践。 |
| 分かち書き表記 | ノンプレイヤーキャラクターの表記揺れ。指すものは同じ。 |
| クエスト発行者 | 対話を開き、課題を与える相互作用トリガーを持つNPC。 |
| 商人 | 所持品と取引パネルを持つNPC。通常は待機状態でのみ近づける。 |
表記の揺れはどう関係するか
非プレイヤーキャラクターという語には、ハイフン付き、ハイフンなし、分かち書きの三つの表記があります。略語のNPC、その複数形、所有格も、どれも同じものを指します。複合語のハイフンは表記ルールによるもので、技術的な区別ではありません。分かち書きの形は、ハイフンなしで分詞を離して書いた同じ複合語で、くだけた文章や古い資料に現れます。
タイトル、定義、文書で最初に述べる箇所では完全な形を使います。その後はNPCを使います。複数形にするときもアポストロフィは付けません。アポストロフィが付くのは所有格だけです。NPCの台詞、NPCの巡回経路のように書きます。
文章の中では、次の型が安全です。最初に一度非プレイヤーキャラクターと書き、その後はNPCを使います。複数形にアポストロフィ付きの形を使うのは避けます。多くの編集者には所有格として読まれ、校正で指摘されるからです。スタイルガイドが分かち書きを一語として強制するなら、社内ではそれに従っても、公開文ではハイフン付きの形を保ちます。人が検索するのはその形だからです。
同じルールは形容詞の形にも当てはまります。NPCの挙動と書き、所有格の形は使いません。ただし、特定の一体のNPCに属する挙動を指す場合は別です。
よくある誤読
三つの誤読が、この用語をめぐる混乱の大半を説明します。どれも、動いている世界でオブジェクトを見れば簡単に正せます。
NPCはボットではない
ボットはプレイヤー枠を占める自動化されたプレイヤーです。NPCは世界の内容です。この区別はマルチプレイで重要になります。ボットはプレイヤーと同じように追放され、得点され、通報されますが、NPCはそうではありません。Mini Worldでは、訓練用の的はNPCです。プレイヤー枠を決して取らず、スコアボードにも決して現れません。
NPCはいつも敵とは限らない
敵対するモブはNPCですが、店主やクエスト発行者もNPCです。サイクロプス島では、サイクロプスは敵NPCで、桟橋の商人は商人NPCです。どちらも挙動コンポーネントを持っています。敵対分岐を持つのは片方だけです。
すべてのNPCが話すわけではない
背景NPCは対話コンポーネントをまったく持たないことがあります。待機の挙動と巡回経路だけです。群衆の一人ひとりに対話トリガーを付けるのは、密集した場面で相互作用が氾濫するよくある原因です。対話は距離とクールダウンで制限します。
知っておきたい挙動の用語
挙動は、NPCの作業の大半が行われる場所です。この四つの用語は、意思決定層の作り方を表します。互いに排他的ではありません。一つのNPCが最上位に状態機械を使い、一つの状態の内部に挙動ツリーを使うこともあります。
状態機械
状態機械は、明示的な遷移を持つ固定の状態集合です。NPCなら待機、巡回、追跡、攻撃、死亡といった状態を持ちます。各遷移には条件があり、たとえば距離が8単位未満といったものです。状態機械はデバッグが容易です。現在の状態が一つの値として出力できるからです。状態が増え、遷移が重なると扱いにくくなります。
挙動ツリー
挙動ツリーは、各ティックで成功、失敗、実行中を返すノードの階層です。セレクタは子を順に試し、シーケンスは失敗するまで子を実行します。挙動ツリーは平坦な状態機械より拡張性に優れます。共有の部分木をNPCの種類をまたいで再利用できるからです。代償は、視覚的なデバッガがないと失敗した分岐を追いにくいことです。
ゴール指向アクションプランニング(GOAP)
ゴール指向アクションプランニング(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は単数です。複数形にするときもアポストロフィは付けません。アポストロフィが付くのは所有格だけで、NPCの台詞のように書きます。
NPCと敵の違いは何ですか? +
敵はNPCが持つ役割の一つで、別の分類ではありません。敵NPCは敵対分岐と攻撃分岐を持ち、商人NPCは所持品と取引パネルを持ちます。どちらもNPCです。
AI NPCとは何ですか? +
意思決定や対話が固定スクリプトではなく、モデルやプランナーから来るNPCです。実際にはモデルが意図を提案し、ゲームのコードがそれを検証して行動を実行します。
NPCの設計はどこから学べばよいですか? +
定義から始め、次に種類のページ、その次に挙動ガイドへ進んでください。3DゲームビルダーでMini Worldを開き、商人と敵を並べて調べれば、実行中の場面でコンポーネントを確認できます。
3Dゲームビルダーに戻る
完成した31の3D世界、ゲーム、場面はすべて1ページに集まっており、どれも遊べます。