기획자 노트-머시네이션즈, 게임 메카닉 설계의 새로운 방법
작성자: 어니스트 아담스(Ernest Adams), 요리스 도르만스(Joris Dormans) 작성일: 2012년 8월 16일
게임 메카닉은 게임 기획 가운데 가장 이야기하기 어려운 측면이다. 사용하는 용어는 대부분 추상적이다. – 네거티브 피드백 루프(Negative feedback loop)라거나 난이도 진행(difficulty progression) 같은 식으로. 또 프로토타입을 만들거나 테스트하기도 성가시다. 보드게임처럼 단순한 게임이 아닌 한 직접 코드를 작성하거나 스프레드시트를 이용해야 하는데, 두 가지 모두 그닥 빠르지도 직관적이지도 않기 때문이다.
최근에 나는 이런 일을 더 잘하는 방법이 (일부) 담긴 책을 공동집필했다. 책 제목은 <게임 메카닉: 고급 게임 디자인(Game Mechanics: Advanced Game Design)> 으로 Peachpit 에서 출판되었고 여기1에서 살 수 있다. (교사2나 미디어 리뷰3용 증정본도 신청할 수 있다.) 이번달 컬럼은 이 책의 챕터 5를 요약한 것이다. 공동저자인 요리스 도르만스는 네덜란드의 게임디자이너이자 학자이다.
요리스는 머시네이션즈(Machinations) 라는 무료 툴를 제작했는데. 나는 이 툴이 우리가 게임메카닉을 개발하고 가르치는 방법에 혁신을 가져다줄거라고 생각한다.
(나는 과대광고를 정말 싫어하기 때문에 4 이건 가볍게 이야기하는 게 아니다.) 지금부터, 머시네이션즈 이 무엇이고 이것이 하는일이 무엇인지 소개할 것이다.
머시네이션즈는 게임 경제(game economy) 도해를 위한 시각적인 언어이자, 그리기 위한 도구이고 무엇보다도 코드를 작성하지 않고 그것들을 시뮬레이션하는 도구이다.
요리스는 내 책 <Fundamentals of Game Design>을 읽고 내가 이야기했던 게임 내부 경제(internal economy)의 기본요소들(자원, 소스, 드레인, 컨버터, 트레이더)을 도식화할 방법을 만들어냈다. 그리고 만들어진 시스템을 더 강력하고 유연하게 하는 기능을 몇 가지 추가했다.
머시네이션즈 툴은 어떻게 동작하는가
머시네이션즈 툴은 머시네이션즈 다이어그램의 디지털 버전을 만들고 저장할 수 있고, 그것들이 시간이 흐름에 따라 어떻게 변하는지 확인할 수 있게 해준다. 이 도구는 마이크로소프트 비지오(Visio) 같은 객체지향 2D 드로잉 프로그램처럼 생겼다. 워크스페이스가 가운데 위치하고 있고 사이드패널에 다양한 도구들이있다.
머시네이션즈 툴, www.jorisdormans.nl/machinations 에서 받을 수 있다.
머시네이션즈의 실행버튼을 누르면, 다이어그램에 정의된 이벤트를 일련의 타임스텝(time step)이나 이테레이션(iteration)만큼 (이 두 용어는 서로 바꿔 쓸 수 있다) 수행하게 된다. 그리고 다이어그램의 상태가 바뀐다. 한 번의 이테레이션을 완료하면, 다이어그램의 새로운 상태를 가지고 또 다른 이터레이션을 수행하고, 멈추라고 하기 전까지 계속해서 수행할 것이다. 각 타임스텝의 길이는 인터벌(interval) 값을 수정해서 조정할 수 있다. 실행 속도를 느리게 하려면, 타임스텝의 인터벌을 몇 초 정도로 세팅하면 된다.
간단한 머시네이션즈 다이어그램이 실행되는 모습. 작은 원은 자원이고, 어느 한 노드에 저장되거나 노드 사이를 옮겨다닐 수 있다.
머시네이션즈 다이어그램을 이용하면 원하는 만큼 많이 혹은 적게 추상화할 수 있다. 게임 메카닉의 전체나 특정 부분에만 집중해서 사용할 수도 있다. 머시네이션즈 다이어그램을 사용하여 게임의 메카닉을 서로 다른 수준의 디테일로 디자인하고 테스트할 수 있다. 예를 들면, 게임이 실제로는 멀티플레이로 진행되더라도, 싱글플레이 관점에서 게임의 모델을 만들어 보면 충분할 때가 자주 있다. 또는 게임 메카닉을 특정 한 유저에 대해서만 디테일하게 모델링해보는 것이(여러 플레이어에 대해서 해보는 것보다) 유용할 수 있다. 아니면, 게임의 특정 측면(플에이어가 돌아가면서 턴을 돌리는)을 덜어낼 수도 있다.
머시네이션즈 다이어그램의 기본 요소들
머시네이션즈 프레임워크는 게임 내부 경제요소들끼리 활동, 상호작용, 의사소통을 모델링하기 위해 디자인되었다. 게임의 경제시스템은 자원의 흐름에 의해 주도된다. 게임의 내부경제를 모델링하기 위해서 머시네이션즈 다이어그램은 자원(resource)을 끌어오고(pull), 보내고(push), 모으고(gather), 분배(distribute)하는 몇몇 노드들을 사용한다. 자원의 연결(Resource connection)은 자원이 요소들 사이를 어떻게 이동하는지 결정하고, 상태의 연결(State connection)은 현재의 자원 분포가 어떻게 다이어그램상의 다른 요소들을 변경할지를 결정한다. 이러한 요소들은 머시네이션즈 다이어그램의 핵심이 된다. 가장 단순한 것부터 시작해보자.
자원과 리소스풀의 연결
리소스풀(pool)은 다이어그램에서 자원이 모이는 장소이다. 리소스풀은 원으로 표현된다. 자원들이 리소스풀에 저장되어 있을 때는 더 작은 원이 쌓여있는 형태로 표현된다. 만약에 리소스풀에 자원이 너무 많이 있어서 쌓아서 표현할 수 없는 경우에는 숫자의 형태로 대신 표현한다.
리소스풀은 주로 엔티티(entity)를 모델링한다. 예를 들면, 만약에 당신이 돈이라고 불리는 자원을 가지고 있고, 플레이어의 은행 계좌라고 불리는 엔티티가 있다면, 당신은 아마 리소스풀을 은행계좌를 모델링하는 데 사용할 것이다. 이 리소스풀은 분수는 저장할 수 없고, 단지 정수만 저장할 수 있다는 것을 기억해 두자.
가장 단순한 종류의 연결은 자원연결(resource connection)이다. 그리고 자원연결은 자원을 한 노드에서 다른 노드로 전송한다. 자원연결은 다이어그램에서 노드들 간에 연결된 실선으로 표현되며, 자원을 다양한 속도(rate)로 보낼수 있다. 자원연결 옆에 있는 라벨은 한 타임스텝에 얼마나 많은 자원이 이 커넥션을 통해 이동하는지를 나타낸다. 만약 자원연결이 라벨이 없으면, 그것의 속도는 1 이라고 생각하면 된다.
자원연결의 흐름 속도를 랜덤으로 하려면 라벨 상자에 입력하면 된다. 랜덤 속도는 다양한 방법으로 표시된다. 만약에 단순히 D 라고 입력하면, 주사위(dice) 심볼이 자원연결 옆에 나타날 것이고, 이것은 정의되지 않은 임의의 값을 나타낸다. 머시네이션 툴은 종이와 펜으로 하는 롤플레잉 게임에서 주로 사용하는 방식으로 임의의 숫자를 생성할 수 있다. 이때 D6 은 6면체 주사위를 한번 굴려서 나오는 임의의 숫자를 의미한다. 반면에 D6+3 은 같은 주사위에 3을 더하는 것이고, 2D6 은 두 육면체 주사위의 값을 더하는 것으로 즉, 2에서 12사이의 값이 될 것이다.
또, 퍼센트를 이용해서 임의의 값을 만들어낼 수더 있다. 25%라고 적혀있는 자원연결은 각 타임스텝마다 25 퍼센트의 확률로 자원이 흐를 수 있다는 의미이다. 퍼센트를 사용할 때에는 100% 이상의 값을 사용할 수도 있다. 예를 들면, 250%는 최소한 2 개의 자원과 함께, 50% 확률로 자원 한 개가 흐를 수 있음을 의미한다.
※ 자세한 내용은 첨부(PDF)화일을 참고하시기 바랍니다.
|