스탠드 얼론 게임의 레벨 디자인 #1

스탠드 얼론 게임의 레벨 디자인#1: 사전 고려사항
스탠드얼론 게임의 레벨디자인: 사전 고려 사항
신재원(zenith), http://www.adoraproject.com




1. 레벨디자인의 중요성
레벨디자인은 제작중인 게임의 재미요소와 시각적 즐거움을 응축시켜 구성하는, 말 그대로 게임이 표현하고자 하는 재미를 유저들에게 일관성과 그 속에서의 다양성을 토대로 표현하고 전달하는 것이다.
레벨디자인의 실질적인 작업은 전체 게임 개발의 중반부 정도부터 본격적으로 시작하게 되지만, 그에 관한 기본적인 토대는 이미 마련이 되어 있는 상태여야한다.
보통의 기획자들이 초반의 기초 기획작업과 이후의 리소스 관련된 작업이 일정부분 진행되면 레벨 디자인에 관련한 작업을 들어가게 되는데, 현재 우리나라는 레벨 디자인 관련한 분야는 다소 중구난방이다.
해외처럼 비주얼과 시스템으로 나눠서 만드는 사람이 따로 있는것도 아니며, 전문화된 분야로 인정받지 못한채 그냥 포괄적인 기획의 범주내에 있는 작업의 하나로 인식되고 있다.
그러나, 레벨디자인은 게임에서 표현하고자 하는 재미를 최대한도로 표현하면서 게임의 템포를 조절해야 하는 가장 중요한 일중의 하나이다. 재미있는 룰을 더욱 빛나게해줄 수 있는 작업이 바로 레벨 디자인이다.


2. 레벨디자인을 하기 위해서
게임의 기본적인 시스템 기획과 시나리오, 대강의 리소스 작업 문서가 작성되고 프로토타입 형태의 간단한 버전이 만들어졌다면 이때부터가 레벨 디자인의 본격적인 출발점이라고 할 수 있다.
물론 기초 기획 단계부터 향후에 구성할 스테이지에 대한 고려는 어느정도 되어 있어야겠지만, 본격적인 출발점을 굳이 잡아본다면 이 시점이라고 할 수 있겠다.

레벨 디자인을 하기 위해서는 먼저 파악해야 할 것이 몇가지가 있다.
(1). 기획에서 주고자 하는 재미요소
(2). 시나리오의 흐름과 구성점
(3). 에디터와 스크립트
(4). 현재 사용 가능한 리소스

파악해야 할 것 #1, 기획의 재미요소.
기획의 특징적인 요소들을 알아야 하는 것은 물론이고, 액션 게임이라면 액션에
대한 파악도 해야 한다.
레벨 디자인이란 건 게임이 가진 재미요소들을 표현하는 것이므로, 어떤것들이 있으며 그것들을 어떻게 배치해서 보여줄 것인가에 안점이 있어야 한다.
슈퍼마리오를 보라. 점프 액션 하나만으로도 갖가지 육체적, 정신적 재미를 만들어냈다.

파악해야 할 것 #2, 시나리오의 흐름과 구성점
위에서도 이야기했지만, 레벨 디자인은 게임의 흐름을 표현하는 일이다.
따라서 그에 가장 맞물리는 것이 시나리오이다. 어느 부분에서 어떤 이벤트가 발생하고, 어떤 대화가 오고가고, 그로 인해서 캐릭터에 어떤 변화가 생기고 하는 것에 대한 것들. 전체적인 흐름을 파악하고, 각 구성점이 어딘지 알아야 한다. 구성점이라는 것은 사건이 전개되면서 흐름이 전환 또는 환기 되는 부분을 말한다. 이 부분은 시나리오적인 측면에서 상당히 중요한 부분이므로,
레벨 디자인 상에서도 적절히 표현해줘야 한다. 흐름상 어색한 부분과 레벨 디자인상으로 표현하기 어려운 부분이 있다면 시나리오 라이터와 회의를 통해 시나리오를 수정하거나 기능적인 추가가 필요하다.

파악해야 할 것 #3, 에디터와 스크립트
개발 툴을 가장 많이 쓰는 사람이 바로 레벨 디자이너이다. 따라서 처음부터 레벨 에디터에 관한 기본적인 기획서를 만들 필요가 있다.
모든 작업이 그렇지만 자신이 만들던 것만 만들면 그것이 불편한지 모른다. 툴 프로그래머도 마찬가지다. 다른 사람이 볼때는 불편하기 짝이 없는데,
툴 프로그래머는 그 툴을 계속해서 만들어왔기 때문에 그것이 불편한지도 모르는 무감각상태로 변해간다.
따라서 기본적인 레이아웃과 기능, 단축키의 배치 같은 건 안을 잡아서 담당 프로그래머와 회의를 통해 하나씩 진행해나가자.


 

언리얼 레벨 에디터



스크립트 역시 마찬가지다.
일반적으로 알려진 파이썬이나 루아 같은 스크립트 언어를 쓸수도 있지만, 내부적인 스크립트를 사용할 수도 있다.
기능과 옵션, 용법에 대한 것은 확실히 파악해두고 부족하거나 수정해야 할 부분에 대해서는 미리 요청을 해둔다. 그래야 스케쥴이 꼬일 확률이 적다.


파악해야 할 것 #4, 현재 사용 가능한 리소스
이 부분은 레벨 디자이너 뿐만이 아니라 모든 기획자들이 항상 염두해두고 있어야 하는 부분이다. 리소스라는 것이 그래픽 리소스뿐만이 아니다. 한 화면에 찍을 수 있는 오브젝트의 수, 즉 현재 만들고 있는 게임에서 프레임 저하현상 없이 표현해낼 수 있는 목표 범위 같은 프로그램적인 제한 사항도 미리 알아야 한다.
프로그래머나 그래픽 디자이너들은 공장 기계가 아니다. 그들에게는 먼저 만들어야 할 것의 우선순위가 있고 그 스케쥴에 따라 움직인다.
사전에 계획되지 않은 요소들이 중간에 불쑥 하고 끼어든다면 그들의 계획에 차질이 빚어짐은 물론, 제안한 것이 얼토당토 않은 것일 경우 불화의 씨앗이 될 소지도 다분하다.
따라서, 현재 제작된 리소스와 제작하기로 되어 있는 리소스를 파악하자. 그리고 구상 단계에서 추가해야 할 목록을 작성한 후 이를 토대로 가능한것과 가능하지 않은 것을 가려내야 한다.

위 4가지에 관한 파악이 되었다면, 아래의 요소들에 대한 고려가 심층적으로 되어야 한다.
(1). 레벨의 볼륨과 연결
(2). 해당 레벨의 구성과 아이디어
(3). 비주얼과 이벤트
(4). 추가되어야 하는 기능과 리소스

고려해야 할 것 #1, 레벨의 볼륨과 연결
레벨의 볼륨이란 해당 레벨의 크기, 표현 우선순위와 플레이 타임 따위에 대한 것이고
레벨의 연결이란 스탠드얼론 게임에서의 전체적인 템포와 스토리적인 진행을 고려하여 흐름의 연결과 템포를 조절하는 것을 말한다.

레벨의 볼륨에서 첫번째로 생각해야 할 것은 필드의 크기와 동선이다.
게임의 장르나 스타일에 따라 이 부분은 약간씩 달라질 수 있겠지만 필드의 크기는 지극히 적당해야 하고, 불필요한 동선은 모두 제거해야 한다. 이 말은 플레이 타임 등에 집착하거나 주요 포인트가 될만할 배경 오브젝트의 배치를 잘못하여 동선을 반복시키는 행위는 지양해야 한다는 듯이다.
또한, 시스템적으로 필드의 구성 방식이 선형적인지, 개방형인지를 먼저 철저하게 고려해서 선형적이라면 동선이 지나치게 반복될 수 있는 것을 어떻게 해결할 것인지 개방형이라면 플레이어가 의도를 무시하고 마음껏 지나칠 수 있는 상황이 발생하는 것에 대한 제어장치를 준비해야 한다.



선형적 필드 구성의 예, 귀무자(PS/2, Capcom)


개방형 필드 구성의 예, 킹덤언더파이어: 히어로즈(XBox, Phantagram)

 

마그나카르타(PS/2, Softmax), 동선을 관리하는 시스템과 레벨 디자인 요소가 부족했다.



고려해야 할 것 #2, 해당 레벨의 구성과 아이디어
레벨의 볼륨과 연결 방식에 대한 구상이 끝났다면, 개개의 레벨에 관한 아이디어를 뽑아내고 이에 대한 컨셉을 설정하고 구체적인 구성안에 들어간다. 컨셉을 설정하고 이에 관한 대강의 스케치 작업을 한 후, 이 레벨에서 표현해야 할 필수적인 요소(이벤트, 등장 캐릭터 등)에 대한 우선 순위 리스트를 만든다.
아이디어는 무한정으로 쏟아져 나올 수 있으나, 중요한 것은 다른 파트와 마찬가지로 레벨의 컨셉을 위한 통일성이다. 레벨 디자인이 어렵다고 하는 것은 그 통일성 안에서 다양한 재미를 보장해야 하기 때문이다.
따라서 명확한 컨셉 아래에서 컨셉에 부합하면서, 현재의 개발 시스템 하에서 스케쥴 안에 구현 가능한 재미 요소들을 찾아내야 한다.
레벨을 제작하다가 떠오른 아이디어는 중도에 삽입하기가 난해한 점이 많음을 고려하면, 이 초반 작업은 매우 중요한 작업이다.


페르시아의 왕자의 컨셉 레벨 스케치



고려해야 할 것 #3, 비주얼과 이벤트
해당 레벨에서 발생하는 이벤트가 무엇을 위해 발생하는 것이며, 거기에 필요한 리소스는 무엇이 있는가.
해당 레벨에서 표현하고자 하는 비주얼의 포인트는 무엇인가.
이 부분에 관해 아트 디렉터, 시나리오 담당자와 끊임없는 대화를 나눌 필요가 있다. 그래야만 #1번의 레벨의 볼륨과 연결 부분도 좀 더 자연스럽게 표현될 수 있다.
레벨의 비주얼은 명확한 컨셉을 갖고, 역시 해당 부분에 관한 목록을 인덱싱 한다. 각 텍스쳐와 일반 오브젝트, 특수 오브젝트(파괴된다던가 속성이 있는), 빌보드, 라이트맵, 바닥 레이어의 속성 등등.

레벨의 이벤트 역시 이 레벨에서 표현해야 할 것에 대한 우선순위와 등장 캐릭터, 대사 스크립트, 이벤트 카메라 등에 관한 목록을 만들어둔다.
이 논의 과정과 실제 구성 작업, 그리고 문서화가 중요한 것은 이 과정이 없이 레벨디자인에 들어갔을때 중구난방식으로 그때그때 땜질하면서 진행될 가능성이 99.9%이기 때문이다.
물론, 그때 해당 사항에 대해서 다른 파트 담당자와 이야기 한 후 진행해도 되는 사항들도 있지만 대부분은 그렇지 않다. 미리 이렇게 체계적으로 해당 사항들을 정리해놓고 들어가야할 필요가 있는 것이다.


고려해야 할 것 #4, 추가되어야 하는 기능과 리소스
해당 레벨에서 특별한 퍼즐을 삽입해서 좀 더 색다른 맛을 줘야 하는데(특정 장치를 조작해서 오브젝트를 움직인다던가 하는), 현재 기능상으로 구현할 수 없거나 하는 부분들에 관한 것은 논의 과정을 거쳐서 미리 요청을 해야 한다.
그에 관련한 그래픽 리소스 역시 미리 요청을 해야 양측의 스케쥴에 압박을 덜 주고 일을 수월하게 진행할 수 있다.



-------------------------------------------------------------------------------------

추가로 고려해야할 점을 적자면, 레벨 디자인을 하기 전에 개발중인 게임이 지향하는 방향, 즉 하이컨셉을 먼저 파악해야 할 것이다.

예를 들어 밀리터리 FPS게임에 엄폐플레이를 지향하는 게임 이라면 엄폐,은폐를 활용한 Cover to Cover 플레이가 가능 할 수 있도록 캐릭터 스케일에 비례한 규격화된 오브젝트가 필요할 것이다.
레벨디자인에 앞서서 먼저 규격화된 엄폐물의 크기, 부피 및 계단, 사다리등을 먼저 설정하고 가구조를 제작하여 테스트를 하며 조율해야한다.
그렇다면 레벨디자인을 하면서 하이컨셉에 대한 가이드라인이 설정되어있는 상태에서 작업을 하기 때문에 불필요한 동선 및 배경컨셉 설정에 있어서도 정형화되도록 디자인할 수 있기 때문이다.

두번째로 상용엔진을 사용할 경우, 해당 엔진의 스펙을 먼저 파악해야한다.
FPS게임을 예로 들자면, 가시면 처리에 대한 렌더링 방식이 Portal Rendering방식이라면, BSP구조를 제작하기전에 Portal 방식에 최적화되도록 구조설정을 해야할 것이다.

by Jubei | 2008/07/31 01:37 | 《Level Design》 | 트랙백 | 덧글(1)

트랙백 주소 : http://Jubei.egloos.com/tb/4522132
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 디카스테스 at 2009/01/12 16:01
퍼갑니다~

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶