전투라는 메커닉은 항상 필요한가?
멀티플레이 온라인 게임을 만들기 시작할 때 코어메커닉을 너무 당연히 전투라고 불렀습니다. 한동안은 이래도 괜찮았지만 이제는 아닐 수 있습니다.
여느 평범한 MMO 게임을 처음 만들기 시작하는 과정을 상상해 봅시다. 아직 이 MMO 게임이 다른 게임과 어떤 차별점을 가지게 될 지 잘 모르겠지만 일단 MMO 장르라면 항상 필요한 기능들이 있어 게임의 특징을 아직 잘 모르는 상황이라도 개발을 진행할 수 있습니다.
먼저 여러 플레이어가 같은 레벨에서 서로 가까이 위치하며 플레이 하더라도 이 상황을 받쳐 줄 수 있는 동기화 기반이 필요합니다. 콘솔 기반의 싱글플레이 게임에 비해 MMO 게임은 멀티플레이 환경에서 동기화 되는 요소가 훨씬 적은데 한번에 조금이라도 더 많은 플레이어를 동기화 하기 위한 고육지책에 가깝습니다. 한동안 한 레벨에 더 많은 플레이어들이 동시에 플레이 하는 상황을 잘 동기화 해 내는 기술적 기반을 잘 만드는 것이 MMO 장르의 핵심 기술적 목표였던 적이 있는데 현대에도 여전히 중요하기는 하지만 이전 만큼은 아닌 것 같습니다.
기초적인 동기화 기반이 갖춰지면 아마도 테스트 레벨에 플레이어들이 이동할 수 있고 이 상태가 모두의 화면에 동일하게 보이는 상태가 되었을텐데 이제 플레이어들 사이의 상호작용을 만들 차례입니다. 여기서 상황에 따라 이어서 개발할 대상이 달라질 수 있습니다. 일단 몬스터를 만든 다음 플레이어와 몬스터 사이의 상호작용을 개발하는 경우도 있고 몬스터를 만들기 전에 우선 플레이어들 사이의 상호작용을 먼저 개발하는 경우도 있습니다. 순서에 차이는 있지만 어쨌든 플레이어와 플레이어, 또는 플레이어와 몬스터의 상호작용은 MMO 장르를 개발하는 프로젝트에서 흔히 ‘전투’라고 부릅니다. 상호작용이 꼭 중세 판타지 기반에서 검과 활을 들고 서로 싸우는 모양이 아니더라도 서로 총을 쏘거나 창을 던지거나 서로 주먹질을 하는 등의 여러 가지 상호작용을 통틀어 전투라고 부르며 이는 개발팀에 가장 중요한 개발 목표 중 하나입니다.
여러 프로젝트의 구인공고를 살펴보면 게임의 수많은 부분 중에서 유독 전투 부분을 한정해 이를 만들 사람을 구인 하곤 하는데 흔히들 그냥 전투라고 부르지만 사실 이는 MMO 장르의 코어 메커닉이라고 볼 수 있습니다. 즉 게임 전체의 핵심 경험입니다. 프로젝트에서 전투가 끼치는 역할은 게임 전체를 뒤바꿀 정도이고 프로젝트의 고위 의사결정자들은 하루에도 몇 번씩 ‘전투가 잘 만들어져야 해’라든지 ‘전투가 가장 중요해’ 같은 말을 반복하곤 합니다. 그만큼 MMO 게임에서 전투는 게임 세계와 상호작용하는 가장 핵심적인 부분을 담당하는 여러 시스템을 통틀어 부르는 말로 그에 걸맞는 위상을 차지하고 있습니다.
전투가 어떻게 만들어지는지에 따라 이를 둘러싼 게임 전체가 바뀌며 또 이에 따라 성장, 경쟁 등의 나머지 시스템이 전투에 맞는 모양이 되어야만 합니다. 전투가 전통의 롤플레잉 스타일의 대미지 깎는 모양이라면 성장, 경쟁이 이에 맞춰 바뀌어야 하고 또 플레이어들 사이의 상호작용 역시 이에 맞춘 규칙이 필요합니다. 반대로 전투가 고객의 민첩과 판단에 의존하는 모양이라면 이번에도 성장, 경쟁은 완전히 다른 모양이 될 가능성이 높고 또 플레이어들 사이의 상호작용에 의한 게임 모드 역시 크게 달라집니다.
MMO 만드는 이야기로 돌아가 상호작용 하는 대상들이 누구이든 간에 이들의 상호작용은 기본적으로 평화로운 행동으로 시작하지는 않습니다. 일단 상호작용을 근거리와 원거리로 구분하고 상호작용을 시작하는데 필요한 조건, 상호작용이 일어나는 과정, 그리고 상호작용이 일어난 결과를 각기 입력하고 연결할 수 있는 체계를 개발합니다. 가령 체력 물약을 사용하는 과정을 이 규칙에 따라 나누면 상호작용을 하는 대상은 나와 나 자신이고 상호작용을 시작하는데 필요한 조건은 인벤토리에 포션이 있어야 하며 상호작용이 일어나는 과정은 인벤토리나 이에 준하는 인터페이스를 통해 포션을 사용하는 것이고 상호작용이 일어난 결과는 포션을 사용한 자기 자신의 체력이 정해진 수치만큼 오르는 것입니다. 상호작용이라고 뭉뚱그려 표현했지만 플레이어 사이에 일어나는 평화롭지 않은 상호작용이란 다시 전투를 의미합니다.
한 플레이어가 다른 플레이어를 공격하면 이는 곧 공격 스킬을 사용하는 것과 같은 의미입니다. 현재 장착한 무기 종류에 따라 사용하는 스킬이 달라지며 무기와 스킬의 종류에 따라 대상이 일정 거리 안에 있어야 하고 상호작용이 일어난 결과는 대미지 공식에 따라 상대가 대미지를 입는 것입니다. 프로젝트에 따라 이를 평타와 스킬로 구분하기도 하지만 결국 이러한 상호작용 일체를 스킬이라는 같은 개념으로 통합해 두고 그 스킬의 프로퍼티 중 하나가 이 스킬을 평타 취급 할 것인지 설정하는 식으로 만들어 두면 미래에 확장이 훨씬 편해집니다.
이렇게 초반에 플레이어 사이에 일어나는 평화적이지 않은 상호작용 혹은 전투를 스킬 시스템 기반으로 설계해 두면 이 시스템을 확장해 가며 이와 똑같은 규칙으로 게임 내 여러 요소들의 상호작용을 개발할 수 있습니다. 이미 위에서 플레이어 사이에 공격을 주고 받는 과정과 포션을 사용하는 과정이 서로 똑같은 모양으로 표현될 수 있음을 설명했습니다. 같은 방식으로 게임에 등장하는 온갖 대상과 상호작용을 같은 모양으로 표현할 수 있는데 이런 상호작용을 스킬이라는 규격화된 모양으로 표현하기 시작하면 멀티플레이 환경에서 이를 동기화하는 기술적인 기반을 상대적으로 쉽게 공유할 수 있습니다.
게임 상에서 문에 가까이 다가간 다음 문을 클릭해 상호작용 하면 문이 열리는 상황을 생각해 봅시다. 문은 자신에게 가까이 다가온 플레이어에게 일시적으로 사용할 수 있는 ‘문열기’라는 스킬을 부여합니다. 플레이어가 문에 다가가면 ‘문열기’ 버튼이 나타나는데 이 버튼을 클릭하면 ‘문열기’ 스킬을 사용합니다. 문열기 스킬이 사용되면 이 스킬에 설정된 대상인 문에 스킬이 사용되고 이 스킬에 맞은 문은 스킬이 사용된 결과로 자신의 상태를 ‘열림’으로 전환한 다음 모든 상호작용을 중단합니다.
게임에 따라 문처럼 꼭 전투에 의해 상호작용 할 필요가 없는 대상을 별도의 개체로 만들어 전투 시스템이 아닌 별도의 시스템을 사용하도록 만들기도 하고 이런 요구사항에 맞춰 시스템을 설계한 적도 몇 번 있지만 지금 와서 생각해보면 이렇게 전투 대상과 전투 대상이 아닌 상호작용 대상을 구분하기 시작하면서 스킬 시스템에 기반해 게임 경험을 설계할 때 난이도가 더 높아졌던 것 같습니다. 몬스터도 적대 플레이어도 문도 모두 전투에서 사용하는 동일한 스킬 시스템을 사용하면 구조를 훨씬 더 단순하게 만들 수 있고 눈앞에 있는 바리케이트에 스킬을 사용해 이를 정리할 것인지 아니면 공격해 파괴할 것인지 결정하기도 훨씬 수월해집니다.
악마 투석기는 무슨 기능으로 만들어야 하나요?에서 비슷한 사례를 설명했는데 이 때는 전투를 통해 상호작용하는 몬스터와 이와 별도 상호작용을 통해 파괴해야 하는 악마 투석기를 별도 시스템으로 만든 사례를 소개했는데 이들 모두를 같은 전투 시스템을 통해 만들 수도 있습니다. 이 악마 투석기 사례처럼 전투 가능한 대상과 상호작용만 가능한 대상을 구분할 때 종종 일어나는 파괴할 대상과 상호작용 할 대상을 구분할 때 체력이 있지만 초반에는 부서지지 말아야 하는 문을 만들어야 한다면 발더스게이트의 문 사례처럼 ‘견고함’ 같은 속성을 부여해 전체 체력에 해당하는 대미지를 한 번에 전달해야만 파괴되도록 하는 식으로 같은 전투 시스템을 통하면서도 좀 더 상세한 요구사항을 충족할 수 있습니다.
여기까지 핵심은 여느 멀티플레이 온라인 게임을 개발할 때 초반부터 흔히 전투라고 부르는 시스템 또는 코어 메커닉을 나머지 부분과 별도로 개발하는데 많은 시간과 노력을 들이며 어지간한 게임에서 이런 코어 메커닉이 없는 경우는 극히 드물고 다시 말하면 어느 팀이든 전투를 만드는데 큰 비용을 들이며 항상 전투를 만드는 사람들이 중요하게 여겨지고 전투의 변화에 따라 게임 전체가 변한다는 것입니다. 그런데 흔히 코어 메커닉을 전투라고 부르는 것은 어떻게 보면 개발할 게임의 정체성을 이미 결정한 것과 다름 없습니다. 게임에 등장하는 여러 요소들 사이의 상호작용 방법을 정의하는 과정을 굳이 ‘전투’라고 부르며 특정 행동을 상상하도록 할 필요가 항상 있지는 않습니다. 그런데 이를 ‘전투’라고 부르는 순간 이 게임에서 게임에 등장하는 여러 요소가 상호작용 하는 방식을 사람들이 어느 한 쪽으로 상상하게 합니다. 이미 전투라는 말을 듣는 순간 이 게임은 게임에 등장하는 여러 요소가 ‘전투’를 통해 상호작용하는 게임임을 짐작할 수 있게 만들고 이는 별로 틀리지 않습니다. 그렇다면 온라인 멀티플레이 게임에서 게임에 등장하는 여러 요소들 사이에 할 수 있는 상호작용이 전투 뿐인 것일까요?
당연히 그렇지 않습니다. 가령 레이싱 게임은 자동차들이 서로 상호작용 하지만 이를 전투라고 부르지 않습니다. 낚시 게임의 코어 메커닉은 낚시 하는 과정이지만 이 역시 전투라고 부르지 않습니다. 코어 메커닉을 게임 상의 일정한 동작으로 특정하기 어려운 장르들도 이 상호작용을 전투라고 부르지 않는데 가령 저 유명한 동물의 숲 시리즈는 게임 상의 온갖 대상과 상호작용 할 수 있지만 이들 중 딱히 전투라고 부를만한 요소는 없습니다. 여러 퍼즐 장르 역시 요소들 사이에 상호작용이 일어나지만 이를 전투라고 부르기 어렵고 또 상대를 피하기만 해야 하는 호러 장르 역시 상호작용이 일어나지만 이를 전투라고 부르지 않습니다. 흔히 게임을 만들며 요소들 사이의 적대적인 상호작용을 전투라고 부르고 이를 코어 메커닉으로 정의해 게임을 개발하곤 하지만 실은 전투 자체를 코어 메커닉으로 정의할 수 있는 이유는 이미 게임 형태와 장르가 어느 정도 구성원들 사이에 짐작 가능한 모양으로 합의 되었기 때문입니다. 그래서 처음 만든 적대적 상호작용의 기반인 스킬 시스템에 기반해 게임 전체의 상호작용을 만들게 됩니다.
한동안 업계에서 주로 개발하는 핵심 메커닉이 곧 전투이고 전투가 곧 게임 전체의 상호작용 기반인 장르를 주로 만들다 보니 문득 이런 당연한 사실을 잊고 지냈을 뿐 아니라 게임을 만들자고 하면 일단 게임을 전투와 비전투로 구분한 다음 이에 맞춰 인력을 분배하고 조직을 구분할 생각을 너무 쉽게 해 왔습니다. 그런데 지난 권고사직 이후 구직 활동을 하면서 이런 너무 쉬운 생각에 염증을 느끼고 이를 비틀거나 완전히 다른 관점으로 접근하려는 시도를 하고 있는 조직이 곳곳에 있다는 사실을 알게 되었습니다.
어떤 조직은 멀티플레이 온라인 게임이기는 하지만 전투라고 부를 만한 핵심 메커닉이 없는 대신 게임 상에 등장하는 여러 요소들 사이에 다양한 상호작용이 자발적으로 일어나는 일종의 시뮬레이션을 개발하고 있었는데 이 게임의 어디에도 검과 활로 상대에게 대미지를 주는 전통의 핵심 메커닉은 없었습니다. 물론 여전히 이런 기반에서도 요소들 사이에 일어나는 상호작용을 전투 모양으로 만들지 말라는 법은 없지만 처음부터 구성요소 사이에 적대적 상호작용을 코어 메커닉으로 삼아 개발하지 않았습니다. 또 다른 조직은 본격적으로 고객이 게임의 여러 구성요소를 원하는 모양으로 재배치해 이들 사이에 일어나는 작용을 의도에 맞춰 바꿀 수 있도록 하고 있었는데 재배치 수준이 대단히 높고 또 재배치된 구성요소들 사이에 자발적으로 일어나는 동작에 따른 결과를 예측하는 재미가 있는 특별한 모양이었습니다. 당연히 여기에도 플레이어들 사이에 적대적 상호작용을 기반으로 했을 것 같은 흔적은 없어 보입니다.
서로 다른 조직에서 각기 모습은 상당히 다르지만 근본적으로 비슷한 시도를 하고 있다는 점이 흥미로웠는데 이는 그 동안 가져 왔던 멀티플레이 온라인 게임 하면 일단 전투부터 만들고 보자는 생각과 개발의 전개 과정에 염증을 느껴왔기 때문입니다. 앞에서 설명한 대로 일단 전투 하면 구성요소들 사이에 일어나는 적대적 상호작용을 쉽게 생각하기 마련이고 게임의 나머지 부분 역시 이를 쉽게 가정하게 됩니다. 물론 개발팀 전체가 비슷한 결과를 예상해 그들의 생각과 업무 결과를 정렬하기 편하다는 점에서 장점이 있지만 스스로 게임의 한계를 규정하고 그 안에서 너무 자주 만난 나머지 고객들마저 염증을 내는 모양의 게임을 쉽게 떠올릴 수 있는 개념과 용어와 이를 지탱하는 기반 시스템을 너무 당연하게 생각하고 있지 않은가 하는 생각이 들었습니다. 코어 메커닉을 함부로 전투라고 부르는 순간 이 게임은 코어 메커닉을 플레이 하는 게임이 아니라 말 그대로 전투하는 게임이 되기 쉽습니다.
자. 그러면 제목의 질문으로 돌아가 봅시다. 전투라는 메커닉은 항상 필요한가? 만약 전투가 코어 메커닉을 갈음한 말이라면 항상 필요합니다. 다만 코어 메커닉이 특정 행동일 수 있지만 그렇지 않을 수 있음을 염두하고 이를 헛갈리지 않도록 주의해야 합니다. 게임에 따라 특정 메커닉을 반복하는 대신 게임 상의 여러 가지 요소와 상호작용 하는 여러 가지 방법의 총합이 게임 경험인 경우가 여럿 있으며 이런 게임을 만든다면 함부로 코어 메커닉을 규정해서는 안되며 이를 함부로 예상해 전투라고 불러서는 더더욱 안됩니다. 전투라는 메커닉은 항상 필요한가? 한편으로는 이 말을 사용한 질문 자체가 잘못되었을 수도 있습니다. 게임마다 다른 코어 메커닉이 있으며 함부로 이를 전투로 불러 게임을 전투가 당연한 게임으로 만드는 실수를 할 필요가 없습니다.