게임에서 NPC의 의미: 무엇의 약자이며 왜 중요한가
나만의 NPC 게임 만들기
게임에서 NPC는 무엇의 약자일까요, 그리고 이 용어는 어디서 왔을까요? 기원, 세 가지 표기 — NPC, NPC's, NPCs — 그리고 비플레이어 캐릭터가 여전히 제 역할을 하는 라이브 3D 세계를 살펴봅니다.
NPC는 '플레이어가 아닌 캐릭터'를 뜻하는 비플레이어 캐릭터의 약자로, 게임에서 플레이어가 조종하지 않는 모든 캐릭터를 가리킵니다. NPC 게임이라는 표현은 대화 세 줄짜리 상점 주인, 순찰 경로를 도는 경비병, 레벨을 따라오는 동료까지 폭넓게 아우르며, 동시에 하나의 분류명이자 행동 품질을 가리키는 줄임말로, 게임 밖에서는 모욕으로도 쓰입니다.
이 페이지에서는 이 용어가 어디서 왔는지, 사람들이 검색하는 세 가지 표기(NPC, NPCs, NPC's)가 무엇인지, 그 아래의 행동 방식이 완전히 바뀌는 동안 다섯 세대의 하드웨어를 거치며 의미가 어떻게 살아남았는지, 그리고 라이브 브라우저 장면에서 대본대로 움직이는 캐릭터 앞에 섰을 때 무엇을 살펴봐야 하는지 다룹니다.
빠른 답변: NPC는 비플레이어 캐릭터를 뜻합니다
NPC는 비플레이어 캐릭터의 줄임말로, 플레이어가 조종하지 않는 게임 속 모든 캐릭터를 의미합니다. 아군, 상인, 퀘스트 의뢰자, 배경 군중, 적대적인 몬스터까지 — 키보드 앞의 누구도 그들을 움직이지 않는다면 모두 이 범주에 들어갑니다.
이 약어는 대체하는 단어보다 네 글자 짧아서 대화 표, 엔진 클래스 이름, 설계 문서, 버그 티켓 어디에나 쓰입니다. 동시에 게임 밖에서는 모호합니다. 독자는 이를 소프트웨어 설명이 아니라 한 사람에 대한 평가로 받아들일 수 있습니다.
용어의 기원
이 용어는 비디오 게임보다 먼저 존재했습니다. 테이블톱 역할극에서 왔습니다. 한 참가자가 세계를 운영하며, 그 안에서 플레이어가 조종하지 않는 모든 캐릭터를 맡습니다. 시스템에 따라 게임 마스터, 던전 마스터, 심판이라 불리는 이 역할이야말로 최초의 비플레이어 캐릭터 엔진입니다. 상점 주인의 가격, 경비병의 순찰, 여관 주인의 소문을 한 머릿속에 담고 있다가 플레이어가 물으면 답합니다.
이 표현이 정확히 언제 처음 인쇄되었는지는 집어내기 어렵고, 눈앞에 해당 페이지가 없이 특정 책이나 연도를 단정하지 않겠습니다. 분명한 것은 종이와 연필 규칙서가 플레이어가 빙의하는 캐릭터와 심판이 대신 말하는 캐릭터를 구분할 단어를 필요로 했다는 점, 그리고 그 단어가 가정용 컴퓨터가 대화를 담을 만큼의 메모리를 갖기 전부터 이미 취미 문화에서 쓰이고 있었다는 점입니다.
비디오 게임은 캐릭터가 생기자마자 이 용어를 물려받았습니다. 초기 설계자들은 플레이어가 움직이는 대상과 규칙에 따라 움직이는 대상을 구분해야 했고, 이미 정확히 그 뜻이던 단어를 가져다 썼습니다. 이 단어는 엔진 용어가 아니라 설계 용어로 남았습니다. 언리얼에서 가장 가까운 대응은 폰과 캐릭터 클래스 계층이고, Unity에서는 컨트롤러 컴포넌트가 붙은 게임 오브젝트이며, 두 엔진 모두 문자 그대로 NPC라는 이름의 클래스를 제공하지 않습니다. 이 간극은 유용한 단서입니다. 누군가 NPC라고 말할 때는 보통 코드가 아니라 의도와 행동을 이야기하고 있기 때문입니다.
NPC, NPC's, NPCs: 어떤 표기가 맞을까
단수는 NPC입니다. 복수는 어포스트로피 없이 s만 붙인 NPCs이며, 대부분의 편집 스타일 가이드가 약어를 이렇게 다룹니다. 소유격은 NPC's입니다. 어포스트로피가 소유를 표시하는 본래 역할을 하기 때문입니다. 셋 모두 각자의 자리에서는 맞습니다. 혼란스러운 점은 그중 둘이 언뜻 보면 거의 똑같다는 것입니다.
검색 변형인 npc's는 보통 어포스트로피를 붙여 쓴 복수형입니다. 텔레비전이나 개인용 컴퓨터의 복수형에 어포스트로피를 붙이는 것과 같은 습관입니다. 때로는 명사가 생략된 진짜 소유격일 수도 있습니다. 'NPC의 대사'라는 뜻이 NPC's 하나로 줄어든 경우처럼요. 검색 색인이나 콘텐츠 필터를 만든다면 세 형태를 원문 문자열 그대로 매칭하지 마세요. 대소문자를 정규화하고 비교 전에 어포스트로피를 제거해야 합니다. 그렇지 않으면 NPC를 검색했을 때 NPCs와 npc's를 조용히 놓치게 됩니다.
| 형태 | 무엇인가 | 예문 |
|---|---|---|
| NPC | 단수. 캐릭터 하나. | 성문 앞 NPC는 퀘스트를 수락할 때까지 같은 대사를 반복한다. |
| NPCs | 복수. 둘 이상. | 시장의 NPC들은 하나의 공유 대기 일정으로 움직인다. |
| NPC's | 소유격. 한 NPC에게 속함. | NPC의 순찰 경로는 우물을 빙 돌아 다시 성문으로 이어진다. |
게임에 이 용어가 필요했던 이유
이 단어는 한 범주를 가리키는 줄임말이며, 그 범주는 결핍으로 정의됩니다. 플레이어의 주체성이 없다는 것입니다. 장면의 모든 것은 입력으로 움직이거나, 규칙으로 움직이거나, 아무 움직임이 없습니다. NPC는 가운데 경우를 가리킵니다. 이 말이 없으면 설계 문서는 '벽을 따라 걷지만 누구도 조종하지 않는 캐릭터'를 매번 써야 합니다. 계획하든 안 하든 줄어들 수밖에 없는 문장입니다.
경계는 양방향으로 조심해야 합니다. 적대적인 몬스터도 기술적으로는 비플레이어 캐릭터입니다. 아무도 조종하지 않으니까요. 그러나 플레이어들은 대화에서 'NPC'와 '적'을 습관적으로 나누며, 첫 단어는 말을 거는 캐릭터에 남겨 둡니다. 한편 물리 바디가 붙은 상자는 NPC가 아니고, 상호작용하면 대화 상자를 여는 상자는 NPC입니다. 상태와 응답이 있기 때문이며, 그 상태가 단일 불리언 값 하나여도 마찬가지입니다.
마지막 예가 유용한 판별법입니다. 플레이어가 보고 있지 않을 때 그 대상이 무엇을 하는지 물어보세요. 소품은 아무것도 하지 않습니다. NPC는 일정에 따라 계속 무언가를 하거나(순찰, 대기, 거래), 플레이어가 도착하면 바뀔 상태를 보관합니다. 둘 다 없다면 그것은 모델을 붙인 배경일 뿐입니다.
- 플레이어 캐릭터입력을 읽습니다. 카메라, 실패 상태, 저장 파일을 소유합니다. 장면의 다른 모든 오브젝트는 이 캐릭터를 기준으로 정의됩니다.
- NPC입력이 없습니다. 스크립트, 상태 기계, 일정, 경로로 움직입니다. 그래도 대사, 인벤토리, 목표, 지난번에 당신이 한 일의 기록을 가질 수 있습니다.
- 적적대 규칙이 붙은 NPC입니다. 일상 대화에서는 플레이어들이 두 단어를 구분하지만, 기계적으로 적대적인 몬스터는 비플레이어 캐릭터입니다. 키보드 앞에서 아무도 조종하지 않기 때문입니다.
- 소품결정 루프도, 저장할 가치가 있는 상태도 없습니다. 가로등, 울타리, 통. 상호작용 하나와 응답 하나를 더하면 대본이 있는 NPC의 경계를 넘습니다.
게임 시대에 따라 의미가 어떻게 바뀌었나
고정 스프라이트 대사. 아케이드와 8비트 게임에서 NPC는 보통 스프라이트 하나에 텍스트 문자열 하나가 붙은 존재였습니다. 표에 저장되고 스크립트 포인터가 끌어다 썼습니다. 영원히 반복했고, 당신에 대한 기억은 없었고, 그게 바로 지금도 이 단어가 뜻하는 바입니다. 바뀐 것은 정의가 아니라 캐릭터 뒤에 있는 기계의 크기였습니다.
대화 트리와 전역 플래그. 어드벤처 게임과 16비트 역할극 게임은 분기 대화를 추가했고, 그 때문에 NPC가 처음으로 상태를 보관해야 했습니다. 저장 파일의 플래그 — '경비병_만남'은 참, '성문_열쇠'는 거짓 — 덕분에 캐릭터는 두 번째 방문에서 다르게 행동할 수 있었습니다. 캐릭터가 똑똑해진 것은 아닙니다. 게임이 캐릭터를 대신해 체크리스트를 관리하기 시작한 것이며, 이후의 모든 개선은 더 큰 체크리스트일 뿐입니다.
대본이 있는 오픈 월드. 2000년대 중반부터 캐릭터에 일과 일정, 내비메시 경로 탐색, 낮과 밤 순환이 붙었습니다. 오블리비언의 레이디언트 AI는 야심과 실패 방식 모두의 대표적인 예입니다. 일정과 경로와 세계 지형이 어긋나면 NPC는 해가 진 뒤 잠긴 문으로 걸어 들어가 아침까지 그 자리에 서 있습니다. 그 시대의 버그 보고서는 거의 전부 설계자가 예상하지 못한 곳에 캐릭터가 있다는 내용입니다.
시스템 기반 캐릭터. 행동 트리와 효용 AI가 단일 스크립트를 매 틱마다 평가되는 점수 목록 — 먹기, 순찰, 대화, 도망 — 으로 대체했습니다. 실패는 한 단계 위로 올라갔습니다. 퀘스트에 중요한 캐릭터가 싸움에 휘말려 죽으면 퀘스트도 함께 사라집니다. 그래서 출시된 게임들은 시스템이 캐릭터를 살려 두리라 믿는 대신 그런 캐릭터를 보호됨 또는 필수로 표시합니다.
모델 계층. 최근 게임과 브라우저 도구는 같은 골격 위에 언어 모델 대사를 얹습니다. 우선 짖는 대사, 내비메시, 애니메이션 상태 기계, 상호작용 트리거가 있고 그 위에 생성된 텍스트가 올라갑니다. 세계 상태에 근거하지 않으면 텍스트 계층은 세계에 관한 사실을 지어내고 퀘스트 기록과 모순됩니다. 실제 세계 상태에 근거하면 캐릭터가 말하는 내용은 바꾸지만 할 수 있는 일은 바꾸지 않습니다. 8비트 텍스트 표와 같은 분업입니다.
NPC가 여전히 제 역할을 하는 세계를 플레이해 보세요
행동에 관해 읽는 것보다 직접 앞에 서 보는 편이 훨씬 유용합니다. 3D 게임 빌더를 열어 Mini World를 불러오면 작은 장면을, 키클롭스의 섬을 걸으면 캐릭터가 곳곳에 배치된 더 큰 공간을 볼 수 있습니다. 달리지 말고 걸으세요. 대부분의 캐릭터 버그는 걷는 속도에서만 보입니다. 모델이 발을 디디지 않고 지면을 미끄러지거나, 바라보는 대상과 경로가 어긋나 제자리에서 도는 모습을 볼 수 있습니다.
대본이 있는 캐릭터와 장식용 캐릭터를 가르는 네 가지 속성은 다음과 같습니다. 당신을 알아차리는가, 먼저 다가오는가, 기억하는가, 실패할 수 있는가. 다가가면 몸을 돌려 당신을 바라보는 경비병은 근접 트리거를 돌리고 있습니다. 먼저 말을 거는 상인은 상호작용 반경이 캐릭터의 충돌 범위보다 넓게 설정된 것입니다. 두 번째 방문에도 똑같은 첫 대사를 반복하는 캐릭터는 상태가 전혀 없습니다. 대화 표가 상수로 색인되었을 뿐입니다.
둘러보는 대신 직접 만든다면, 작성하는 설명이 곧 빌더가 따르는 사양입니다. '성문이 열릴 때까지 한 대사를 반복하는 성문 경비병'과 '3미터 거리로 당신을 따라오다가 당신이 멈추면 멈추는 상인'은 같은 모델을 쓰지만 서로 다른 두 시스템을 설명합니다. 두 번째는 따라갈 대상, 정지 거리, 그리고 경로가 울타리에 막혔을 때의 규칙이 필요합니다. 겉모습만이 아니라 행동을 설명하세요. 그렇지 않으면 잘 만든 모델에 할 일이 없는 캐릭터를 얻게 됩니다.
NPC 게임이 제대로 작동할 때의 모습
서로 다른 캐릭터가 서로 다른 주기로 서로 다른 일을 할 때 장면은 사람이 사는 곳처럼 읽힙니다. 세 캐릭터가 모두 같은 2초 루프로 대기하면 인구가 아니라 무늬처럼 보입니다. 20초 순찰을 도는 캐릭터 하나, 플레이어를 따라 돌아보는 캐릭터 하나, 말을 걸기 전까지 아무것도 하지 않는 캐릭터 하나가 있으면 눈이 알아챌 거리가 세 가지로 나뉩니다.
01
움직이기 전에 장면을 불러오고 10초 동안 가만히 서 보세요. 대기 중인 캐릭터가 자신의 루프를 드러냅니다. 누가 체중을 옮기고, 누가 같은 두 프레임 애니메이션을 반복하고, 누가 정말로 아무것도 하지 않는지 보입니다.
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 게임 빌더로 돌아가기
완성된 3D 세계, 게임, 장면 31개가 한 페이지에 모여 있으며 모두 플레이할 수 있습니다.