본문 바로가기
Develop Story/Game Designer

게임 캐릭터 기획에 대하여

by 늘상의 하루 2022. 2. 17.

게임 캐릭터는 크게 두 가지로 그룹을 나눌 수 있습니다.

유저가 직접 컨트롤하는 Playerble Charter. PC와 그 외 모든 캐릭터 Non Playerble Charter. NPC입니다.

 

PC든 NPC든 장르에 따라 기획이 조금씩 달라질 수 있지만 상태(State)를 지니고 조건에 따라 실행한다는 점에서는 크게 다를 바가 없다고 생각합니다.

-예전에 작성한 FSM 구조에 관한 글을 보면 더 좋습니다.-

 

그렇다면 상태는 무엇인가?

 

대기(Stand), 걷기(Move), 공격(Attack), 스킬(Skill) 등 캐릭터가 취할 수 있는 행동을 상태(State)라고 말합니다.

 

그러면 조건은 무엇인가?

 

플레이어블 캐릭터라면 유저가 입력하는 컨트롤러에 따라 캐릭터 상태가 바뀔 겁니다. 단순한 퀵슬롯 입력을 넘어 격투 게임처럼 커맨드에 따라 발동한다는 조건이 붙을 수도 있습니다.

 

AI가 들어가는 논 플레이어블 캐릭터라면 지정 시간, 랜덤, 타겟 인식, 피격 조건에 따라 상태가 바뀔 겁니다. 복잡한 AI를 지닌 심즈의 경우 파라미터에 따라 AI가 행동 우선순위를 판단하도록 구성되어 있습니다.

-심즈의 파라미터는 당장 눈에 보이는 배고픔, 지루함부터 캐릭터 간 호감도가 존재하고 보유하고 있는 트레잇에 따라 AI가 판단하는 세부적인 우선순위가 달라집니다.-

 

이러한 것들을 조건(Trigger/Event)이라 부릅니다. 그럼 기획 우선순위가 명확해집니다.

 

PC 인지, 아니면 NPC 인지 정하고 컨셉을 짜고 상태 기획을 해 봅시다. 전투 혹은 스킬 기획이라고 부르고 몬스터를 전문적으로 담당한다면 몬스터 기획이라고 부르기도 합니다.

 

이해하기 쉽도록 상태가 단순한 몬스터 하나를 역기획해 보겠습니다.

-RPG에 등장하는 캐릭터들은 굉장히 많은 스킬들이 있고 당연하게도 각 스킬들은 모두 하나의 상태입니다. 여기서 풀기는 어렵기에 단순한 몹을 가져왔습니다.-

 

최근에 헌트 쇼다운을 플레이했으니 여기에 나오는 최약체, 좀비 그런트(Grunt)를 해체해 보겠습니다.


그런트는 헌쇼에서 잡졸중의 잡졸이라 매우 단순한 기믹을 가지고 있습니다.

 

허나 헌트 쇼다운의 게임 특성상 상황에 따라 유저가 느끼는 위기감이 기하급수적으로 변화하는 잘 만들어진 기본 몬스터라 할 수 있습니다.

 

먼저 게임에 대해 가볍게 설명하겠습니다.

헌쇼는 한 게임당 1~3인으로 구성된 여러 팀의 유저들과 함께 하나의 맵에 진입합니다. 아군을 제외한 다른 유저들은 모두 적이고 필드 보스를 잡고 탈출해야 한다는 공통된 목표가 있습니다.

-타르코프와 비슷합니다.-

 

18~19세기 무기를 사용하며 모든 무기가 단발식으로 구성되어 있습니다. 시원하게 난사하는 액션이 아닌, 신중한 한 발이 중요한 전투로 흘러가며 피격시 순식간에 쓰러질 정도로 강력한 무기 대미지를 지니고 있습니다.

 

유저를 죽이면 무기를 빼앗거나 아이템을 파밍할 수 있고, 죽은 유저는 장비와 캐릭터를 모두 잃습니다. 그 때문에 헌쇼는 다른 유저로부터 자신을 숨기는 은엄폐가 굉장히 중요합니다.

 

필드에는 구획별로 다양한 몬스터가 배치되어 있습니다.

 

평소의 그런트는 한두방에 쓰러지는 귀찮은 잡몹에 불과합니다. 하지만 다른 유저와 전투 중인 상태에서 만나는 그런트는 위치를 알려주는 함정처럼 작동합니다.

 

타겟팅된 유저를 추격하고 소리를 지릅니다. 유저를 놓치더라도 주변에서 방황합니다. 그런트를 죽이면 총소리 혹은 유저의 기합 소리, 시체 쓰러지는 소리가 들립니다.

 

그렇기에 PVP 도중 여러 마리의 그런트를 만나게 된다면 유저는 자신이 전투에서 불리해졌다는 사실에 평정을 잃을 수 있고 자칫하면 몹에게 죽을 수도 있습니다.

 

그런트를 한 줄로 요약하면 이렇습니다.

 

평소에는 약하고 귀찮지만 다른 유저와 싸울 때는 끔찍한 몹.

 

 


다음으로 그런트의 기능 이야기를 해 보겠습니다.

 

자기 위치에 대기하다가 플레이어가 접근하면 쫓아와 공격합니다. 가만히 서 있기만 한다면 꽤 볼품없기 때문에 이러한 NPC들은 몰입을 위해 특별한 행동을 합니다.

 

이건 대기 상태와 다릅니다. 유저를 한 번도 포착하지 않았기에 쉽게 슬립 상태라고 부르겠습니다.

-덧붙여 상태와 리소스들은 모두 통일성 있는 고유의 ID가 필요합니다. 보통 이름만 봐도 어디에 사용되는지 알 수 있도록 작성됩니다.-

 

슬립 상태일 때는 시체를 파먹고 있거나 느릿하게 좁은 영역을 배회합니다. 시체처럼 누워서 자고 있는 경우도 있습니다. 이때 유저가 근처를 지나가고 어그로가 끌리면 놈들은 슬립 상태에서 벗어나 유저를 찾기 위해 예민하게 배회합니다.

-조건이 갖춰지면서 상태가 바뀝니다. 여기서 유저를 추적하고 놓치는 순간 몹은 자신의 위치로 복귀하고 슬립이 아닌 대기 상태로 돌아가게 됩니다. 이를 통해 다른 유저들은 그런트의 행동을 보고 유저가 지나갔는지 아닌지를 확인할 수 있습니다.-

 

공격은 단순합니다. 다가와서 때립니다. 날붙이를 들고 있으면 출혈을 일으키고, 횃불을 들고 있으면 화상 피해를, 의사 그런트는 독 피해를 가합니다.

-게임 플레이에 변수를 만들어주기 때문에 바리에이션은 몹과 레벨디자인 기획에서 중요한 요소중 하나입니다.-

 

그런트는 시야각과 소리로 플레이어를 인식합니다. 추격할 때는 벽을 넘거나 점프할 수 없습니다. 뛰어내리는 것도 불가능합니다. 플레이어가 자기 영역을 벗어나면 추격을 중지하고 되돌아갑니다. 

 

해당 속성은 헌트의 모든 몹들이 공유하고 있습니다. 특히 담넘기와 점프, 뛰어내리기는 AI의 네비게이션 시스템과 관련이 있기 때문에 기획 의도에 따라 모두가 같은 속성을 공유하거나 미리 예외를 정해두는게 좋습니다.

-네비게이션 AI는 상태를 기획하는 것과는 다른 이야기라서 중간에 추가하거나 변경하기는 어렵습니다. 이렇게 바꾸기 어려운 시스템은 초기에 분명하게 정하고 약속합니다. 보통 정책이라 합니다.-


그런트의 상태를 간단하게 표현하면 이렇습니다. 피격을 모두 화살표로 연결해주면 복잡해지니 생략하겠습니다...

 

각 상태를 정리하면 위와 같은 표가 나올 수 있습니다.

 

슬립 상태에서 유저를 포착하면 대기 상태, 추적으로 넘어갑니다. 범위 내 접근시 공격하고 유저가 영역을 벗어나면 자신의 위치로 복귀합니다. 체력이 모두 소진되면 사망 상태로 넘어가고 시체를 남깁니다.

 

이제 이걸 문서에 디테일하게 서술하면 됩니다.

 

여기서 프레임 단위로 게임을 인식하는 사고가 필요합니다.

 

1 프레임, 1 프레임 하나의 장면마다 동작을 유심히 보시면 그때그때 발생하는 히트 박스, 이펙트, 사운드와 기믹을 살펴보실 수 있습니다. 조화를 이루기 위해 보통 애니메이션 프레임을 기준으로 타이밍에 맞춰 각 요소들이 발동합니다.

 

프레임은 각 프로젝트마다 기준이 다릅니다.

 

철권과 같이 찰나의 순간이 중요한 게임의 경우 60 이상의 프레임을 기준으로 잡을 수 있고, 모바일 게임의 경우에는 최적화와 공수를 고려하여 30 정도의 프레임을 기준으로 잡을 수 있습니다.

-이렇게 정책이 수립되면 애니메이터는 프레임을 통일하여 그거에 맞춰 모든 리소스를 작업할겁니다.-

 

제작에 필요한 내용들을 간단히 정리하면 아래와 같습니다.


개요
상태
애니메이션
이펙트
사운드

첫 장에서는 그런트가 게임에서 어떤 목적으로 기획되었으며 어떻게 행동을 하는지 서술해줍니다. 그런트의 이력서를 본다고 생각하시면 편합니다.

-협업하는 작업자 분들이 자신이 뭘 만들어야 하는지 알아야 하니까요. 뭘 만들고 싶은지 잘 정리해봅시다. -

 

의사 그런트는 좀비로 변하기 전까지 필라델피아에서 생활하던 평범한 의사였습니다. 그는 공격시 오염된 톱을 휘둘러 피해를 입히고 적을 중독 상태로 만듭니다. 사망시 유저가 사용할 수 있는 의약품을 그 자리에 드랍합니다.

이 외에도 데이터 작업에 사용될 유닛의 고유 ID, 클래스와 이동 타입, 공격 타입, 체력, 이동속도, 공격력 같은 것들이 추가될 수 있습니다.

 

다음에는 각 상태별로 필요한 리소스를 요청하기 위해 세부 내용을 작성하게 될 겁니다. 쉽게 공격 상태를 설명해 보겠습니다. 상기 이미지는 독 피해를 주는 의사 그런트입니다.

 

[ 개요 ]
적을 한번 공격하여 피해를 입히고 중독시킵니다.

공격 상태에서 어떤 행동을 하는지 설명합니다. 해당 상태가 유지되는 시간과 어느 타이밍에 기믹(공격)을 발동할 것인지 명시해 줄 수도 있습니다.

 

해당 상태가 유지되는 시간은 애니메이션이 재생되는 시간으로 볼 수 있습니다. 재생 시간이 길수록 공격 딜레이도 길어질 것이고 짧을수록 공격 속도가 빨라질 수 있습니다. 물론 하나의 동작에서 여러 번 때린다면 이야기가 달라집니다.

 

하지만 중독 상태에 대한 자세한 설명은 없습니다.

 

중독은 상태이상과 관련된 별도의 시스템에 들어가는 기능으로 분리할 수 있기 때문입니다.

 

[ 애니메이션 ]
60/30 프레임 동안 지친 모습으로 한 손을 사용해 녹슨 톱을 휘둘러 한번 공격합니다.

[ 이펙트 ]
톱을 휘두를 때 톱에서 끈적한 녹색 독액이 흩뿌려집니다.

사진이든 영상이든 레퍼런스를 첨부할 수 있다면 더 좋습니다. 이펙트도 이와 같습니다만 애석하게도 헌트는 게임 특성상 몹들의 이펙트가 많은 편이 아닙니다.

 

여기에 이팩트를 추가하고 프레임을 명시하면 더욱 정확한 정보 전달이 가능해집니다. 임시로 무기를 휘두를 때 톱에서 독액이 떨어진다고 해 보았습니다.

 

[ 사운드 ]
그런트가 공격시 좀비처럼 높고 날카로운 비명을 지릅니다.

사운드의 경우 상태 목록을 정리하여 그에 필요한 리스트를 만들어 전달합니다.

 

일반적으로 대본 녹음이 필요한 경우가 많기 때문에 이점을 고려하여 작업되어야 합니다.

 

그런트 자체가 기믹이 단순하기 때문에 많은 내용이 들어가지 않았지만, 위의 설명을 보고 작업자들은 각자 서로 다른 그런트를 떠올릴 수 있습니다.

 

그렇기에 분명한 설명과 적절한 레퍼런스가 필요하며, 작업자간의 의견 교환이 원활하게 진행되어야 합니다. 그렇게 진행하다 보면 생각한 것보다 더 멋진 결과물이 나올 수 있습니다.


주의할 점은 '어떻게?'라는 질문이 나오지 않는 문서가 되어야 한다는 점입니다.

 

어떻게 지친 모습이지? 관련 레퍼런스를 첨부하면 됩니다. 술 취한 취객도 좋고, 탈진한 선수도 좋습니다. 아니면 타 게임이나 컨텐츠에서 나오는 진짜 좀비 동작을 첨부할 수도 있습니다.

 

한번 공격한다는 설명에서 '한번'이 빠져 봅시다. '적을 공격합니다.' 몇 번 공격할까요? 1번? 2번? 3번? 공격 횟수는 동작을 작업하는 과정에서도 중요하기 때문에 질문이 돌아올겁니다.

 

톱을 휘두를 때 끈적한 독액은 어떤 모습일까요? 이펙트의 경우에는 비슷한 게임을 레퍼런스로 가져오는게 제일 좋습니다. 레퍼런스를 원활하게 수집하기 위해서는 역시 다양한 게임들을 경험해 볼 필요가 있습니다.

-저 역시도 꾸준하게 이것저것 여러 게임들을 하고 있습니다.-

 

간단하게 헌쇼의 그런트를 살펴봤지만 전체적인 틀을 보면 플레이어 유닛이든 보스 몬스터든 크게 다르지 않다고 생각합니다.

 

1년차가 되면서 배운 것들을 복기하듯이 서술해 보았는데 이제 1년 뒤에 다시 보면 어떤 느낌이 들지 궁금하네요. 다음에 시간이 나면 조금 더 복잡한 롤 캐릭터를 살펴보겠습니다.