본문 바로가기

게임 기획/게임 기획자와 시스템 기획(심재근)

[4. 인지요소 명세 - 1] 인지 요소 열거

들어가며

 지금부터 시스템의 인지요소를
명세하는 것에 대해 알아본다.

 인지요소는 규칙을 제외한
나머지 시스템의 구성 요소들,

 즉 부품들을 말한다.

 '캐릭터'와 '아이템'처럼 구체적인
것들부터,

 '지능'과 '장비 강화' 같은 추상적인
것까지 모두 포함한다.

 인지요소 명세는 시스템에 어떤
인지요소가 있는지 정리하고

 각 인지요소에 대해 상세한
명세를 하는 것으로 진행된다.

 

인지요소 열거

 인지요소의 열거는 시스템 명세
준비 작업을 했음을 전제한다.

 시스템의 기능들이 어느 정도
정리되어 있으면

 인지요소를 찾아내기가
수월하기 때문이다.

 시스템에 필요한 기능들을 보고
하향식으로 분석해

 시스템에 필요한 부품들을
찾아낸다.

 시스템에 필요한 '기능' 그
자체를 찾고,

 기능을 사용해 만들어낼
'내용'을 찾으면,

 많은 인지요소들을 쉽게
찾아낼 수 있다.

 즉 시스템의 '필요 기능'과
'필요 내용'을 찾아내면

 많은 인지요소들을 쉽게
정리할 수 있다.

 간단한 예시로 MMORPG의
스킬 시스템에서

 스킬의 판정, 효과, 지속시간
등은 필요 기능이고,

 필요 기능을 사용해 만들어낼
스킬인

 공격 스킬, 회복 스킬, 버프 스킬
등은 필요 내용이다.


 인지요소의 열거 과정에 대해
좀 더 자세히 살펴보기 위해

 MMORPG 또는 AOS장르의
'대미지 텍스트' 시스템을
예시로 살펴보겠다.

 대미지 텍스트 시스템의 필요
기능은

 대미지 텍스트의 출력에
사용되는 기능들,

 즉 어떻게 출력할 것인지에
대한 것들이다.

 시스템 명세 준비 작업을
하면서

 시스템의 기능들을 잘
정리했다면,

 필요 기능을 정리하는 것은
크게 어렵지 않다.

 필요 내용은 이 시스템을 활용해
하고 싶은 일이라고 보면 되며,

 대미지 텍스트 시스템의 필요
내용은 출력되는 텍스트의 종류다.

 이를 정리하면 다음 표와 같다.

그림 13 - 시스템 인지요소 정리1

 표와 같이 정리하면 인지요소들의
열거가 대강 끝났다고 볼 수 있다.

 하지만 이는 인지요소들을
단순히 나열한 것이기에

 체계적인 시스템 개발을 위해
인지요소들을

 구조화할 필요가 있다.

 인지요소들 간에는 수평적
관계가 있을 수도 있고

 수직적 관계가 있을 수도
있는데,

 단순히 열거하면 이런 관계를
제대로 고려하지 못하게 된다.

 인지요소들 간에 종속적인
관계가 있거나,

 비슷한 속성을 가진 인지요소들이
많으면

 이들을 묶는 상위 인지요소를
만드는 작업을 해야 한다.


 인지 요소들을 분석해
관계를 정리하는 것은

 인지요소들을 계층 구조로
만들었다고 볼 수 있으며,

 이를 통해 시스템은 체계적으로
구조화되게 된다.

 대미지 텍스트 시스템의
필요 내용들이

 '자신'에게 적용되는 경우와
'타인'에게 적용되는 경우를

 나누어 처리할 필요가 있다면,

 이 기준에 따라 필요 내용들을
나누는 것이 좋다.

 이를 반영하면 다음과 같이
필요 내용을 다시 정리할 수
있으며,

 이제 피아를 구분하여 다른
내용과 기능을 적용하기가
용이해진다.

그림 14 - 시스템의 인지요소 정리2

 이렇게 계층 구조를 통해

 시스템을 구성하는 인지요소들을
파악하면,

 인지요소들에 대한 체계적인
정리가 용이해지며,

 이를 바탕으로 체계적인 기획과
개발이 이루어진다.

 상위 개체와 그에 종속되는
하위 개체인 계층 구조에는

 다양한 관계가 있을 수 있지만,

 게임을 구성하는 인지요소들은
대부분 부모-자식 관계,

 또는 부품 관계라고 볼 수 있다.

 이 두가지 관계가 아닌 것들도
있지만,

 그런 것들은 일반적인 포함
관계이거나 특별한 관계이므로

 크게 신경쓰지 않아도 된다.

계층 구조에 대해서는 아래에서 서술한다.

 계층 구조에서 상위 요소는
하위 요소에 비해

 개념적으로 더 크기 때문에,

 하향식으로 인지 요소들을
열거하는 것이 자연스럽다.

 하향식으로 기능과 내용들을
쪼개면서 정리하면,

 누락되는 내용이 줄어들고
정리되는 내용도 체계적이다.


 계층 구조를 염두에 두고,

 대미지 텍스트 시스템의
인지요소들을 다시 살펴보자.

 열거된 '기본 기능', '이동 기능',
'강조 기능', '기타 기능'들은

 기능의 추상적인 면을 보여줄
뿐이기 때문에

 원하는 기능을 제공하기 위해서는
좀 더 구체적인 내용이 필요하다.

 즉 '이동 기능'에서 필요한
이동은 무엇인지,

 '강조 기능'에서 필요한 강조 방법은
무엇인지를 정리해야 한다.

 필요 내용도 출력 주체에 따라
한번 계층 구조로 정리했지만

 좀 더 세분화할 수 있다.

 인지요소들을 하향식으로 세분화해
정리하면 다음과 같다.

그림 15 - 시스템의 인지 요소 정리3

 인지요소 열거를 성공적으로
마치기 위해서는

 '종속과목강문계'와 같이 하위
인지요소들을 묶어주는

 개념적인 중간 인지요소를
만드는 것이 필요하다.

 시스템이 가지는 인지요소가
많아지면

 비슷한 속성을 가진 것들을 묶어
카테고리를 나누는 것이 좋다.

 예를 들어 <LoL>에는 캐릭터
고유의 체력과 마나량을 뜻하는

 '기본 HP'와 '기본 MP'라는
스탯이 있다.

 이때 '기본 스탯'이라는 개념적인
인지요소를 만들어서

 이런 스탯들을 포함하게 되면,

 캐릭터 고유의 스탯을 다루기
쉬워진다.

 이후 '기본 분노'나 '기본 기력'과
같은 인지 요소들을 추가할 때

 기본 스탯 하위 요소로 넣게 되면
개념 설명이 따로 필요 없다.


그림 19 - 개념적 인지요소를 통한 계층 구조 정리

 [그림 19]를 살펴보자.

 이 그림의 상황에 스킬 자원으로
'분노'가 추가되어야 할 때,

 기본 스탯이라는 개념이 없으면
'기본 분노'를 추가하면서

 다시 정의를 해야 하지만,

 기본 스탯을 잘 정의해 놓으면,

 '기본 분노'만 갖는 특징만을
정리하는 것으로 추가가 가능하다.

 이렇게 개념적인 상위인지
요소들을 잘 만들어

 인지 요소들을 포함하게 되면,
그 인지요소들에 대한

 개념적인 이해가 쉽고 인지요소를
추가하기도 간단해진다.


 단순히 개념적인 이해를
돕기 위해

 인지요소들을 계층 구조로
구성하는 것은 아니다.

 이런 계층 구조는 개발자가
구현을 할 때

 공통점을 묶어 개발하는
것을 통해,

 각각이 공통으로 가지고
있는 개념들을

 중복으로 개발하는 것을
방지한다.

 예를 들어 기본 스탯에 대해

 '캐릭터 고유의 수치'라는 개념을
한번 구현해두면,

 '기본 HP'와 같은 스탯에
대해서는

 그 개념을 다시 구현할 필요가
없다.

 

계층 구조

그림 16 - 계층 구조

 분류를 할 때는 단순히 대상들을
그룹으로 묶거나 구분하지 않고,

 분류에 도움을 주기 위해 추상적인
개념을 만들기도 한다.

 예를 들어 '종속과목강문'과 같은
개념은

 수많은 동물들을 쉽게 구분하고
파악하기 위해서 만들어낸 개념이다.

 '고양이과'라는 동물은 존재하지
않지만,

 고양이과라는 개념을 통해
고양이과에 속하는

 많은 동물들의 공통점을 모아서
처리하고 있다.

 분류를 통해 대상들을
파악하고 나면,

 그 구조는 계층적인 모습을
띄게 된다.

 상위 요소가 있고, 그 밑으로
하위 요소들이 달려 있는
모습을 갖는다.

 이때 수직적 상하 관계는

 분류를 하는 사람의 의도에
따라 관계 내용이 다르지만,

 보통은 하위 요소보다 개념적으로
포괄하는,

 개념적 포괄성이 큰 것들을
상위 요소로 둔다.

 

부모-자식 관계 계층 구조

그림 17 - 부모-자식 관계 계층 구조

 부모-자식 관계는 수직적
관계의 계층 구조로

 가장 많이 사용하는 것 중에
하나다.

 부모 요소와 자식 요소는
상속 관계에 있으며,

 자식 요소는 부모 요소의 속성을
가지고 있다.

 예를 를어 '성장형 스탯'이라는
부모 요소가

 'Max HP'와 'Max MP'라는 자식
요소를 갖고 있다고 하다.

 성장형 스탯이 캐릭터의 레벨이
증가할 때마다

 특별하게 처리되는 규칙을
가지고 있다면,

 Max HP와 Max MP도 그
규칙을 가지게 된다.

 자식 요소들은 서로 '형제 관계'를
갖고 있지만,

 형제들 간에는 특별히 관계가
없을 수도 있다.

 

부품 관계 계층 구조

그림 18 - 부품 관계 계층 구조

 부품 관계는 간단하면서도
많이 사용되는 계층 구조로서,

 부품에 해당하는 하위 요소들이
결합해

 상위 요소를 구성하는 경우에
사용된다.

 기계들은 구체적인 부품들을
갖기 때문에,

 모든 부품들을 조립하면
완벽한 기계가 나오지만,

 개념적인 게임 시스템은
형태가 없기 때문에,

 기계와 같이 부품 관계가
완벽한 것은 아니다.

 즉 부품들 간에 결합이 기계적으로
정확하게 맞물리는 것은 아니다.

 따라서 부품 관계는 하위
부품들의 묶음을

 개념적으로 표시하기 위해서
사용되기도 한다.

 또한 부품 관계와 부모-자식 관계는
상충하지 않기 때문에

 같이 사용될 수 있다.

 다시 말해, 부품이면서도
상위 요소의 속성을

 상속받는 관계를 만들 수 있다.


참고 및 출처

게임 기획자와 시스템 기획
국내도서
저자 : 심재근
출판 : 에이콘출판사 2016.07.12
상세보기