2017년 5월 30일 화요일

[Gamasutra] Design 101: Complexity vs Depth

by Dan Felder on 05/21/15 02:10:00 pm   Featured Blogs 


The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.


Welcome!


Design 101 강좌에 돌아온 것을 환영합니다. 만약 첫 째 강의를 아직 못보셨다면, 이 곳에서 확인하실 수 있습니다. 오늘 다룰 주제는 많은 논란이 발생하는 토픽들 중 하나인 '복잡도(Complexity)'에 관한 것 입니다. 우주가 탄생한 태초부터 게임 기획자들과 게이머들 커뮤니티 상에서 논쟁이 끊이지 않는 주제이기도 하죠.

복잡도를 제거할 경우 당신의 게임이 너무 단순해질까 우려되나요? 과연 복잡도란 녀석은 어떤 경우 게임에 긍정적으로 작용하고, 어떤 경우에는 부정적인 영향을 미치는 걸까요? 도대체 어떤 이유로 세상의 수많은 기획자들이 게임 내 복잡도를 제거하기 위해 애쓰는 반면 다수의 게이머들은 그 복잡도 때문에 해당 게임을 좋아한다고 주장하는 걸까요? 살펴볼 것들이 많으니 바로 시작하겠습니다.


대체 '복잡도(Complexity)'란 무엇인가?

언제나 그렇듯, 이 세상의 수많은 논쟁들은 오해로부터 비롯됩니다. 영어라는 언어의 한계 때문에 서로 다른 맥락의 것들을 '복잡도(Complexity)'라는 하나의 단어에 우겨넣고 사용하다 보니 필연적으로 발생하는 오해에서 기인한 논쟁이라는 것이지요. 그렇지만, 우리는 게임 기획자로서 '복잡도'라는 하나의 단어가 포함하고 있는 서로 다른 의미들을 다음과 같은 3가지로 구분하여 다룰 수 있어야 합니다.
  • Comprehension Complexity
  • Tracking Complexity
  • Depth
(역: 국어능력이 일천하여 적절한 한글 표현을 못찾아 그냥 영어표현 그대로 사용함)

왜 굳이 이렇게 3가지로 구분하는 걸까요? 그 이유는 각각의 발생 원인과 그로 인해 유발되는 플레이어 경험이 매우 다르기 때문입니다.


Comprehension Complexity ⇒ 부정적인 것

Comprehension Complexity는 플레이어 입장에서 기획자가 의도한 것을 이해하기가 얼마나 어려운가에 대한 문제 입니다. 예를 들어, 플레이 방법 그 자체, 캐릭터의 능력들, 미션 목표, 인터페이스 사용법, 곳곳에 등장하는 숫자들의 의미 등을 플레이어가 이해하고 학습하는 것이 얼마나 어려운가를 의미하는 것 입니다. 다음의 예를 하나 보시죠.




잠시 시간을 갖고 도대체 사장이 내민 서식이 뭘 적으라는 것인지 파악해 보시기 바랍니다. 다소 정신적인 노동을 필요로 하네요. 문장이 너무 난해하다 보니 아마도 여러분은 내용 파악을 위해 수차례에 걸쳐 문장을 이리저리 나누어 가며 반복해서 읽게 되었을 것입니다.


사람은 일반적으로 이러한 상황에서 상당한 정신적 에너지를 소비하게 되며, 결과적으로 머리속을 '멍~' 하게 만들어 버리죠. 이처럼 게임을 플레이하는 법을 파악하는 데에 정신적 에너지가 많이 사용되면 될수록 정작 해당 게임을 즐기는데 필요한 에너지는 부족하게 될 것이며, 더욱이 여러분의 게임이 많은 전략적 결정을 필요로 하는 종류의 게임이라면 이는 더욱 나쁜 영향을 미칠 수 있습니다.


물론 위의 만화는 극단적인 예에 해당합니다. 그렇지만, 시중의 수많은 게임들이 실제로 플레이어에게 저지르고 있는 오류들과 크게 다르지 않답니다. 지루한 강제 진행 튜토리얼, 비직관적인 게임 규칙, 이해하기 어려운 UI구성 등으로 가득찬 게임들을 시중에서 발견하는 것은 그리 어렵지 않거든요.

물론 일반적으로는 위 만화의 경우 만큼 심각하지는 않을 거예요. 그러나, 부정적인 경험이 상대적으로 적다고 해서 없는 것과 같을 수는 없답니다. 플레이어가 들고있는 물컵에 소금을 가득 채우는 대신 딱 한 스푼 정도만 넣었다고 해도 소금이 들어가는 순간 물맛이 엿같아 진다는 사실에는 변함이 없거든요.



Tracking Complexity ⇒ 이 역시 부정적인 것

Tracking Complexity란 사람이 한 번에 여러 가지를 머리에 담고 고려해야 할 때 발생하는 복잡함의 문제를 의미합니다. 간단한 실험을 하나 해보기로 하죠. 이제 제가 사람 이름 10개를 열거할테니 이후 글을 읽는 동안 계속해서 기억하도록 노력해 보세요.

자 시작합니다. "알렉스, 제이슨, 케이트, 마이클, 웬디, 샬롯, 웬, 스티브, 엘리자베스, 조던".
다 외웠나요?

위에 나열한 이름들을 모두 기억하려는 노력은 아마도 지금 여러분에게 정신적인 피로감을 유발하고 있을 것입니다. 그 만큼 제 글에 대한 집중력을 유지하는 것도 상당히 힘들게 되었을 것이구요.

지금 우리는 게임 기획에 관한 이야기를 해야 하는데, 제가 아무 의미없는 이름들을 외울 것을 주문하였기 때문에 독자로서 여러분의 경험이 손상되도록 만들었습니다.

이름들을 잘 외우고 있는지 확인하기 위해 반복해서 위 단락을 살펴보고 있나요? 만약 그랬다면, 그 때 마다 제 글에 대한 여러분들의 몰입(flow)은 깨어지고 있는 것이죠.

혹은 걍 신경쓰지 않고 나머지 글을 읽고있는 중인가요? 이는 여러분의 두뇌가 한번에 감당할 수 있는 수준의 부담을 넘어서도록 만든 것이기 때문에 저는 이 글의 저자로서 실패했다는 증거입니다. 엉뚱한 이름들을 외우기 위한 정신적 압박이 이 글에대한 여러분의 기대와 호기심을 사라지도록 만들고 있다고 느꼈기 때문에 외우는 것을 그만두기로 결정한 것이거든요. 

혹시, 진짜로 10명의 이름을 모두 외우기 위해 잠시 멈추고 시간을 투자하셨나요? 만약 그렇다면, 일반적으로 상당히 드문 경우에 해당 될텐데, 이 경우라면 제 글을 읽는데 필요한 몰입과 흐름이 끊긴 상황이 발생한 것입니다. 

이 모든 경우는 하나같이 제 글을 읽기 위해 방문해 주신 여러분들의 UX에 끼친 악영향들에 해당합니다.

오케이. 혹시라도 아직까지 10명의 이름을 외우려 애쓰는 분이 있다면 이제 그만 멈추셔도 좋아요. 만약 여러분이 특이하게도 암기력으로 승부 보는 게임을 즐기는 것이 아니라면, 아마도 정신적인 압박을 느끼셨을 테니까요. 일부러 의도한 것이 아닌 이상 플레이어로 하여금 한번에 여러가지를 동시에 고려하거나 암기해야 하도록 만들어 정신적 압박을 가하는 것은 게임에 그다지 도움이 되지 않을 것이란 점이 자명합니다.


특별한 경우가 아니라면, 우리는 플레이어가 여러가지를 한 번에 고려하도록 만드는 과정에서 발생할 수 있는 피로도를 가급적 없애고 싶어합니다. "이 영웅은 호수 옆에서 사용될 경우 +1의 체력을 추가로 얻습니다"와 같은 능력을 게임에 추가할 경우 그 자체만 보았을 때 꽤나 괜찮은 기획적 장치라고 볼 수 있습니다.

그러나, 그와 더불어 플레이어의 Tracking Complexity역시도 함께 증가한다는 사실을 항상 염두해야 합니다. 다시 말해, 각각의 게임 메카닉을 개별적으로 따졌을 때 요구되는 시스템적 복잡도 증가는 그 효과성과 비교하여 충분히 수용가능하다 여겨질 수 있습니다. 그러나, 그러한 개별 적인 예외 요소들이 하나의 게임이 되기 위해 모이고 모였을 때 플레이어가 한 번에 감당해야 할 Tracking Complexity는 생각보다 금방 두뇌의 한계를 벗어날 수 있다는 점 입니다.


Depth - 일반적으로 좋은 것

앞 선 내용에서 Comprehension Complexity는 그 게임의 플레이 방식을 이해하는 것이 얼마나 복잡한가를 의미하며, Tracking Complexity는 게임 중 벌어지고 있는 상황을 플레이어가 파악하고 유지하는 것이 얼마나 복잡한가를 의미한다고 설명 했습니다. 일단, 이들 2가지 복잡도의 관문을 플레이어가 무사히 통과했다면 이제 마지막으로 남은 한가지가 Depth 입니다. Depth란 그 게임에서 요구하는 모든 것을 익히고 이해한 상태라고 했을 때, 플레이어가 자신에게 주어진 선택들 중에서 최선의 것을 찾아내는 것이 얼마나 어려운가를 의미합니다.
(역: 한마디로 Easy to learn, Hard to master)

사실 Depth란 단어가 주로 거론되는 장르는 전략 게임류입니다. 그러나, 사실은 플레이어가 무엇을 해야할지 결정을 해야 하는 것이라면 어디에나 존재하는 개념입니다. RPG 에서 캐릭터 성장 빌드를 위한 선택에 적용될 수 있으며, FPS 에서 맵 컨트롤에도 있고, MMO의 레이드에도 있으며, MOBA 류의 아이템 빌드 선택에도 존재하는 등, 그 예는 일일이 열거하는 것이 어려울 정도죠.

그렇지만 이번 글에서 우리가 그 많은 게임들을 모두 다룰 수는 없으니 일단은 전략 게임류에서의 Depth에 집중하여 이야기 해 보겠습니다. 일반적으로 우리는 Flowers 나 Dance Dance Revolution과 같은 게임의 경우 장르 특성상 Depth라고 부를 요소를 그닥 필요로 하지 않는만큼 전반적인 게임 복잡도를 낮추는 것이 쉬웠을 것이란 점에 동의할 수 있을 것입니다. 반면, 전략 게임류들의 경우는 플레이어들의 선택과 결정을 얼마나 쫀득하게 만들 수 있느냐에 따라 그 게임의 성패가 갈린다라고 할 수 있습니다. 그렇다면, 전략 게임에서 복잡도를 제거하려는 시도는 현명하지 못한 것이 아닐까요?

자, 이제 앞에서 우리가 내렸던 정의가 그 능력을 발휘 할 순간이 되었네요.

일단 플레이어가 선택의 근거로 활용해야 할 모든 요소들을 파악하고 있고(Tracking Complexity 통과!), 그 재료들을 바탕으로 할 수 있는 것은 어떤 것들이 있는지 이해하고 있다면(Comprehension Complexity 통과!), 이제부터 플레이어는 주어진 상황과 더불어 각각의 선택지들을 평가하고, 해당 게임을 제대로 플레이할 수 있게 됩니다. 그리고, 이 시점에 도달했을 때 플레이어는 비로소 그 게임이 주려고 했던"재미"를 알게 되는 것이죠.

자 이 시점에서 우리의 오랜 논쟁이 등장하게 됩니다. 더 많은 복잡도가 필요하다는 사람들과 복잡도를 제거해야 한다는 사람들간의 그것 말이죠.

안타깝게도 많은 사람들은 서로 다른 3가지 측면을 단지 '복잡도 제거'라는 말로 뭉뚱그려 생각하곤 합니다. 그러나 사실 알고 보면 "복잡도 제거를 원치 않아" 라고 이야기 하는 사람들은 '복잡도'를 Depth의 의미로 사용했던 것이고, "복잡도를 제거해야 해"라고 말하는 사람들은 '복잡도'를 Comprehension 및 Tracking complexity의 의미로 사용했던 것이지요. 결국 '복잡도'와 관련한 대부분의 논쟁은 이러한 "오해"에서 비롯된 것이라고 할 수 있습니다.


이 문제를 우리는 어떻게 해결해야 할까요?

역주: 사족을 좀 달아 보자면 우리가 게임을 만들면서 이와 같은 일종의 '동상이몽'을 하는 경우가 단지 '복잡도'의 문제에만 해당되는 것은 아니라고 생각합니다. 일예로 우리가 가장 빈번히 사용하는 말 중에 '재미(fun)'가 대표적인 것이 될텐데요. 이 역시도 너무 다양한 맥락의 것들이 '재미'라고 하는 하나의 단어에 뭉뚱그려져 있다고 생각합니다. 

예를 들어, 철권의 재미, 리니지 레볼루션의 재미, 클래쉬 로열의 재미, Last of Us의 재미, 도박의 재미, 영화관람의 재미, 운동의 재미, 스포츠 관람의 재미 등... 이들 모두가 과연 하나의 '재미'라는 단어로 사용되어도 무관할 만큼 '동일한' 것이라고 볼 수 있을까요? 

우리가 게임을 만드는 과정에서 구성원 간에 경험하게 되는 많은 갈등도 사실은 이와 같은 오해로부터 비롯될 수 있다고 생각합니다. 각자 생각하는 '재미'의 색깔이 서로 다를 수 있으나 구체화 시키려는 노력이 부족하다 보니("재미는 그렇게 말로 정의할 수 있는 게 아냐"와 같은...) 그 사실을 서로가 인지하지 못하고 있는 것일 수 있다는 것이지요. 

결과적으로 기획자 A는 "이야 이거 어때? 정말 재미있겠다!" 라고 하는 반면 팀원 B는 "그게 뭐야. 핵노잼!" 하는 경우가 발생할 수 있다는 것이며 이러한 일이 반복될수록 점점 팀원간 갈등은 커지게 되겠지요. (어찌보면 "팀원간 호흡이 잘 맞는다"는 말은 곧 추상적이기는 하지만 각자 생각하는 재미의 코드가 우연히, 또는 다행스럽게도 상당히 유사했다 라고 생각할 수도 있을 듯 합니다)

따라서, 막연히 '"재미있는 게임'을 만들자"라고만 할 것이 아니라 우리 팀이 만들려는 '재미'는 과연 '재미'라는 단어가 품고 있는 넓은 스펙트럼 중에 어떤 것에 해당하며, 그러한 유형의 '재미'는 과연 어떤 mechanism을 통해 발현되는 것일까?를 고민해 보는 것도 구성원간의 align 및 원하는 결과물을 얻기위한 첫 단추로 꽤나 유의미 하지 않을까 생각해 봅니다.



요점

Comprehension Complexity와 Tracking Complexity는 거의 대부분의 경우 게임에 악영향을 끼칩니다. 이들 2가지 복잡도는 부정적인 플레이 경험을 만들어 내기 때문에 정작 해당 게임의 진짜 재미에 접근하기도 전에 게임을 접도록 만들 수도 있거든요. 그러나 안타깝게도 그러한 요소를 완벽하게 제거하는 것은 사실상 불가능 합니다. 체스 역시도 나름의 플레이 규칙이 있으며(Comprehension Complexity), 플레이 도중 각각의 체스 말들은 보드 상에서 서로 다른 위험과 기회를 지니게 되죠(Tracking Complexity). 결과적으로 게임을 만들기 위해 이와 같은 부정적인 측면의 복잡도가 일정수준 게임에 포함되는 것은 불가피 합니다.

개념상 '복잡도'라는 것은 게임을 만드는 데 있어서 일종의 '한정된 자원'이라고 생각할 수 있습니다. 결국 우리는 그 제한된 자원을 최대한 아껴서 사용해야 하며, 동일한 효과를 얻을 수만 있다면 가급적 비용 효율적인 방법을 찾아야만 하는 것이죠. 결국 이상적인 게임 기획이란 Comprehension Complexity와 Tracking Complexity를 극복하기 위해 유저가 들여야 하는 비용을 최대한 아끼면서도 해당 게임이 지향하는 design goal을 만족시키는 것이라 할 수 있을 것입니다.



헷깔릴 경우는 어찌해야 할까?

이러한 고민은 저에게 한가지 유용한 판단 기준을 고안하도록 만들었는데요. 지난 회차 강의에서 명확하게 정의된 design goal이 있다면 어떤 것이 만들려는 게임에 더 합당한 기획적 선택인지 결정할 때 큰 도움을 줄 수 있다고 이야기 했었습니다. 그러나, 경우에 따라서는 비록 design goal이 명확하다 하더라도 어떤 것이 더 적절한 기획적 선택이 될 지 결정하기가 애매한 상황이 발생할 수 있습니다. 제 경우 이런 모호한 상황이 발생하는 경우를 해결하기 위해 다음에 소개해 드릴 tie-breaker들을 사용합니다.


  • 첫 째, 스스로에게 이렇게 질문해 보세요. "가능한 선택들 중 어떤 것이 Comprehension Complexity와 Tracking Complexity를 더 적게 유발하는가?" 현재 여러분은 어떤 선택이 결과적으로 게임에 더 도움이 되는 것인지 확신하지 못하고 있는 상황입니다. 그렇다면, 가급적 그들 중에서 나쁜 부작용을 일으킬 가능성이 적은 쪽을 선택하는 것이 현명합니다.
  • 둘 째, 현재 고민중인 복수의 기획적 선택들이 모두 유사한 수준으로 복잡도를 증가시킬 것으로 예상된다면, 이렇게 질문해 보세요. "어떤 것이 더 개발비용이 적게 드는가?" 나머지 모든 조건이 동일하다면, 더 적은 개발비용이 예상되는 것을 선택하는 것이 현명합니다. 이렇게 절약한 시간과 노력을 게임의 다른 부분을 향상시키는 데 사용할 수 있을테니까요.


때로는 여러분이 게임에 뭔가를 추가하려 할 때, 그 것이 유발할 Comprehension, Tracking Complexity를 정당화할 수 있을 것인지에 대해 확신을 갖지 못하는 경우도 발생할 수 있습니다. 이러한 상황이 발생한다면 언제나 게임의 복잡도를 증가시키지 않는 쪽을 선택하도록 하세요.

제가 이런 조언을 하는 데에는 다음과 같은 몇 가지 이유가 있습니다.

  • 추가하려는 그 무언가가 진짜로 게임에 재미를 증가시킬 것인지에 대한 예측은 일반적으로 틀리기 쉬운 반면, 낮은 복잡도를 유지하는 것은 언제나 진리라는 점을 여러분도 이미 잘 알고있기 때문입니다.
  • 여러분이 원한다면 언제라도 게임의 복잡도는 손쉽게 증가시킬 수 있는 반면, 일단 추가된 복잡도를 차후에 제거하려 할 때는 그보다 몇십배는 어려운 문제가 되기 때문입니다.
  • 여러분의 design goal을 만족하는지 확인하려 할 때 게임이 덜 복잡해지는 쪽부터 선택하는 편이 훨씬 쉬운 방법 입니다. 왜냐하면, 일단 개발 및 테스트 과정에서 여러분이 복잡한 버전의 게임에 익숙해지고 나면, 덜 복잡한 버전을 상상하는 것은 매우매우 곤란하기 때문입니다.
  • 여러분은 여러분의 게임이 꽤 괜찮다는 것을 알고 있는 상황을 가정해 보겠습니다. 만약, 여러분이 판단하기에 그 게임이 갖고있는 복잡도의 수준이 적절하다고 판단한다면, 거의 확실하게 실제 플레이어 입장에서는 훨~~씬 더 복잡하게 느껴지는 수준일 것이라는 점을 명심하세요. Tappers and Listeners 실험 결과에서도 볼 수 있듯, 여러분이 일단 익숙해지고 나면 타인의 관점에서 객관적으로 해당 게임의 복잡도를 평가하는 것은 사실상 불가능한 일이 되거든요.
  • 아마도 여러분은 뭔가를 일단 게임에 추가하고 나면, (문제가 있건 없건) 그냥 두는 쪽으로 심리적 편향이 발생하게 될 것입니다. 굳이 힘들게 만들어 넣은 걸 왜 빼냐? 라는 것이죠. 인간이란 동물은 본능적으로 손실을 회피(Loss Aversion)하도록 행동하기 때문입니다. 만약, 여러분이 뭔가를 게임에 추가한 상태인데, 그 것이 복잡도를 감수할 정도로 가치가 있는 것인지에 대해 모두가 반론의 여지없이 100% 확신하지 못한다면, 절대로 그럴만한 가치가 없는 것이 어쩌다 보니 게임에 추가된 상태라고 생각하면 틀림이 없을 것입니다.

어쩌면 여러분은 다소간의 복잡도를 추가하지 않는다면, 당신의 design goal을 충분히 만족할 만큼의 depth 제공하지 못한다고 대단히 진지하게 고민하는 경우가 발생할 수도 있습니다. 그러한 우려 자체는 잘못된 것이 아닙니다. 그러나, 제 경우는 이러한 상황을 맞을 때마다 결과적으로는 보다 덜 복잡한 게임이 되는 방향을 선택하게 되었습니다. 왜냐하면, 언제나 해당 게임은 그 게임이 요구하는 depth보다 훨씬 더한 복잡도를 이미 지니고 있었기 때문이죠.



마무으~리

만약 여러분의 게임이 갖고 있는 재미를 달콤한 사탕이라고 생각하고, Comprehension Complexity와 Tracking Complexity는 그 사탕을 감싸고 있는 포장지라고 생각해 보세요. 포장지가 없다면 그 사탕의 위생 상태는 메롱이 되겠죠. 그러나, 그 포장지는 가능한 얇고, 제거하기 간편하게 만들어야 할 거예요. 그래야만 사람들이 포장지 안에 있는 사탕의 달콤함을 맛보는데 어려움이 없을테니까요. 만약 여러분의 게임이 마치 전자제품의 포장처럼 맨손으로 벗겨내기 어려운 튼튼한 플라스틱 케이스 안에 들어있는 경우를 상상해 보세요. 으~~~


"플라스틱 포장을 벗기다 손을 다치기 싫다면 캔 오프너를 이용하도록 하세요"

절대로 위 짤과 같은 짓을 여러분의 게임에 저지르지 않도록 하세요. 여러분의 게임이 주려는 재미를 플레이어들이 알기도 전에 굳이 많은 고난을 겪으며 지치게 만들 필요는 없으니까요.

여러분은 그 보다 훨씬 잘 하실 수 있답니다.
다음 강좌에서 또 만날게요.


역: 2017/5/31 Iron Smith


Design 101: Archives

댓글 없음:

댓글 쓰기