Scriptly.

게임 속 AI 캐릭터 원리: NPC는 어떻게 움직일까

Aug 05, 2026

적에게 들키자 곧장 엄폐물 뒤로 숨는 병사, 말을 걸 때마다 표정이 바뀌는 마을 상인. 이런 게임 속 AI 캐릭터 원리를 한 꺼풀 벗겨 보면, 사실 대부분은 '생각'하는 게 아니라 아주 잘 짜인 규칙을 따르고 있습니다. 이 글에서는 게임 AI 캐릭터가 실제로 어떻게 판단하고 움직이는지, 전통적인 방식부터 요즘 화제인 생성형 NPC까지 단계별로 풀어 드립니다.

결론부터 말하면 게임 인공지능은 사람처럼 자유롭게 사고하지 않습니다. 대신 '상황 → 조건 → 행동'이라는 뼈대 위에서 돌아갑니다. 이 뼈대만 이해하면 어떤 게임을 하든 NPC의 행동이 훨씬 또렷하게 보입니다.

게임 NPC AI 작동 원리의 큰 그림

NPC(Non-Player Character), 즉 플레이어가 조종하지 않는 캐릭터는 매 순간 세 가지를 반복합니다. 주변을 인식하고, 규칙에 따라 판단하고, 그 결과를 행동으로 옮기는 것이죠.

예를 들어 순찰 중인 경비병을 떠올려 보세요. '시야 안에 플레이어가 있는가?'를 인식하고, '있다면 추격, 없다면 순찰 계속'을 판단한 뒤, 실제로 이동하거나 공격합니다. 이 감지-판단-행동 루프가 매 프레임 돌아가면서 캐릭터가 '살아 있는' 것처럼 보이게 만듭니다.

중요한 점은 이 판단 규칙을 어떤 구조로 짜느냐에 따라 AI의 똑똑함과 자연스러움이 갈린다는 것입니다. 아래에서 그 대표적인 구조들을 하나씩 살펴봅니다.

유한 상태 기계(FSM): 가장 기본이 되는 뼈대

가장 오래되고 널리 쓰이는 방식이 유한 상태 기계(Finite State Machine)입니다. 캐릭터가 가질 수 있는 '상태'를 몇 개로 정해 두고, 특정 조건이 충족되면 다른 상태로 넘어가는 방식입니다.

대표적인 상태 묶음은 이렇습니다.

  • 대기: 제자리에서 기다림
  • 순찰: 정해진 경로를 이동
  • 추격: 플레이어를 발견해 쫓아감
  • 공격: 사거리 안에 들면 공격
  • 도주: 체력이 낮으면 후퇴

각 상태 사이에는 '전환 조건'이 있습니다. 순찰 중 플레이어를 보면 추격으로, 체력이 20% 이하로 떨어지면 도주로 넘어가는 식이죠. 구조가 단순해 만들기 쉽고 디버깅도 편하지만, 상태와 조건이 많아지면 연결선이 스파게티처럼 엉키는 단점이 있습니다. 그래서 규모가 커지면 다음에 소개할 행동 트리로 넘어가는 경우가 많습니다. FSM에 대한 더 자세한 설명은 위키백과의 유한 상태 기계 문서에서 확인할 수 있습니다.

행동 트리(Behavior Tree): 복잡한 AI를 정리하는 법

행동 트리는 캐릭터의 행동을 나무 구조로 정리한 방식입니다. 뿌리에서 시작해 가지를 타고 내려가며 '지금 할 수 있는 행동'을 위에서부터 순서대로 검사합니다.

각 노드는 조건(예: '적이 근처에 있는가?')이거나 행동(예: '공격하라')입니다. 위쪽 가지가 실패하면 아래 가지로 넘어가는 우선순위 구조라, '체력 회복 → 공격 → 순찰'처럼 자연스러운 판단 흐름을 만들 수 있습니다.

행동 트리가 인기 있는 이유는 재사용성과 확장성입니다. '엄폐물로 이동'이라는 가지 하나를 만들어 두면 병사, 궁수, 보스 등 여러 캐릭터에 그대로 붙여 쓸 수 있죠. 오늘날 많은 상용 게임 엔진이 행동 트리를 기본으로 지원하는 이유입니다.

길 찾기와 목표 지향 계획(GOAP)

캐릭터가 아무리 똑똑하게 판단해도 벽을 뚫고 걸어가면 몰입이 깨집니다. 그래서 필요한 것이 길 찾기(pathfinding)입니다. 대표적으로 A* 알고리즘이 맵을 격자나 그래프로 나눠 가장 짧고 자연스러운 경로를 계산합니다. 우리가 무심코 지나친 '적이 문을 돌아 다가오는' 장면 뒤에는 이 계산이 있습니다.

한 단계 더 나아간 방식이 GOAP(Goal-Oriented Action Planning, 목표 지향 행동 계획)입니다. 개발자가 모든 행동을 미리 짜는 대신, '플레이어 제거' 같은 목표만 주면 AI가 '무기 줍기 → 엄폐물 이동 → 조준 → 사격'처럼 필요한 행동을 스스로 조합합니다. 덕분에 상황마다 다른 접근을 보여 주며 훨씬 예측하기 어려운 적이 됩니다.

생성형 AI가 바꾸는 게임 속 인공지능 캐릭터

지금까지 소개한 방식들은 '정해진 규칙 안에서의 똑똑함'입니다. 대사도 대부분 미리 작성된 대화 트리에서 골라 나오죠. 최근 화제가 되는 것은 여기에 거대 언어 모델(LLM)을 얹은 생성형 NPC입니다.

이런 캐릭터는 정해진 대사를 고르는 대신, 플레이어가 자유롭게 던진 말에 그때그때 새로운 문장으로 답합니다. 여기에 지속적인 기억이 붙으면 이전 대화나 플레이어의 선택을 기억하고, 환경 인식이 붙으면 게임 세계의 변화와 평판에 반응합니다. 엔비디아의 ACE처럼 대화·음성·표정 애니메이션을 묶은 솔루션도 등장했는데, 관련 개념은 엔비디아 ACE 소개 페이지에서 볼 수 있습니다.

다만 이 방식도 한계는 분명합니다. 응답이 느리거나 엉뚱할 수 있고, 세계관에서 벗어난 말을 하기도 합니다. 그래서 실무에서는 생성형 AI를 FSM·행동 트리 같은 전통 구조와 결합해, 자유로운 대화는 LLM에게 맡기되 실제 행동은 규칙으로 통제하는 방식이 일반적입니다.

AI 캐릭터를 직접 만들어 보고 싶다면

원리를 읽는 것과 직접 만들어 보는 것은 이해의 깊이가 다릅니다. 게임 프로그래밍이 부담스럽다면, 영상 창작 쪽에서 먼저 '일관된 AI 캐릭터'를 다뤄 보는 것도 좋은 출발점입니다.

사진으로 AI 캐릭터 만들기 가이드로 얼굴과 설정이 유지되는 캐릭터를 설계하고, AI 캐릭터 챗봇 만드는 법에서 페르소나 설계를, AI 캐릭터 일관성 유지하는 법에서 장면이 바뀌어도 캐릭터가 흔들리지 않게 하는 요령을 익힐 수 있습니다.

Scriptly는 채팅만으로 캐릭터를 디자인하고, 장면별 스토리보드를 짜고, 목소리와 자막까지 붙은 짧은 영화를 만들 수 있는 AI 비디오 스튜디오입니다. 게임 속 캐릭터에 영감을 받은 나만의 이야기를 영상으로 옮겨 보고 싶다면 지금 Scriptly에서 시작해 보세요. 더 많은 창작 가이드는 블로그에서 확인할 수 있습니다.

FAQ

게임 속 AI 캐릭터는 정말 스스로 생각하나요?

대부분은 아닙니다. 유한 상태 기계나 행동 트리 같은 정해진 규칙 구조 안에서 '상황에 맞는 행동'을 고르는 방식입니다. 최근 생성형 AI가 얹힌 NPC는 대화를 즉석에서 만들어 내지만, 이 역시 진짜 사고가 아니라 언어 모델의 예측 결과입니다.

FSM과 행동 트리는 무엇이 다른가요?

FSM은 몇 개의 상태와 전환 조건으로 이뤄져 단순한 AI에 적합합니다. 행동 트리는 행동을 나무 구조로 정리해 우선순위대로 검사하므로, 복잡한 캐릭터를 만들고 재사용하기에 더 유리합니다.

게임 NPC가 벽을 피해 걷는 원리는 무엇인가요?

A* 같은 길 찾기 알고리즘이 맵을 격자나 그래프로 나눈 뒤, 장애물을 피하는 가장 짧은 경로를 계산합니다. NPC는 그 경로를 따라 이동하기 때문에 자연스럽게 벽을 돌아갑니다.

생성형 AI NPC는 기존 NPC를 완전히 대체하나요?

당장은 아닙니다. 생성형 AI는 자유로운 대화에 강하지만 응답이 느리거나 세계관을 벗어날 수 있어, 실제 행동은 여전히 전통적인 규칙 구조로 통제하는 결합 방식이 일반적입니다.

AI 캐릭터 게임 활용에는 어떤 예가 있나요?

적의 전투 전략, 마을 주민의 일상 행동, 동료의 상황 판단, 그리고 플레이어와 자유롭게 대화하는 생성형 NPC까지 다양합니다. 최근에는 기억과 감정을 가진 캐릭터로 몰입감을 높이는 시도가 늘고 있습니다.

코딩을 몰라도 AI 캐릭터를 만들 수 있나요?

네. 프롬프트만으로 성격을 부여하는 도구가 늘고 있으며, 영상 창작 쪽에서는 Scriptly처럼 채팅만으로 일관된 AI 캐릭터를 설계하고 영상까지 만드는 서비스도 있습니다.

당신의 영화를 만들 준비가 되셨나요?

사진 몇 장은 일관된 캐릭터로, 채팅은 완성된 단편 영화로 — 스토리보드, 내레이션, 음악까지.

첫 영화 만들기 — 무료