ゲームにおけるNPCの意味:何の略で、なぜ重要なのか
自分だけのNPCゲームを作る
ゲームにおけるNPCとは何の略で、この言葉はどこから来たのか。由来、三つの表記(NPC、NPC's、NPCs)、そしてノンプレイヤーキャラクターが今も動き続けるライブ3Dワールドを紹介します。
NPCとはノンプレイヤーキャラクターの略で、ゲームの中でプレイヤーが操作しないキャラクターすべてを指します。NPCゲームという文脈では、この言葉が指す範囲はとても広く、セリフが三行だけの店主、巡回経路を回る衛兵、レベルを一緒に進む仲間まで含まれます。さらに、カテゴリー名として、行動の質を表す略語として、そしてゲームの外では人をけなす言葉としても使われます。
このページでは、この言葉の由来、人が検索する三つの表記(NPC、NPCs、NPC's)、五世代のハードウェアをまたいで意味がどう生き残り、その下にある行動がどう完全に変わったのか、そしてブラウザのライブシーンでスクリプト化されたキャラクターの前に立ったとき、何に注目すべきかを扱います。
早わかり:NPCはノンプレイヤーキャラクターの略
NPCはノンプレイヤーキャラクターの略で、ゲームの中でプレイヤーが操作しないキャラクターを意味します。味方、商人、クエストの依頼人、背景の群衆、敵対するモブまで、キーボードの前に誰もそれを動かしていなければ、すべてこの言葉に含まれます。
この略語がどこでも使われるのは、置き換える語より四文字短く、会話テーブル、エンジンのクラス名、設計資料、不具合票に収まるからです。一方でゲームの外では意味が曖昧で、読み手はソフトウェアの説明ではなく、ある人についての評言と受け取ることもあります。
この言葉の由来
この言葉はビデオゲームより古いものです。由来はテーブルトークのロールプレイングにあり、そこでは一人の参加者が世界を運営し、プレイヤーが操作しないキャラクターすべてを担当します。ゲームマスター、ダンジョンマスター、審判など、システムによって呼び名は変わりますが、その役割こそ最初のノンプレイヤーキャラクターのエンジンでした。店主の値段、衛兵の巡回、宿屋の主人の噂話を一つの頭に収め、プレイヤーが尋ねれば答えるのです。
この語句が最初に活字になった正確な事例を特定するのは難しく、目の前にそのページがない限り、特定の書物や年を断定はしません。確かなのは、ペンと紙のルール文書が、プレイヤーが演じるキャラクターと審判が代弁するキャラクターを分ける言葉を必要としていたこと、そして家庭用コンピューターが会話を保持できるだけの記憶を持つ前に、その言葉がすでにこの趣味で使われていたことです。
ビデオゲームは、キャラクターを持つようになった時点でこの言葉を受け継ぎました。初期の設計者は、プレイヤーが動かすものと、ルールによって動くものを分ける必要があり、まさにその意味を持っていた言葉を採用したのです。それはエンジンの言葉ではなく設計の言葉として残りました。Unrealで最も近いのはPawnとCharacterのクラス階層、Unityではコントローラーコンポーネントを持つGameObjectであり、どちらのエンジンにもNPCという名前のクラスはありません。この差は有用な手がかりで、誰かがNPCと言うとき、たいてい話しているのはコードではなく意図と行動です。
NPC、NPC's、NPCs:正しい表記はどれか
単数形はNPCです。複数形はNPCsで、アポストロフィを付けずにエスを添えるだけです。多くの編集スタイルガイドが頭字語をそう扱います。所有格はNPC'sで、アポストロフィが本来の所有を示す役割を果たしています。三つともそれぞれの場所では正しく、紛らわしいのは、そのうち二つが一見するとほとんど同じに見えることです。
検索で使われる表記npc'sは、たいてい複数形をアポストロフィ付きで書いたものです。英字の略語にアポストロフィを付けて複数形にする、あの癖と同じです。まれに、名詞が省略された本当の所有格の場合もあり、所有格の直後にあった名詞が落ちているだけのこともあります。検索インデックスやコンテンツフィルターを作るなら、三つの形を生の文字列として照合しないでください。大文字小文字を正規化し、比較前にアポストロフィを取り除くこと。そうしないと、NPCの検索はNPCsもnpc'sも黙って取りこぼします。
| 表記 | 何を表すか | 例文 |
|---|---|---|
| NPC | 単数形。一人のキャラクター。 | 門番のNPCは、クエストを受けるまで同じセリフを繰り返す。 |
| NPCs | 複数形。二人以上。 | 市場のNPCsは一つの共通の待機スケジュールで動いている。 |
| NPC's | 所有格。一人のNPCに属する。 | NPC'sの巡回経路は、井戸の周りを回って門へ戻る。 |
なぜゲームにこの言葉が必要だったのか
この言葉はカテゴリーの略称であり、そのカテゴリーは不在によって定義されます。プレイヤーの主体性がないことです。シーンの中のものはすべて、入力で動くか、ルールで動くか、静止しているかのどれかです。NPCは真ん中の場合を名指しします。この言葉がなければ、設計資料は「壁沿いに歩くが誰にも操作されないキャラクター」と毎回書かねばならず、そういう文は、計画してもしなくても短縮されていくものです。
境界は両方向に注意が必要です。敵対するモブは技術的にはノンプレイヤーキャラクターで、誰も動かしていません。しかしプレイヤーは会話の中で「NPC」と「敵」を習慣的に分け、前者を話しかけるキャラクターに取っておきます。一方、物理判定を持つ木箱はNPCではありませんが、相互作用すると会話ウィンドウが開く木箱はNPCです。状態と応答があり、その状態が単一の真偽値であっても変わりません。
最後の例が有用な判定法です。プレイヤーが見ていないとき、それが何をするかを問いかけてください。小道具は何もしません。NPCはスケジュールに従って何かを続けるか(巡回、待機、交易)、プレイヤーが来たときに変わる状態を保持しています。どちらもなければ、それはモデルが付いた背景です。
- プレイヤーキャラクター入力を受け取る。カメラ、失敗状態、セーブファイルを所有する。シーン内の他のすべての物体は、これを基準に定義される。
- NPC入力はない。スクリプト、ステートマシン、スケジュール、経路のいずれかで動く。会話、持ち物、目的、前回あなたが何をしたかの記録を保持していてもよい。
- 敵敵対ルールを付けたNPC。日常会話ではプレイヤーは言葉を分けて使うが、仕組みとしては敵対するモブもノンプレイヤーキャラクターであり、キーボードの前に操っている人はいない。
- 小道具判断ループも、保存する価値のある状態もない。街灯、柵、樽。相互作用を一つと応答を一つ加えれば、スクリプト化されたNPCの側へ越える。
ゲームの時代とともに意味はどう変わったか
固定されたスプライトの会話。アーケードや8ビットのゲームでは、NPCはたいてい一つのテキスト文字列を結び付けたスプライトで、テーブルに保存され、スクリプトのポインターから呼び出されました。永遠に同じことを繰り返し、あなたの記憶もなく、まさにこの言葉が今も意味するものでした。変わったのは定義ではなく、キャラクターの背後にある機械の大きさです。
会話ツリーとグローバルフラグ。アドベンチャーゲームや16ビットのロールプレイングゲームが分岐する会話を加え、NPCは初めて状態を保持することを迫られました。セーブファイルのフラグ、たとえばmet_guardが真、gate_keyが偽という値が、二度目の訪問でキャラクターを違う振る舞いにします。キャラクターが賢くなったのではありません。ゲームがキャラクターの代わりにチェックリストを持ち始めたのであり、その後の改善はすべてチェックリストを大きくする作業です。
スクリプト化されたオープンワールド。2000年代半ばから、キャラクターは日課のスケジュール、ナビメッシュの経路探索、昼夜のループを持つようになりました。OblivionのRadiant AIは、その野望と失敗の仕方の両方を示す代表例です。スケジュール、経路、世界の形状が食い違うと、NPCは日が暮れて鍵のかかる扉に歩み入り、朝までそこに立ち尽くします。その時代の不具合報告は、ほとんどが設計者の予想外の場所にキャラクターがいるという話でした。
システム駆動のキャラクター。ビヘイビアツリーとユーティリティAIが、単一のスクリプトを、毎ティック評価される選択肢の点数リスト(食べる、巡回する、話す、逃げる)に置き換えました。失敗は一段上の層へ移ります。戦いの中にさまよい込んで死ぬクエストに必須のキャラクターは、クエストも道連れにします。だからこそ出荷されたゲームは、システムに生存を任せず、そうしたキャラクターを保護または必須として印付けるのです。
モデルの層。最近のゲームやブラウザのツールは、その同じ骨組みに言語モデルの会話を後付けします。まず短い掛け声、ナビメッシュ、アニメーションのステートマシン、相互作用のトリガーがあり、その上に生成されたテキストが載ります。世界の状態に基づいていなければ、テキストの層は世界についての事実を捏造し、クエストログと矛盾します。実際の世界の状態に基づいていれば、キャラクターが何を言うかは変わりますが、何ができるかは変わりません。8ビットのテキストテーブルと同じ役割分担です。
NPCが今も自分たちの仕事をしている世界を歩く
行動について読むより、その前に立つほうが有用です。3Dゲームビルダーを開いてMini Worldを読み込めば小さなシーンを、The Cyclops' Islandを歩けばキャラクターが配置されたより広い空間を体験できます。走らずに歩いてください。キャラクターの不具合の多くは歩く速さでしか見えません。モデルが足を踏み出さずに地面を滑る、向きの目標と経路が食い違ってその場で回転する、といった様子が見えるのです。
スクリプト化されたキャラクターと装飾的なキャラクターを分ける性質は四つあります。あなたに気づくか、自分から働きかけるか、記憶するか、失敗できるかです。近づくとこちらへ向きを変える衛兵は、近接トリガーを動かしています。先に話しかけてくる商人は、相互作用の半径がキャラクターの衝突判定より広く設定されています。二度目の訪問でもまったく同じ最初のセリフを繰り返すキャラクターは、状態がまったくありません。会話テーブルが定数で引かれていたのです。
見て回るのではなく作るなら、あなたが書く説明がビルダーの仕様になります。「門が開くまで一言を繰り返す門番」と「三メートルの距離でついてきて、止まると止まる商人」は、同じモデルと二つの異なるシステムを表します。後者には追従の対象、停止距離、そして柵で経路がふさがれたときの規則が必要です。見た目だけでなく行動を説明してください。そうしなければ、よくできたモデルなのに何もしないキャラクターが出来上がります。
NPCゲームがうまく機能しているときの姿
異なるキャラクターが異なる時計で異なることをしているとき、シーンは人が住んでいるように読めます。三体とも同じ二秒のループで待機していると、集団ではなく模様に見えます。一体は二十秒の巡回、一体はプレイヤーを追って向きを変え、一体は話しかけられるまで何もしない。それで目に三つの別々の注意対象が生まれます。
01
シーンを読み込み、動く前に十秒間じっと立つ。待機中のキャラクターはループを現します。体重を移す者、同じ二コマのアニメーションを繰り返す者、文字通り何もしない者。
02
各キャラクターにゆっくり近づき、頭を見る。こちらへ向きを変えるキャラクターは注視または近接トリガーを動かしている。背を向けたままのキャラクターには、認識の状態がまったくない。
03
最初に話しかけてきた相手と話し、離れてから戻る。二度目の会話が一度目と同一なら、状態には何も書かれていない。そのキャラクターはシステムではなくテキストテーブルだ。
04
巡回を崩してみる。歩いているキャラクターの進路に立ち、止まるか、よけるか、通り抜けるかを見る。通り抜けるなら、ナビゲーションエージェントに回避が設定されていない。
05
キャラクターの説明を一つだけ変える。追従距離、巡回経路、挨拶のセリフなど。そして再読み込みする。変化が行動に出るか、見た目にだけ出るかを見れば、編集がどの層に届いたかがわかる。
ゲームの外でのNPCの意味
ゲームの外では、この言葉はゆるく、たいていは冷淡に、考えずにセリフを暗唱しているように見える人を表すのに使われます。ありきたりの意見を繰り返す人、見える目的もなく決まった手順をこなす人です。この比喩はゲームの意味をそのまま借りています。台本どおりで、予測でき、自分の主体性がない。配信者としての用法もあり、配信者が視聴者のギフトに反応するキャラクターを演じる様子は、一か所に立つゲームキャラクターの視覚文法を借りています。
ゲームの書き手は、目的を持つキャラクターを意味するときにこの言葉を避ける傾向があります。それが表すのは誰がキャラクターを操作するかであり、キャラクターが何を望むかではないからです。設計資料の中で「NPC」は入力についての問いに答えます。動機については何も語らず、カテゴリー名だけから書かれたシーンは、その名が含意するとおりのもの、つまりじっと立ち、使われるのを待つキャラクターを生みます。
キャラクターが属する世界へ踏み出す
スプライトは、立つ場所を持たないキャラクターです。最後の一歩は、ほかでは得られないものです。作ったシートを持ち、誰かが歩き回れる世界に置く。小さな島、惑星、雨の街角。このサイトのすべての世界は、一つの書かれた説明から作られ、遊べるページとして公開されています。
FAQ
ゲームにおけるNPCとは何の略ですか? +
ノンプレイヤーキャラクター。ゲームの中でプレイヤーが操作しないキャラクターすべてを指します。クエストの依頼人、商人、仲間、群衆、敵対するモブも含みます。いずれの場合も行動は入力ではなく、スクリプトやシステムから来るからです。
NPCとNPCsのどちらですか? +
単数形はNPC、複数形はアポストロフィなしのNPCs、所有格はNPC'sです。検索で使われるnpc'sは、ほぼ常にアポストロフィ付きで打たれた複数形で、標準ではありませんが、インデックスやフィルターは拒否するのではなく正規化するべきほど一般的です。
この言葉はどこから来ましたか? +
テーブルトークのロールプレイングです。そこではゲームマスターがプレイヤーのものではないキャラクターすべてを運営します。ビデオゲームは、アバターとそれ以外を分ける同じ区別を必要としたため、早くからこの語句を採用し、エンジンの作業や設計資料の中にそのまま生き残りました。
敵もNPCですか? +
仕組みとしてははい。敵対するモブはノンプレイヤーキャラクターで、誰も操っていません。日常の言葉ではプレイヤーはたいてい二者を分け、話しかけるキャラクターにはNPC、戦うキャラクターには敵やモブを使います。だから同じ会話の中で二つの意味を持つように見えるのです。
プレイヤーとNPCの違いは何ですか? +
操作の出どころと、結果を誰が持つかです。プレイヤーキャラクターは入力を受け取り、カメラと失敗状態を担い、セーブファイルを書きます。NPCはスクリプト、ステートマシン、スケジュール、経路で動き、あなたについての記憶は、ゲームが保持しているから存在します。
NPCはすべてAIで動いていますか? +
いいえ。多くは純粋なスクリプトです。固定の巡回、トリガーの領域、定数で引かれる会話テーブル。ゲーム開発の意味でのAI、つまりビヘイビアツリー、ユーティリティの採点、ナビメッシュの経路探索を使うものも、学習を含まないルール体系です。ここでのAIという言葉は、一般的な用法より狭い意味です。
3Dゲームビルダーに戻る
完成した31の3Dワールド、ゲーム、シーンがすべて一つのページに — そのすべてが遊べます。