본문 바로가기
게임

피어(F.E.A.R.) : 목표 지향적 행동 계획(GOAP) 인공지능과 전술적 설계의 융합

by Eistory 2026. 6. 17.

 

모노리스 프로덕션(Monolith Productions)이 자체 개발한 주피터 EX(Jupiter EX) 엔진을 기반으로 선보인 《피어 (F.E.A.R.)》는, 호러 1인칭 슈팅(FPS)이라는 외피 속에 비디오 게임 인공지능(AI) 역사상 거대한 패러다임 전환을 숨겨둔 타이틀입니다. 이 게임에서 마주하는 복제 병사(Replica Soldier)들은 단순히 플레이어를 향해 무지성으로 돌진하거나 정해진 자리에 서서 총만 쏘는 과녁판이 아닙니다. 이들은 은엄폐를 시도하고, 우회 경로를 탐색하며, 교전 상황에 맞춰 서로 소통하는 등 고도로 훈련된 전술 부대의 모습을 보여줍니다.

 

이 압도적인 교전 경험의 백엔드(Back-end)에는 기획자가 미리 짜둔 고정 스크립트 대신, 적들이 스스로 목표를 설정하고 행동을 계획하는 목표 지향적 행동 계획(Goal-Oriented Action Planning, GOAP) 알고리즘이 쉴 새 없이 맞물려 돌아가고 있습니다. 이번 포스팅에서는 백엔드의 복잡한 기술이 기획적 설계와 어떻게 융합되며, 최종적으로 플레이어에게 예측 불가능한 전투의 재미를 선사하는지 다각적인 관점에서 심층 분석해 보겠습니다.

1. 하드코딩을 탈피한 상태 공간 탐색 인공지능

과거의 액션 게임들은 적의 행동 패턴을 제어하기 위해 조건문(If-Then)으로 점철된 거대한 로직을 작성했습니다. 하지만 플레이어의 위치와 무기, 지형지물의 파괴 등 수많은 변수가 실시간으로 교차하는 3D 환경에서 이러한 1차원적인 접근 방식은 금세 한계를 드러내기 마련입니다. 프로그래머들은 이 근본적인 병목을 돌파하기 위해, 캐릭터의 목표와 행동을 분리하는 구조적 혁신을 단행했습니다.

 

이 혁신의 중심에는 게임 속 환경 변수를 하나의 거대한 수학적 트리로 간주하고 최적의 해답을 찾아내는 상태 공간 탐색(State Space Search) 아키텍처가 자리 잡고 있습니다. 인공지능이 더 이상 기계적인 반응 기계가 아니라, 주어진 상황을 분석하여 논리적인 결괏값을 도출하는 사유의 주체로 격상된 코어 로직을 살펴봅니다.

유한 상태 기계(FSM)의 한계 돌파

기존 비디오 게임 AI의 표준이었던 유한 상태 기계(Finite State Machine, FSM)는 '순찰', '경계', '공격'이라는 명확한 상태(State)를 오가며 작동합니다. 하지만 이 방식은 기획자가 모든 상황에 대한 전환 조건을 일일이 하드코딩(Hard-coding)해야 하므로, 개발 규모가 커질수록 유지 보수가 불가능한 스파게티 코드(Spaghetti Code)를 양산하는 치명적인 단점이 있었습니다.

 

피어의 소프트웨어 엔지니어들은 이 낡은 구조를 과감히 폐기하고, 오직 최상위 목표(예: 플레이어 무력화)만을 AI에게 부여했습니다. 그리고 목표를 달성하기 위해 필요한 행동(이동, 장전, 발사, 엄폐)들을 모듈화하여 데이터베이스에 저장함으로써, AI가 현재 상황에 가장 적합한 행동 모듈들을 스스로 조립하는 유기적인 연산 환경을 구축해 냈습니다.

목표 지향적 행동 계획(GOAP)의 연산 로직

이러한 모듈식 행동의 조립을 가능하게 하는 기술적 핵심이 바로 GOAP 알고리즘입니다. 적 NPC는 '무기를 발사한다'는 목표를 위해 먼저 '총알이 있는가?'라는 조건을 검사하고, 총알이 없다면 '장전한다'는 행동을 계획에 추가합니다. 만약 장전 중 플레이어의 공격에 노출될 위험이 있다면, 다시 '엄폐물을 찾는다'는 행동을 우선순위로 계산하여 행동의 사슬(Chain of Actions)을 동적으로 생성해 냅니다.

 

이 과정은 길 찾기 시스템에서 주로 사용되는 *A 알고리즘(A-Star Algorithm)의 논리를 확장한 것으로, 행동의 소요 시간과 위험도를 코스트(Cost)로 환산하여 최단 경로의 행동 트리를 밀리초(ms) 단위로 탐색합니다. 기획자가 일일이 지시하지 않아도 적들이 스스로 우회로를 찾고 진형을 유지하는 이 정교한 백엔드 연산은, 플레이어에게 실존하는 특수부대와 싸우는 듯한 경이로운 전투의 재미를 선사하는 뼈대가 되었습니다.

2. 레벨 디자인과 전술적 상호작용의 융합

하지만 아무리 뛰어난 뇌를 가진 인공지능이라도, 주변 환경을 인지할 수 있는 정보가 없다면 무용지물에 불과합니다. 데이터 분석가와 레벨 디자이너들은 GOAP 알고리즘이 100%의 성능을 발휘할 수 있도록, 게임 속 맵 전체를 수많은 데이터가 교차하는 보이지 않는 정보의 바다로 재설계해야 했습니다.

 

플레이어의 눈에는 평범한 사무실 책상이나 유리창으로 보이는 객체들이, 백엔드에서는 적 AI에게 은엄폐의 각도와 사격 가능 여부를 알려주는 정교한 데이터 노드(Node)로 작동합니다. 기술적 연산이 공간적 설계와 만나 어떻게 역동적인 전투 환경을 조성하는지 분석해 봅니다.

스마트 오브젝트와 메타데이터 설계

시스템 기획자는 맵의 모든 지형지물에 AI가 읽어 들일 수 있는 메타데이터(Metadata)를 부여했습니다. 책상을 발로 차서 넘어뜨리면 엄폐물이 된다는 정보, 창문을 깨고 뛰어넘을 수 있다는 공간 논리를 이른바 스마트 오브젝트(Smart Object) 형태로 맵 곳곳에 심어둔 것입니다.

 

AI는 교전이 발생하면 실시간으로 주변의 노드 데이터를 크롤링(Crawling)하여 자신의 위치를 방어하거나 적의 측면을 타격할 수 있는 최적의 동선을 설계합니다. 이러한 촘촘한 레벨 디자인 덕분에, 적들은 막다른 길에 몰리면 책상을 뒤집어 방어벽을 만들고 플레이어가 정문에서 농성하면 환풍구를 타고 뒤로 돌아가는 등 소름 돋는 창발적 전술을 화면에 자연스럽게 구현해 낼 수 있었습니다.

시청각 피드백이 조성하는 압박감의 미학

고도로 연산된 인공지능의 움직임을 게이머 집단이 직관적으로 인지하도록 만드는 것은 오디오 디렉터와 내러티브 디자이너의 몫이었습니다. 개발진은 적들이 상태 공간을 탐색하며 새로운 결정을 내릴 때마다, 무전기를 통해 상황을 공유하는 조건부 음성 대사를 촘촘하게 배치했습니다.

 

"수류탄 투척!", "우회한다!", "지원 사격 요청!"과 같은 육성이 실제 AI의 행동 논리와 한 치의 오차 없이 동기화되어 출력됩니다. 이 정교한 청각적 피드백은 그래픽 디자이너가 구현한 파괴 그래픽과 맞물려, 플레이어의 뇌리에 고도의 지능을 가진 압도적 집단이라는 이미지를 강력하게 각인시킵니다. 시스템이 계산한 논리를 소리로 표현하여 플레이어의 심장 박동을 높이는 이 융합 설계야말로 몰입의 재미를 극한으로 끌어올리는 숨은 공신입니다.

3. 자율적 연산이 파생한 양면적 특징

목표 지향적 행동 계획과 치밀한 레벨 디자인의 결합은 1인칭 슈팅 장르의 전투 경험을 비약적으로 발전시켰으나, 이 극단적인 자율형 시스템은 필연적으로 뚜렷한 양면적 특징을 낳았습니다. 통제되지 않은 변수(Random Variable)가 만들어내는 창발적 액션의 재미와, 그것을 뒷받침하기 위해 희생된 거대한 기술적 부하가 바로 그것입니다.

 

기획자의 고정된 스크립트를 벗어나 스스로 연산하는 이 고차원적 아키텍처가 어떠한 시스템적 한계를 지니고 있으며, 그럼에도 불구하고 어떻게 수렵의 카타르시스를 증폭시키는 훌륭한 장치로 작용했는지 객관적인 관점에서 역분석합니다.

연산 부하와 레벨 디자인의 종속성

가장 뚜렷한 시스템적 한계는 인공지능이 주변의 모든 변수를 계산하려다 보니 발생하는 중앙 처리 장치(CPU)의 심각한 연산 부하입니다. 특히 복잡하게 얽힌 지형에서 여러 명의 적이 동시에 행동 트리를 계산할 때 발생하는 트래픽 병목 현상을 방어하기 위해, 프로그래머들은 한 공간에서 연산할 수 있는 개체 수를 엄격하게 통제해야만 했습니다.

 

또한, 맵에 배치된 보이지 않는 데이터 노드에 전적으로 의존하는 구조 탓에 레벨 디자이너의 막대한 수작업(Hard-work) 노동이 동반됩니다. 노드가 누락되거나 오류가 발생하면 그 구역의 적들은 마치 길을 잃은 듯 멍청하게 서 있는 논리적 구멍이 발생하며, 이는 모든 맵을 픽셀 단위로 철저히 검증해야 하는 뼈아픈 개발 부채로 작용했습니다.

불확실성이 제공하는 전투의 카타르시스

하지만 이러한 막대한 기술적 비용과 부하에도 불구하고, 시스템 설계가 만들어내는 전술적 불확실성은 그 어떤 단점도 덮어버릴 만큼 압도적인 아드레날린을 선사합니다. 기획자조차 완벽히 통제할 수 없는 이 자율적인 연산 체계는 매 판마다 완전히 다른 궤적의 교전 양상을 만들어내며 획일화된 패턴 암기식 공략을 거부합니다.

 

플레이어가 무지성으로 돌진하다가 측면을 잡혀 쓰러지더라도, 게이머 집단은 이를 불합리한 게임의 오류로 받아들이지 않고 오히려 적의 뛰어난 전술적 지능에 감탄하게 됩니다. 패배의 순간조차 스스로의 전술적 패착으로 납득하게 만드는 이 합리적인 아키텍처는, 즉시 다음 무기를 재장전하고 재도전하게 만드는 강력한 동기 부여 요소로 작동하며 타이틀의 장기적인 리텐션(Retention)을 굳건하게 견인했습니다.

4. 에필로그: 전술적 인공지능이 남긴 시스템적 발자취

피어의 렌더링 화면 뒤편에서 쉼 없이 행동 트리를 조립하고 해체하는 백엔드 연산 구조는 단순히 총을 쏘기 위한 코드를 넘어선 집요한 소프트웨어 공학의 성취입니다. 기계적인 스크립트에서 벗어나 적들에게 스스로 생각할 수 있는 목표와 행동 모듈을 부여한 GOAP 알고리즘은 비디오 게임 인공지능이 나아가야 할 새로운 설계적 방향성을 제시했습니다.

 

연산의 과부하를 억제하기 위해 개체 수를 조절해야 했고, 레벨 디자이너의 고단한 데이터 노드 배치가 필수적이라는 구조적 맹점을 안고 있었지만, 기술과 설계가 유기적으로 융합하여 플레이어에게 살아 숨 쉬는 전술적 재미를 증명했다는 점에서 매우 의미 있는 시도였습니다. 플레이어의 허를 찌르는 이 매력적인 아키텍처는 훗날 스마트 인공지능 환경을 구축하려는 수많은 차세대 타이틀에 흥미로운 시스템적 영향을 남겼습니다.