Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Current »

이 페이지는 장차 https://blog.woojinkim.org/를 대신할 목적으로 테스트하고 있습니다.

로직을 데이터 모양으로 표현한 간단한 스킬 시스템

더 나은 쿠폰 서비스에 대한 아이디어 기록을 읽고 온라인 MMO 게임에서 스킬, 퀘스트, 업적 등 로직을 데이터 모양으로 만들어 팀에 여러 스탭들이 데이터를 양산할 수 있도록 하는 개발과 비슷하다는 생각을 했습니다. 또 상태에 따른 대미지 계산 파이프라인과 비슷하다는 트윗도 읽었는데 스킬 시스템을 예로 들어 온라인 게임 쪽에서 비슷한 상황을 처리하는 요령을 설명하겠습니다.

이커머스에서 쿠폰이 겪는 문제를 거칠게 요약해 서로 다른 시점에 서로 다른 대상을 근거로 하는 조건 여러 개가 일치할 때 쿠폰이 동작하는 로직을 만들어야 하는데 이를 항상 하드코드로 개발할 때 여러 가지 문제가 생기므로 이를 데이터 모양으로 기술할 수 있도록 간단한 언어로 만들어 쿠폰 요구사항을 발주하는 스탭들이 직접 쿠폰을 디자인할 수 있게 하는 아이디어로 이해했습니다.

온라인 MMO 게임의 스킬 시스템은 게임 안에서 개체들 사이에 일어나는 상호작용 거의 대부분을 기술하는데 사용됩니다. 개발 초기에 플레이어캐릭터와 몬스터 사이에 대미지를 주고 받는 과정을 스킬 데이터구조로 만들어 확장하기 시작하면 나중에는 포션을 마실 때 플레이어가 받는 체력 증가 효과나 1개월 짜리 유료 아이템의 버프 효과 역시 스킬 데이터구조를 사용해 기술하기에 이릅니다.

이 간단한 가상의 스킬 시스템은 대략 ‘스킬’ 데이터구조와 ‘스킬이펙트’ 데이터구조로 구분합니다. ‘스킬’은 게임 상의 누군가(플레이어캐릭터, 몬스터, 소환수 등)가 스킬 사용을 시도할 때 사용 조건과 타겟팅 조건, 그리고 스킬이 발동될 때 사용할 ‘스킬이펙트’로 구성됩니다.

스킬을 사용하려면 먼저 스킬 사용을 시도할 때 조건을 확인해야 합니다. 현재 플레이어가 이 스킬을 소지하고 있는지, 스킬에 걸려 있는 레벨 조건은 일치하는지, 마나는 충분한지, 같은 스킬이나 같은 스킬 계열의 글로벌 쿨타임은 끝났는지, 같은 계열 스킬을 사용할 수 없게 만드는 디버프에 걸려 있지 않은지 등을 확인해야 합니다. 각 단계마다 스킬을 사용할 수 없다면 단계에 해당하는 메시지를 표시하고 스킬 사용을 멈춥니다. ‘마나가 부족합니다.’나 ‘레벨이 부족합니다.’ 같은 메시지가 이 과정에서 표시됩니다.

스킬을 사용할 수 있다면 이어서 스킬을 시전할 대상이 유효한지 확인해야 합니다. 흔히 타겟팅 시스템이라고 부르는데 스킬 시전 대상 역시 여러 단계에 걸쳐 확인해야 합니다. 먼저 스킬 사용 대상이 제대로 타겟팅 되었는지 확인합니다. 타겟은 스킬 메커닉에 따라 플레이어 캐릭터 반경 내, 타겟팅 인터페이스를 통해 가리킨 대상, 타겟팅 인터페이스를 통해 가리킨 바닥 등이 있습니다. 다음으로는 사용 대상이 스킬의 최대 사거리 안에 있는지 확인하고 대상이 아군인지 적군인지 확인합니다. 특히 아군과 적군 구분은 상황에 따라 달라질 수 있어 별도 판별 로직을 통해 스킬 사용 시점 및 피격 시점마다 확인해야 합니다.

스킬 사용 조건과 대상이 모두 유효함을 확인한 다음에는 이들에게 적용할 ‘스킬이펙트’를 실행합니다. 일반적으로 스킬이펙트는 실행될 때 스킬과 달리 독립적으로 조건을 확인하지는 않지만 독립적인 타겟팅 시스템을 포함하고는 있습니다. 가상의 체인 라이트닝 스킬이 있습니다. 플레이어 캐릭터가 마나를 소모해 적에게 전기를 발사하고 여기에 맞은 대상이 주변의 다른 대상에게 2단계에 걸쳐 전기를 전파하는 스킬입니다. 대상은 플레이어 캐릭터의 실린더로부터 20미터 안에 있어야 하고 적군이어야 하며 항상 정확한 대상에게만 사용할 수 있어 대상이 없는 땅바닥에는 사용할 수 없습니다.

스킬을 발사하면 타겟팅 한 첫 번째 대상에게 3초 동안 1초에 한 번 ‘전기 대미지 레벨 3’ 디버프를 주는 ‘감전 1’ 스킬이펙트가 실행됩니다. ‘감전 1’ 스킬이펙트는 이어서 피격자로부터 반경 10미터 안에 있는 적군에게 ‘감전 2’ 스킬이펙트를 부여합니다. ‘감전 2’ 스킬이펙트는 대상에게 ‘전기 대미지 레벨 2’ 디버프를 주고 피격자로부터 반경 5미터 안에 있는 적군에게 ‘감전 3’ 스킬이펙트를 부여합니다. ‘감전 3’ 스킬이펙트는 대상에게 ‘전기 대미지 레벨 1’ 디버프를 주고 끝납니다. ‘전기 대미지 레벨 #’ 디버프는 원거리 전기 대미지 연산 공식에 의해 대미지를 구해 대상의 체력을 감소 시킵니다. 대미지 연산 공식에는 대상의 버프 및 디버프, 스킬 시전자와 피격자 사이의 레벨 차이, 피격자의 장비에 따른 대미지 증감 규칙을 포함하고 있습니다.

사실 이런 상황에서 가장 빨리 스킬을 개발하는 방법은 이 로직 일체를 하드코딩하는 것입니다. 하지만 위에서 설명한 여러 단어 조각들로부터 예상할 수 있듯 체인 라이트닝 스킬은 이와 비슷하면서도 또 조금씩 다른 수많은 다른 스킬 중 하나일 뿐입니다. 가상의 파이어볼 스킬은 체인 라이트닝 스킬과 아주 비슷하지만 ‘화염 계열 대미지’를 주며 피격자가 입은 갑옷은 ‘전기 계열 대미지’를 잘 막아 주지만 ‘화염 계열 대미지’에는 취약할 수 있습니다.

가상의 게임에는 클래스 10개와 각 클래스마다 사용할 수 있는 스킬 30개가 있습니다. 여러 스킬을 개발하기 위해 전투디자인팀의 클래스 담당자가 스킬 로직을 위에서 설명한 형식의 데이터로 기술하는데 팀에 따라 다르지만 요구사항이 크게 변하는 초기 단계에는 스킬 저작도구를 갖추지 못하고 엑셀에 로직을 기입하곤 합니다. 상황에 따라 엑셀에 스킬을 코딩하는 개발 환경은 게임 서비스가 끝날 때까지 유지될 수도 있습니다.

스킬, 스킬이펙트, 버프 및 디버프를 각기 다른 엑셀 파일이나 각기 다른 워크시트에 기술하는데 팀에 따라 한 셀에 전기 대미지 레벨 1의 형식으로 기입하게 하기도 하고 전기 대미지(1)이나 전기 대미지, 1의 형식으로 기입하게 하기도 합니다. 위 체인 라이트닝 사례에서 스킬 하나는 서로 다른 세 가지 스킬이펙트를 차례로 실행하는데 이 때는 각 스킬이펙트를 서로 다른 행에 기입한 다음 각 스킬이펙트 칼럼 중 하나에 '이어서 실행할 스킬이펙트 번호'를 기입해 이들이 연속으로 실행되도록 합니다.

이런 데이터구조는 대략 지난 20여년에 걸쳐 MMO 게임의 스킬, 퀘스트, 업적 등을 표현하는데 일상적으로 사용되며 조금씩 개선 되어 왔습니다. 팀에 따라 스킬, 스킬이펙트, 버프 및 디버프의 연결 관계를 시각화한 도구를 제공하기도 하고 엑셀 형식으로 표현하기 상당히 난해한 구조를 별도의 스크립트로 기술할 수 있도록 하기도 합니다. 다만 시간이 흘러 성능 문제가 생기면 가장 먼저 데이터 모양으로 바뀌는 것이 이 스크립트 모양으로 기술된 로직이어서 엑셀 모양으로 기술된 데이터를 끝까지 유지하는 보수적인 접근을 더 자주 만났습니다.

이런 개발 방법은 오랜 시간에 걸쳐 검증되었지만 개발이 진행됨에 따라 엉망이 되는 상황을 피할 수는 없었습니다. 개발에 참여하는 게임디자이너나 엔지니어가 항상 스킬이펙트와 버프 및 디버프에 사용될 각 컴포넌트를 설계하는데 익숙하지 않았고 또 개발기간은 항상 부족했습니다. 그래서 개발에 관여한 스탭에 따라 각 기능은 더 이상 쪼갤 수 없는 바람직한 형태로 개발되기도 하지만 때에 따라서는 그 시점의 편의에 따라 이미 존재하는 컴포넌트 몇몇의 기능을 포함하거나 이들과 일부 기능이 겹치지만 나머지 기능은 겹치지 않는 미묘한 컴포넌트를 만들어내 엑셀 파일에 복잡한 코멘트를 따라야만 예상대로 동작하는 스킬을 만들어낼 수 있는 상황을 자주 겪습니다. 또 스킬이펙트나 버프 이름이 2014_겨울이벤트_빙결대미지_레벨3 처럼 의도적으로 여러 컴포넌트를 묶은 형태로 개발되기도 합니다.

더 나은 쿠폰 서비스에 대한 아이디어 기록에서도 단점으로 한번 만든 컴포넌트를 삭제할 수 없음을 꼽고 있는데 이렇게 한 번 만들어진 스킬이펙트나 버프 및 디버프는 설계가 잘못되었다고 해서 삭제하고 다시 만들기가 아주 어렵습니다. 아직 개발 중이라 하더라도 게임 내 온갖 장소에서 스킬이펙트가 광범위하게 사용되고 있어 잘못 설계된 컴포넌트를 변경하거나 삭제함에 따라 광범위한 오동작을 일으킬 수 있고 또 이 오동작을 바로잡기 위한 비용이 높습니다. 이런 상황이 반복되다 보면 위에서 예를 든 가상의 체인 라이트닝 스킬에서 사용하는 전기 계열 대미지 디버프와 거의 비슷하지만 조금씩 다른 디버프 수 십 개가 있는 상태로 서비스를 진행하게 되며 세월이 흐름에 따라 부실한 문서화와 계속된 담당 스탭의 변경에 따라 똑같은 역할을 하는 컴포넌트 여러 개가 서로 다른 이름으로 개발되어 있기도 합니다.

이런 단점이 있지만 로직을 데이터 모양으로 표현해 게임디자이너 수준에서 게임 동작을 확장할 수 있게 하고 스킬을 양산해야 하는 상황에 여러 게임디자이너를 투입할 수 있는 장점을 포기할 생각은 없습니다. 때문에 데이터에 로직을 직접 표현하는 입력 방식은 앞으로도 느린 발전을 거치며 계속해서 사용될 거라고 예상합니다.

잘 동작하지 않는 보물상자

제2의나라를 플레이 하다가 필드에서 보물상자를 봤습니다. 필드에 보물상자는 이 장르 게임에 흔한 경험입니다. 너무 익숙해서 최근에 플레이 한 Disney Dreamlight Valley에서 남의 집 안에 있는 보물상자를 너무 자연스럽게 뒤지며 ‘아 이러면 안되는 것 아닌가?’라고 잠깐 생각했을 뿐입니다. 또 이전에 플레이 했던 디아블로 이모탈에서도 똑같은 메커닉을 자주 만났습니다.

이전 경험을 생각해보면 보물상자를 만나면 고민하게 됩니다. 저 보물상자를 열어 보상을 먹을지 아니면 그 시간에 미니맵에 나타난 다른 몬스터에게 달려가 전투를 계속할지를요. 아니면 퀘스트를 계속할 수도 있을 겁니다. 이 고민의 핵심은 보물상자에서 나올 보상과 몬스터 사냥을 통해 얻을 보상의 효율에 차이가 있기 때문입니다. 보물상자는 잠깐 쉬는 동안에 할 거리를 만들어 주는 역할을 합니다. 직접 전투하는 것에 비해 더 좋은 보상을 주기 어렵습니다. 전투에서는 또 여러 가지 보상을 함께 얻으므로 항상 효율이 더 좋을 수밖에 없습니다. 몬스터가 죽을 때 내놓는 보상을 비롯해 경험치, 같은 공격에 의해 스플래시 대미지를 입은 주변 몬스터들을 더 수월하게 잡을 기회를 함께 제공 받습니다.

제2의나라 필드에서 만난 보물상자는 잘 동작하지 않을 것 같아 보입니다. 디아블로 이모탈의 필드에서 만난 보물상자가 고민의 대상이 되는 이유는 전투를 직접 해야 하기 때문입니다. 제2의나라에서 자동전투는 보물상자를 무시합니다. 보물상자에 인터랙션 하려면 전투가 끝나기를 기다린 다음 전투를 멈추고 수동으로 이동해야 합니다. 자동전투에 익숙해지면 수동이동을 할 생각 자체를 잘 하지 않게 됩니다. 자동전투를 관찰하다가 자동전투 상태를 깨고 직접 이동해 보물상자에 인터랙션 해야 하는 상황이기 때문에 디아블로 이모탈과 비교해 전투보다 낮은 보상을 주기 어렵습니다. 보물상자가 충분한 가치를 제공하지 않는다면 항상 무시하고 퀘스트와 전투에 집중하는 편이 이득입니다. 때문에 제2의나라 보물상자는 잘 동작하지 않을 가능성이 높습니다.

만약 이를 개선하려면 보물상자가 확실히 항상 높은 보상을 준다고 유저들에게 각인시키거나 필드에 자동전투를 잠깐 멈출 이유를 만들어야 합니다. 가령 뷰포인트에서 스크린샷을 찍으려고 잠깐 멈췄더니 옆에 보물상자가 있어 보상을 추가로 얻는 경험을 주는 식입니다.

헛갈리는 상점의 자동담기 설정

리니지라이크 게임의 버프 인터페이스는 캐릭터의 항상성을 유지하는 역할을 합니다. 게임 상에서 캐릭터에 재화를 투입해 초기 상태보다 더 나은 상태를 만들 수 있습니다. 가령 포션을 더 많이 들고 있으면 연속으로 전투를 계속할 수 있습니다. 같은 시간을 더 효율적으로 사용할 수 있게 됩니다. 여러 능력치를 일시적으로 올려주는 포션과 주문서들은 캐릭터의 초기 상태를 재정의하기에 이릅니다.

이를 기본 상태라고 해 봅시다. 기본 상태는 항상성 유지 아이템을 통해 여러 능력치들이 더 증가한 상태를 말합니다. 기본 상태를 만족하지 못하면 플레이에 손해를 보게 됩니다. 몬스터를 예상보다 더 오래 걸려 잡게 됩니다. 인벤토리 무게에 더 빨리 반응해 마을에 다녀와야만 해서 시간을 낭비하게 될 뿐 아니라 공격력이나 방어력이 낮아 체력 포션을 더 많이 소모하게 됩니다.

상점은 빠르게 항상성을 유지하는 역할을 합니다. 만약 아주 오래된 대항해시대라는 게임을 플레이 해 본 적이 있다면 항구에 들러 항상 똑같은 행동을 한 경험이 있을 겁니다. 먼저 항해에 필요한 주요 아이템을 구입해 인벤토리를 채웁니다. 마지막으로 항구에 들러 남은 적재량을 2로 나눠 절반은 물, 나머지 절반은 식량을 채웁니다. 이 행동을 반복하다 보면 아무 숫자나 2로 굉장히 빨리 나눌 수 있게 됩니다. 리니지라이크 게임의 상점은 이와 같은 역할을 합니다. 캐릭터를 기본 상태로 만들기 위해 언제나 똑같은 보급 행동을 해야 합니다. 이전에는 물과 식량만 채우면 됐지만 이제 다양한 아이템을 채워야 하므로 이를 자동으로 수행하게 해서 고객의 시간을 아껴야 합니다.

처음 이 상점 인터페이스를 접할 때 잘못된 의사소통으로 기능을 잘못 이해한 적이 있습니다. 상점에는 자동구매 설정이 있는데 이 기능은 내 인벤토리에 특정 아이템의 갯수를 항상 똑같이 유지하도록 모자른 갯수만큼 아이템을 구입해 주는 기능입니다. 가령 1000으로 설정하면 상점에서 자동구매를 누를 때 인벤토리에 아이템이 1000개가 되도록 만들어 줍니다. 인벤토리에 아이템이 100개 남아 있었다면 900개를 구입합니다.

그런데 인터페이스를 봐선 이 동작을 추측하기 쉽지 않습니다. 상점에서는 상품을 구입하기 전에 먼저 화면 중앙의 장바구니 인터페이스에 올려놓는데 ‘자동 담기’는 마치 장바구니에 아이템을 자동으로 담겠다는 의미처럼 보이기도 합니다. 때문에 아이템 1000개를 담는다는 말이 항상 1000개를 추가로 구입한다는 의미처럼 느껴졌습니다. 위 사례의 게임에서는 인벤토리 무게가 정해진 비율을 초과하면 패널티를 받기 때문에 항상 정해진 수량만큼 아이템을 구입하면 안됩니다. 그래서 아이템 수량을 결정할 때 패널티를 받는 무게 직전까지 최대한 구입하는 기능이 있기도 합니다. 이런 상황에서 자동 담기는 당연히 절대량을 담는다는 의미가 아니라 이 수량에 도달할 때까지 남은 양을 상대적으로 담는 기능이라고 예상할 수 있습니다.

하지만 여전히 저 표현은 좀 더 다듬을 여지가 있다고 생각합니다. 자동 담기보다는 자동 수량 유지에 더 가깝고 너절하기는 하지만 설명을 좀 더 추가하거나 인터페이스 형태를 고쳐 인벤토리에 남아 있는 같은 아이템의 ㅅ구량에 근거한 새롭게 담을 수량을 보여줘 더 확실한 의사소통을 할 여지가 있습니다.

제2의나라 랜덤보상 사례

전에 리니지2M의 랜덤선택보상히트2랜덤선택보상에 어떤 의미가 있는지 고민했습니다. 이 두 게임 모두 랜덤선택보상은 그저 그런 보상에서 그럭저럭 괜찮은 보상을 랜덤으로 주는데 실상은 터치 횟수를 늘리는 귀찮은 메커닉이라고 이야기했었습니다. 이들 둘 모두 랜덤 선택 대상인 전체 보상 목록을 볼 수 있기 때문에 만약 확률이 낮은 보상이 나오면 운이 좋은 상황이라는 것을 알 수 있었습니다. 어떤 유저들은 낮은 확률을 뚫고 평소보다 기분이 좋아질 수도 있습니다. 하지만 평균적인 유저는 그런 감정을 느끼지 못할 겁니다.

이건 제2의나라 스크린샷입니다. 히트2의 랜덤선택보상 사례에서 제2의나라 이야기를 했는데 정작 저 글을 쓸 때는 제2의나라 스크린샷이 없어서 직접 인용하지 못했습니다. 제2의나라에서는 랜덤보상을 줄 때 유저의 선택을 요구하지 않습니다. 유저가 선택하지 않으므로 랜덤보상의 전체 집합을 정확하게 보여줄 필요도 없습니다. 잘 보면 볼 수야 있겠지만 빠른 연출을 보며 전체 목록을 파악하기는 아주 어려울 겁니다. 제2의나라 랜덤보상은 보상 집합에서 보상 하나를 뽑아 준다는 느낌만 유지하고 운이 더 좋거나 나쁜 상황을 없앴습니다. 또한 추가 터치 조작을 요구하지 않아 경쾌한 느낌입니다.

개인적으로 랜덤보상이나 랜덤선택보상을 집행해야 한다면 제2의나라 형식이 더 적절한 방식이라고 생각합니다. 개발자 입장에서 평균적으로 적당한 수준의 보상을 지급하고 때에 따라서 더 좋은 보상을 얻게 할 수 있을 뿐 아니라 추가 조작을 요구하지도 않기 때문입니다.

덜 기분나쁜 랜덤선택보상 집행

히트2에서는 퀘스트 보상에 랜덤선택보상을 사용합니다. 랜덤선택보상에 대해서는 이전 ‘퀘스트 보상에 랜덤선택보상이 의미가 있을까?’에서 이야기한 적이 있습니다. 히트2 랜덤선택보상은 리니지2M과 같이 카드 뒷면을 보고 한 장을 선택하면 그에 따른 보상을 받는 형식입니다.

랜덤선택보상은 개발자 입장에서는 별 것 아닌 보상에서 그럭저럭 괜찮은 보상 사이에 적당한 수준으로 보상이 나가니 마음의 안정을 얻을 수 있습니다. 반면 유저 입장에서는 낮은 확률로 그럭저럭 괜찮은 아이템이 나오고 대부분은 별 것 아닌 보상이 나오므로 어차피 별 것 아닌 보상을 줄 거면서 괜히 터치 한 번 더 하게 만드는 나쁜 인터페이스 입니다. 또 연출 역시 내가 받을 별 것 아닌 보상 외에 나머지 아이템이 그럭저럭 괜찮은 아이템이면 괜히 짜증을 불러일으킵니다.

랜덤선택보상을 집행하고 나서 로그를 관찰해 보면 전체적으로 랜덤선택보상에 의해 캐릭터들의 성장에 긍정적인 영향을 줍니다. 평균적으로 더 좋은 보상을 지급했기 때문입니다. 하지만 유저 개개인의 감정은 그렇지 않을 수 있습니다. 랜덤선택보상을 계속해서 지급함에 따라 의미 없는 터치 동작이 추가되어 귀찮기만 합니다. 심지어 나를 약올리는 것은 아닐까 하는 부정적인 감정이 들 수도 있습니다.

제2의나라에서는 비슷한 메커닉이지만 선택은 아니지만 랜덤보상을 지급하는 사례가 있습니다. 퀘스트 보상을 받을 때 랜덤 보상이 포함되어 있으면 퀘스트 보상 팝업에서 바로 랜덤 연출을 보여준 다음 보상 하나를 자동으로 선택합니다. 이는 랜덤이라는 느낌을 줄 뿐입니다. 여러 아이템 중 하나를 선택하지만 선택 대상이 되는 모든 아이템 목록을 보기는 어렵습니다. 내가 받지 못한 아이템이 무엇인지 알기 어려우므로 덜 기분나쁩니다. 또 터치 없이 보상이 선택되므로 덜 귀찮습니다.

개인적으로는 여전히 랜덤선택보상, 랜덤보상, 또는 선택보상이 실제 유저에게 의미 있는 기능을 하는지 의구심이 듭니다. 이를 집행해야 한다면 유저를 덜 기분나쁘고 덜 귀찮게 할 방법을 통해야 한다고 생각합니다.

아이소매트릭 뷰 게임의 NPC 배치

히트2에서 마을 안 NPC들을 향한 자동이동 기능이 없는 상황에 꿋꿋하게 마을에 들르지 않으며 플레이 했습니다. 아무리 생각해도 NPC에게 자동이동 기능이 없는 상황에 내가 직접 걸어갈 생각이 들지 않았습니다. 하지만 드디어 마을에 들러야만 하는 상황이 찾아왔습니다. 포션이 바닥났습니다.

포션이 바닥난 상황에서도 어떻게 마을에서 NPC 각각에게 자동이동하는 기능이 없을 수 있는지 한탄했습니다. 하지만 한탄만으로는 없는 포션이 인벤토리에 스폰되지는 않기에 본격적으로 상인 NPC를 찾아 나섰습니다. 미니맵의 아이콘들은 게임의 나머지 인터페이스 테마와 같이 장식적이어서 한 눈에 잘 들어오지 않았습니다. 인류가 기호를 사용한 역사에 대한 온갖 지식을 총 동원한 끝에 여전히 각 기호가 무엇을 의미하는지 잘 이해가 되지 않아서 미니맵에 나타난 모든 아이콘을 하나하나 찾아가 봤습니다.

이때까지 카메라 설정을 쿼터뷰로 놓고 플레이 하고 있었습니다. 쿼터뷰는 아이소매트릭 뷰라고도 합니다. 캐릭터를 정면 위에서 바라보는데서 반시계 방향으로 45도 정도 돌려 놓고 본다고 해서 쿼터뷰라고도 하는데 검색해보면 아이소매트릭 뷰라고도 이야기하는 것 같습니다. 이전에 '스캔 기능이 더 유효한 게임과 그렇지 않은 게임'에서 게임 뷰가 고정되어 있으면 스캔 기능이 더 유효하다고 이야기했었는데 여기 맞춰 화면을 고정해 놓고 플레이 하고 있었습니다.

그러다가 마을 NPC가 쿼터뷰 기준으로 화면 여섯 시 방향의 건물에 가려진 채 배치된 것을 봤습니다. 일시적으로 NPC가 잘 못 배치된 거라고 생각했습니다. 이건 제 입장에서 잘못된 상황이었습니다. 그런데 살펴보니 문제 상황이 아니라 애초에 이렇게 배치한 것이 맞는 것 같았습니다. 둘러보니 이렇게 화면 여섯 시 방향에 배치된 NPC가 더 있었습니다. 게임의 여러 부분을 쿨하게 처리했다고 생각했지만 이런 것 까지 쿨하게 처리했을 거라고는 예상하지 못해 당황했습니다. 아마도 쿼터뷰는 이 게임을 개발한 원래 의도가 아닐 것 같아 보입니다. 예상하기에 액션 카메라를 옵션으로 플레이 할 것을 의도하지 않은 것도 같습니다. 카메라 옵션을 액션으로 바꾸면 아무런 문제가 없어 보입니다.

쿼터뷰가 기본은 아니지만 쿼터뷰를 카메라 옵션으로 제공하는 이상 NPC 배치 역시 이를 고려해야 한다고 생각합니다. 아이소매트릭 뷰에서 NPC를 배치할 때는 화면 여섯 시 방향에 NPC를 최대한 배치하지 않지만 만약 배치한다면 NPC가 열 두 시 방향을 바라보게 하거나 여섯 시 방향의 건물에 가려져 있도록 배치하면 안됩니다. 대체로 NPC는 어느 방향에 배치되더라도 여섯 시 방향에서 접근 가능해야 하고 장애물에 가려지지 않아야 합니다. 종종 대도시에 작은 광장이 있고 광장 북쪽에만 건물을 배치하는 이유입니다.

물론 이렇게 생각을 해 왔는데 NPC를 너무나도 쿨하게 배치한 것을 보고 한편으로 이런 고려가 다 쓸모 없는 것 아닐까 하는 생각을 해봤습니다.

다른 사람의 획득메시지, 퀘스트 진행, 아이템 획득 메시지의 레이어 순서

전에 학살과 자동이동 중 어느 인터페이스가 위에 있어야 할까요?에서 정보전달 인터페이스와 조작 인터페이스 중 조작 인터페이스가 더 위에 있어 아무때나 조작 가능해야 한다는 이야기를 한 적이 있습니다. 디아블로 이모탈에서 자동이동 버튼은 화면에 표시되어 있는지 여부에 관계 없이 항상 조작할 수 있어야 하기 때문입니다. 제2의나라에서 여러 정보가 동시에 화면의 비슷한 자리에 나타날 때 어떤 정보가 더 앞에 나타나고 어떤 정보가 더 뒤에 나타나는지 결정할 때 참고할 만한 사례가 있어 이를 설명하려고 합니다. 위 스크린샷을 보면 화면 중앙 상단에 세 가지 정보가 동시에 나오고 있습니다. 다른 모험가가 아이템을 획득했다는 안내, 현재 퀘스트의 진행상황, 처치한 몬스터로부터 획득한 아이템 목록입니다.

다른 모험가의 아이템 획득 안내는 장기적으로 유저의 플레이 동기를 유발하는 장치입니다. 다른 모험가는 유저가 아는 사람일 수도 있고 모르는 사람일 수도 있는데 이들이 획득한 아이템은 대체로 유저가 이미 알고 있는 것입니다. 유저는 이 아이템의 획득 경로와 난이도를 어느 정도 알고 있기 때문에 이 메시지에 함축된 노력에 공감할 수 있는 상태입니다. 그래서 이 메시지는 메시지를 보는 여러 유저들에게 동기부여가 됩니다. 때문에 이 메시지는 상당히 중요하며 전체화면 인터페이스로 화면을 덮고 있지 않은 한 항상 표시합니다.

현재 퀘스트의 진행상황은 퀘스트가이드 인터페이스에 중복해서 표시되는 정보이지만 게임 전체의 높은 반응성을 유지하기 위해 필요한 정보입니다. 이 정보를 제거해도 퀘스트가이드에 여전히 진행상황이 표시됩니다. 하지만 퀘스트가이드는 현재 상태를 전달하기에는 적합하지만 계속해서 업데이트 되는 정보를 표시하기는 쉽지 않습니다. 정보가 업데이트 될 때마다 시선을 유도하는 장치를 사용할 수도 있겠지만 제2의나라는 레벨과 이펙트의 특성 상 그 위에 있는 인터페이스에 시선을 유도하기 어렵습니다. 때문에 퀘스트 진행 상황을 전통적인 MUD의 로그 형식으로 화면 상단에 스크롤되는 형태로 표시합니다.

처치한 몬스터로부터 얻은 아이템은 중요성이 낮지만 시의성이 높은 정보입니다. 몬스터를 처치했음은 이미 퀘스트가이드와 퀘스트 로그에 중복해서 표시하고 있습니다. 하지만 몬스터를 처치하는 이유는 아이템과 경험치를 얻기 위함이므로 몬스터 처치 결과가 잘 반영되고 있다고 피드백을 줘야 하기 때문에 중복 정보라도 획득 정보를 표시해야 합니다.

이들 중 유저 입장에서 시의성이 높고 가장 중요한 정보는 방금 처치한 몬스터로부터 획득한 보상 정보입니다. 그래서 이 보상 정보를 맨 위에 표시합니다. 다음으로 지금 진행 중인 퀘스트 로그가 시의성이 높습니다. 중요성은 상대적으로 낮습니다. 그래서 보상 아래에 표시합니다. 마지막으로 다른 모험가의 아이템 획득 정보는 장기적인 중요성은 높지만 시의성은 낮습니다. 그래서 맨 아래에 표시합니다. 정확히 확인하지는 않았지만 보상과 퀘스트 로그는 전체화면을 사용하는 인터페이스 위에 표시할 가능성이 높고 다른 모험가의 아이템 획득 정보는 표시하지 않을 가능성이 높습니다. 이 사례를 참고해 시의성과 중요성에 따라 화면에 겹칠 순서를 결정하면 됩니다.

몬스터가 장비를 드랍하지 않도록 하자!

개연성도 없고 인벤토리에 넘쳐나는 장비를 처리하기도 불편하니 몬스터가 장비나 기타 재료 아이템을 직접 드랍하지 않도록 하겠습니다. 종종 희망으로 가득 찬 성숙하지 않은 프로젝트에서 들을 수 있는 이야기입니다. 여기서 성숙은 항상 올바른 방향을 의미하지는 않습니다. 어쩌면 희망을 접고 출시를 위해 나아가는 타협한 팀을 의미할 수도 있습니다. 개연성이 없다는 말은 무슨 의미일까요. 개연성은 고객의 요구사항이기 이전에 제품에 대한 개발팀 스스로의 요구사항입니다.

자. 바로 몬스터가 개연성 없는 아이템을 드랍하지 않게 해보겠습니다. 몬스터는 이제 설정에 의한 개연성 있는 아이템을 드랍합니다. 몬스터들이 정말 들고 있었을 것 같은 아이템과 조금 무섭지만 몬스터 신체의 일부를 드랍합니다. 아이템을 잔뜩 얻어 인벤토리가 가득 찬 플레이어는 이제 무엇을 해야 할까요. 개연성을 위해 제작은 마을에 있는 제작 NPC가 합니다. 제작을 위해서는 마을로 이동해야 합니다. 이제 플레이어에게 마을이 어디 있는지 가이드 해야 합니다. 플레이어가 마을이 어디인지, 어떻게 이동하면 되는지 당연히 알고 있을까요? 그렇지 않을 겁니다.

마을에 도착했습니다. 제작 NPC는 어디에 있을까요. 이번에는 플레이어에게 제작 NPC가 마을 어디에 있는지 가이드 해야 합니다. 제작 NPC는 제작 댓가로 재료와 골드를 받습니다. 재료는 인벤토리에 가득합니다만, 골드는 어디에 있죠? 깜빡하고 이야기를 안 했는데 개연성을 위해 몬스터가 골드를 드랍하지 않게 했습니다. 몬스터들은 화폐를 사용하지 않을 테고 당연히 골드에 별 관심이 없었을 겁니다. 플레이어가 골드를 얻으려면 이번에는 재료를 상인 NPC에게 팔아야 합니다. 상인 NPC는 어디에 있을까요? 그나마 다행인 건 상인 NPC가 같은 마을 안에 있을 거라는 사실입니다. 부유한 상인들의 도시가 있어 상인들이 거기에만 있었더라면 아주 곤란할 뻔 했습니다.

이런 과정을 반복해야 합니다. 어떤 시대에는 플레이어에게 이런 플레이를 요구하는 일이 당연했을 수도 있습니다. 하지만 현대에는 슬슬 그렇지 않게 변해 왔다고 생각합니다. 또 마을 안에서 NPC를 찾아 뛰어다니는 플레이가 당연할까요? 그럴 수도 있습니다. 또 어쩌면 그렇지 않을 수도 있습니다.

이번에는 몬스터가 개연성을 무시하고 장비와 골드를 드랍하게 해봅시다. 오크 사회는 암만 봐도 의학이나 과학이 발전된 것 같아 보이지 않지만 골드와 약초를 가지고 다닙니다. 오크와 전투를 통해 보상을 얻은 플레이어는 자신의 첫 번째 장비를 가지고 좀 더 도전적인 행동을 할 수 있게 됩니다. 강화 도중 장비가 파괴될 수 있지만 강화에 도전합니다. 인벤토리에는 이 사냥터에서 얻은 다른 장비가 있습니다. 강화하다가 장비를 깨면 아쉽기는 하지만 바로 다른 장비를 사용해 게임을 계속할 수 있습니다.

플레이어는 게임 내 골드를 요구하는 여러 메커닉을 자연스럽게 사용합니다. 상인 NPC를 찾지 않아도 인벤토리에 몬스터들로부터 얻은 골드가 있거든요. 골드를 만들러 마을까지 이동해 상인 NPC를 찾아 골드를 마련할 필요가 없습니다. 인벤토리가 재료 아이템으로 가득 차 있다면 어떻게 해야 할까요. 인벤토리 인터페이스에서 바로 제작 인터페이스로 이동합니다. 제작 인터페이스에서 직접 재료 아이템과 골드를 사용해 다른 아이템을 얻습니다.

인벤토리에 잔뜩 쌓인 사용하지도 않을 장비를 어떻게 해야 할까요. 이들을 강화 시스템에 사용합니다. 강화 단계에 따라 같은 강화 단계의 장비 여럿을 요구합니다. 장비를 강화하기 위해 쌍둥이 장비가 필요함은 어떻게 생각하면 이 세계에서 개연성 있어 보이는군요. 또한 장비가 파괴될 경우에 대비할 수 있습니다. 수집 시스템에도 사용합니다. 수집 시스템은 다양한 아이템 뿐 아니라 각 아이템의 특정 강화 단계를 요구합니다. 지속적으로 아이템을 투입해 다른 아이템이나 골드나 스탯을 얻습니다. 수집 시스템이 요구하는 플레이어가 직접 획득하기 어려운 아이템은 거래소에서 구입합니다.

내가 가진 아이템을 거래소에 올릴 수도 있습니다. 게임 시스템은 몬스터를 통해 장비를 생산해내는 만큼 강하게 장비를 요구합니다. 직접 시간을 투입해 장비를 얻을 수도 있지만 거래소를 통해 더 빠른 방법을 선택할 수 있을 여지가 있습니다. 거래소는 더 적은 비용을 지불하는 플레이어들이 게임을 플레이 할 공정한 기회를 제공합니다. 법정화폐를 지불하지 않고서도 다이아를 얻을 수 있습니다.

종종 현대적인 P2W 디자인에 충분히 익숙하지 않은 프로젝트에서 개연성을 위해 게임디자인을 희생하곤 합니다. 개인적으로 좋은 접근은 아니라고 생각합니다. 가끔 탐탁찮게 여겨지는 몬스터들의 장비 드랍, 강화와 장비 파괴, 수집, 거랫소는 서로 간에 존재 이유를 가지고 단단히 연결된 시스템입니다. 몬스터가 직접 장비를 드랍하는 세계는 플레이어에게 좀 더 직접적으로 의사소통을 해 플레이어가 게임을 직관적으로 이해할 수 있도록 합니다. 수많은 메커닉으로 이루어진 복잡한 시스템을 플레이어가 어떻게 이해할 수 있을까요? 튜토리얼을 통해서는 아닙니다. 게임이 플레이어에게 직접적으로 의사소통을 하기 때문이며 이는 개연성을 동시에 충적하기에 간단하지 않은 문제를 일으킬 수 있습니다.

직관적인 의사소통을 유지하면서도 개연성을 만족하는 것은 게임디자이너의 과제입니다. 다만 단기적으로 어느 하나의 우선순위를 올려야 한다면 직관적 의사소통을 더 중요하게 여길 겁니다. 그래서 몬스터가 직접 장비를 드랍 하도록 만들 것 같습니다.

획득 아이템 표시 위치와 경험치 표시 위치

제2의나라는 인터페이스가 정말 잘 정리되어 있습니다. 서비스 중인 비슷한 장르 다른 게임들을 살펴봐도 제2의나라만큼 인터페이스를 잘 정리한 사례를 찾기 어렵습니다. 자잘한 성장요소까지 따지고 들어가면 일관성이 깨진 인터페이스들이 있기는 하지만 이 정도 필터에 다른 게임들을 통과시키면 아무도 통과하지 못할 겁니다.

제2의나라에서 몬스터를 처치할 때 아이템과 경험치는 서로 다른 위치에 표시됩니다. 아이템은 오른쪽 위에 인벤토리 버튼과 가까운 곳에 표시되고 경험치는 왼쪽 아래에 경험치 게이지에 가까운 곳에 표시됩니다. 스크린샷을 보면 굉장히 잘 정돈되어 보입니다. 여러 정보가 어지럽게 나타나고 사라지는 것처럼 보이지만 정보의 종류에 따라 일관되고 예측 가능한 위치에 나타나고 있어 관심이 있는 정보를 보고 싶으면 화면의 정해진 위치를 바라보고 있으면 됩니다.

다만 경험치가 눈에 잘 들어오지 않는 것은 사실입니다. 제2의나라에서 경험치는 아이템에 비해 덜 중요한 정보입니다. 제2의나라에서 레벨은 감각적으로 투입한 시간에 따라 증가하는데 레벨업 자체가 엄청나게 중요한 이벤트가 아닙니다. 레벨업은 다른 성장요소들의 성장 가능성을 열어주는 이벤트일 뿐입니다. 실제 성장은 유저가 직접 인터페이스를 돌아다니며 성장재료를 소모해야 합니다.

이에 비해 리니지 시리즈에서 경험치는 대단히 중요한 정보입니다. 레벨업은 그 자체가 직접적인 성장을 의미하는데 현대에 아이템 컬렉션 같은 곳으로 성장이 분산되어 있기는 하지만 여전히 레벨이 중요합니다. 그래서 경험치가 화면 구석의 정리된 위치에 나타나면 불편하게 느껴집니다. 그래서 몬스터를 처치할 때 얻는 아이템과 경험치를 캐릭터 양 옆에 표시합니다. 제2의나라에서는 몬스터를 처치할 때 얻는 보상이 화면 상 보상의 종류에 해당하는 인터페이스에 가까운 위치에 표시되었다면 리니지에서는 캐릭터 주변에 표시하는데 양쪽 모두 중요하게 생각하는 성장요소에 따라 뚜렷한 목적에 따라 표시하고 있습니다.

메인퀘스트를 수락할 필요가 있나요?

이전부터 퀘스트를 시작할 때 퀘스트를 ‘수락’하는 단계가 필요한지 고민했었습니다. 퀘스트 종료 단계는 필요합니다. 명시적으로 보상을 받아야 하니까요. 퀘스트 하나 단위로 자동 진행되는 사례처럼 퀘스트 하나하나가 에피소드 형식으로 구성되어 있다면 새로운 에피소드가 시작됨을 환기해야 하기 때문에 퀘스트 수락 단계가 필요합니다. 하지만 퀘스트 하나하나의 스토리가 상대적으로 강조될 때에도 항상 퀘스트 수락 화면을 거쳐야 하는지는 의문이었습니다.

이번에 히트2 퀘스트 수락 화면을 보면서 의문이 더 깊어졌습니다. 퀘스트 수락 화면은 대강 퀘스트 이름, 설명, 보상 정보로 구성되고 위 스크린샷의 사례에는 퀘스트 설명이 생략되어 있습니다. 퀘스트 이름은 퀘스트가이드 등 온갖 다른 장소에 사용되니 어쩔 수 없이 입력해야 하지만 퀘스트 설명은 거의 수락 화면에만 나타나기 때문에 이를 작성하는데 드는 비용에 비해 효용은 낮은 편입니다. 예상할 수 있듯 거의 읽히지 않습니다. 또 메인퀘스트는 보상 정보가 크게 중요하지 않습니다. 어차피 성장 과정을 지원하는 보상을 지급 받을 뿐입니다. 보상을 보고 퀘스트를 선택하는 제2의나라의 제비상회 퀘스트나 리니지 시리즈의 아인하사드의 신탁이나 디아블로 이모탈의 현상금 사냥 같은 경우에는 퀘스트를 수락할 때 보상 정보가 중요하지만 이 사례에서는 보상 자체의 가치나 정보의 중요도가 높지 않습니다.

이전에도 퀘스트 수락 과정을 넣는데 특별한 고민을 하지는 않았습니다. 아무 게임을 생각해봐도 새로운 퀘스트를 받을 때 수락 과정을 거칩니다. 수락 과정이 너무나 당연해서 수락 과정을 없애는 것 자체를 상상할 수 없을 정도인데요, 이 화면은 생각보다 정보로써 가치가 적고 만드는데 비용은 높습니다. 또한 유저가 이 팝업을 보고 할 행동은 빠르게 수락하고 다음으로 진행하는 것 뿐입니다. 수락하지 않고 팝업을 닫는 취소 버튼 역시 별 의미가 없습니다. 퀘스트를 취소하는 경우는 동시 수행할 퀘스트 수에 제한이 있어 더 이상 퀘스트를 받을 수 없거나 보상을 보고 퀘스트를 취소하는 것 정도인데 메인퀘스트는 이 중 어디에도 속하지 않습니다. 메인퀘스트는 어차피 수행해야 하므로 취소 기능이 필요하지도 않습니다.

제2의나라가 퀘스트 각각을 에피소드 단위로 포장하고 수락과 보상 단계를 거치도록 만든 것은 퀘스트 수락과 보상 과정의 필요성을 드러내는 좋은 사례입니다. 반대로 여느 비슷한 장르 게임에서 퀘스트 수락 화면을 습관적으로 사용하는 것은 한번쯤 생각해볼 만한 주제라고 생각합니다. 게임에 따라 특정 지역에서만 수행할 수 있거나 직접 NPC를 통하는 대신 NPC가 원격에서 대사만 하며 시작되는 퀘스트는 퀘스트 수락 단계가 없기도 합니다. 더 가벼운 퀘스트이기 때문에 수락 단계를 생략한 것 같은데 개인적으로는 수락 단계가 필요 없는 것은 오히려 메인퀘스트 쪽이 아닐까 싶습니다. 다시 이 장르 게임을 개발할 기회가 있을지 모르겠지만 그럴 기회가 있다면 생각해봐야겠습니다.

선택보상상자의 문제

히트2에서 초반에 등장하는 선택보상상자는 클래스 별 스킬북 중 하나를 보상으로 선택할 수 있습니다. 이런 장치는 장기적으로 한 계정에 서로 다른 여러 클래스를 성장시키도록 유도하거나 거래소를 통해 다른 캐릭터가 얻은 아이템을 통해 성장을 가속하는 좋은 방법입니다. 디아블로 등에서 다른 클래스 장비가 드랍 되는 것도 같은 이유입니다. 하지만 이 장치는 단기적으로 유저에게 혼란을 줄 수 있습니다. 특히 이 사례처럼 극초반에 등장한 선택보상상자는 스탯을 직접 찍지 않는 이유의 스탯 사례와 비슷하게 게임을 아직 제대로 파악하지 못한 상태에서 되돌릴 수 없는 잘못된 선택을 하게 만듭니다. 개인적으로 선택보상상자의 의도는 이해하지만 이 모양 자체를 그대로 사용하는 것은 문제가 있다고 생각합니다.

먼저 선택 보상 상자를 사용해야만 한다면 선택을 미룰 수 있어야 합니다. 유저에게 상자 자체를 보상으로 주고 유저가 원할 때 상자를 열어 보상을 선택하도록 합니다. 어떤 선택을 해야 할 지 잘 모르겠으면 그냥 선택을 미루면 됩니다. 게임에 충분히 익숙해지거나 다른 사람에게 물어보는 등의 방법으로 정보를 얻은 다음에 선택해도 늦지 않습니다. 다만 선택 시점이 늦어짐에 따라 이 보상에 의한 성장에 손해를 보게 됩니다.

다만 위 사례는 클래스에 맞는 보상을 드랍할 방법이 없기 때문에 선택보상상자를 사용한 것처럼 보입니다. 의도적으로 다른 클래스 전용 보상을 드랍해 다른 클래스 캐릭터를 만들도록 압력을 가할 시점은 적어도 한 캐릭터의 중반 이후 시점이거나 이미 계정에 둘 이상의 서로 다른 클래스 캐릭터가 있을 시점입니다. 이 사례는 극초반 시점으로 다른 클래스 캐릭터를 만들도록 압력을 가하기에 적합한 시점이 아닙니다. 그럼에도 클래스 별 보상을 선택하도록 만든 것은 클래스에 맞는 보상을 집행할 방법이 없기 때문일 가능성이 있습니다. 스킬북을 지급해야 하기 때문에 클래스 공용 보상을 지급할 수 있는 상황도 아닙니다.

장기적으로 선택보상상자는 지금에 비해 여러 가지로 개선되어야 합니다. 유저에게 선택을 요구할 때는 각 선택의 영향을 충분히 설명하고 선택을 미루거나 직접 선택을 원하지 않는 유저를 배려해야 합니다. 선택을 미루는 것은 이미 선택하지 않고 상자를 닫을 수 있는 시점에 달성했습니다. 직접 선택을 원하지 않을 경우에 대비해 디자이너가 지정한 항목이 기본으로 선택되어 있어야 합니다. 또 선택보상상자 형태 대신 특정 아이템을 보상으로 받은 다음 이를 다른 아이템으로 변경할 수 있도록 하는 방법을 고려할 수 있습니다. 교환권을 NPC에게 들고 가거나 실제 사용 가능한 아이템을 NPC로부터 교환하는 방법이 생각나는데 선택보상상자의 핵심 중 하나는 인벤토리에서 즉시 보상을 받는 것이기 때문에 NPC를 통하는 것이 좋은 생각은 아닙니다. 여기서 NPC는 컨셉을 설명하는 수준으로 이해해 주시면 좋겠습니다.

한편 여러 비슷한 장르의 중국 게임들이 유저에게 선택을 요구할 때 다른 유저들의 선택 통계를 보여주기도 하는데 선택에 자신감을 주는 재미있는 장치입니다. 선택보상상자 뿐 아니라 게임 상의 여러 선택에 유저를 도와줄 수 있는 좋은 접근입니다.

스탯을 직접 찍지 않는 이유

오래된 게임을 처음 시작할 때 캐릭터 이름을 정하자마자 초기 스탯을 설정해야 하던 적이 있었습니다. 게임에 대해 아직 제대로 알지도 못하고 또 여러 숫자들이 게임에 어떤 영향을 끼치는지도 모르는데 당장 숫자부터 정하라는 요구를 받아 당황했습니다. 게임을 시작하기도 전에 이미 게임을 경험한 다른 사람들로부터 정보를 수집해야 하는 상황에 놓였습니다. 이런 디자인은 초반에 문제가 잘 드러나지 않지만 중후반에 이르러 작은 스탯 차이가 다른 결과를 만들어낼 때 문제를 인식하면 문제를 바로잡을 방법이 없는 상황에 이르기도 합니다.

게임에 따라 레벨업 때마다 스탯을 직접 지정하기를 요구하는 경우도 있습니다. 이때 클래스 설계 의도와 다른 방향으로 스탯을 찍으면 소위 망캐가 되기도 합니다. 스탯 리셋이 없으면 캐릭터를 다시 만들어야 했습니다. 충분한 정보를 제공하지도 않았고 게임에 익숙해지기도 전에 돌이키기 어려운 선택을 요구하는 건 아주 부당한 경험입니다. 사실은 이런 숫자 선택이 어디서 시작되었는지는 알고 있지만 이 지식을 게임을 시작하는 모든 사람들에게 기대하는 것은 옳지 않습니다.

지금에 와서 생각해보면 이런 디자인은 의도와 아주 다른 결과를 만들어냈다고 생각합니다. 원래 의도는 같은 클래스라도 스탯에 따라 다른 플레이 스타일을 만들어낼 가능성을 열어 놓는 것입니다. 서로 다른 스탯에 따른 플레이 스타일들이 게임의 여러 시점에 따라 비슷한 효율을 내도록 설계해야 합니다. 그렇지 않으면 효율이 높은 스테이터스 조합을 제외한 나머지는 망캐가 되고 맙니다. 싱글플레이 게임에서는 여러 가능성을 탐색하고 잘못된 선택을 돌파하는 플레이 스타일을 발견하는 것 자체가 의도한 플레이의 일부였습니다. 그런데 멀티플레이 게임에서는 이런 탐색 활동이 성장 경쟁에서 밀려나는 행동입니다. 가능성은 열려 있지만 같은 비용을 들여 효율 우선의 선택을 한 상대와 PvP를 할 때 탐색적 플레이가 부정되는 상황을 겪게 됩니다. 강한 경쟁을 요구하는 멀티플레이 장르에는 어울리지 않는 디자인입니다.

이제 레벨업 할 때 스탯이 자동으로 증가합니다. 클래스 디자인 의도에 따라 레벨이 오르는데 맞춰 캐릭터가 동작합니다. 클래스 디자인 의도와 다른 망캐를 만들어낼 수 없습니다. 디자이너는 비슷한 시점에 서로 다른 클래스 간에 비슷한 효율을 달성하도록 디자인하기만 하면 됩니다. 이전처럼 서로 다른 스탯 단의 효율을 맞추려고 노력하지 않아도 되어 디자인 난이도가 낮아집니다. 유저 입장에서는 망캐를 만들 여지가 없어 자신 있게 레벨업에만 집중할 수 있게 됐습니다.

게임을 파악한 다음 돌이킬 수 있는 방법으로 스탯을 조절할 수 있기도 합니다. 스탯을 잘못 찍었다면 비용을 내고 스탯을 리셋 할 수 있게 하기도 하는데 캐릭터를 새로 만드는 것 보다는 관대하지만 새로운 시도에 비용을 요구하고 있습니다. 근본적으로 새로운 시도를 지향하는 디자인은 아닙니다. 단지 실수를 바로잡는 수준의 의미만 있습니다.

리니지 라이크 게임 공통으로는 아이템 컬렉션을 통해 스탯을 올립니다. 컬랙션에서 원하는 스탯을 찾아 이에 해당하는 아이템을 파밍하는 플레이는 유저를 게임에 익숙하게 만들고 스탯 자체를 목표로 설정하게 만들어 실수 여지를 줄입니다. 특정 스탯을 목표로 삼는다면 장비성장으로 스탯을 올리기도 합니다. 스탯 종류에 따라 전투에 직접 관여하는 스탯은 컬렉션에서 분리해 장비성장에 배치하고 장비를 성장시키는 맥락을 통해 전투 행동에 관여하는 스탯을 올리도록 자연스럽게 가이드합니다.

현대에는 레벨업 할 때 더이상 스탯 설정을 직접 요구하지 않는데 유저가 돌이킬 수 없는 실수를 하도록 방치하지 않기 위함입니다. 이는 현대 관점에서 너무 낡은 메커닉이라고 생각합니다. 직접 스탯을 선택하게 하기보다는 스탯 자체를 목표로 삼도록 성장 방식을 변경하는 것이 현재의 추세입니다.

왜 UI를 조작하는 퀘스트는 자동진행 할 수 없나요?

자동퀘스트를 지원하는 여러 게임에서 자동으로 진행할 수 없는 퀘스트를 본 적이 있을 겁니다. 항상 스폰되어 있지 않은 대상에세 이동하거나 월드에 같은 대상의 여러 인스턴스가 배치되어 있거나 대상이 걸어서 이동할 수 없는 위치에 있는 경우 자동 진행 동작을 정의하기 상당히 까다롭습니다. 그래서 기능의 중요성과 개발비용을 감안해 단순하게 처리한 결과입니다. 시간이 지나며 비슷한 장르의 여러 게임이 등장하면서 이런 정의하기 까다로운 부분을 개발한 사례가 등장해 이후 게임들의 표준이 되기도 합니다.

최근 플레이한 히트2에서도 익숙한 자동으로 진행할 수 없는 퀘스트를 봤습니다. 이번에 본 것은 위에 설명했던 이유와 다른 형태여서 짚고 넘어가려고 합니다. 이 경우는 인터페이스 조작을 요구하는 가이드 퀘스트입니다. 자동퀘스트는 캐릭터를 직접 제어해 수행하는 형태로 개발 되어 있을 겁니다. 가이드 퀘스트 상당수는 게임 인터페이스를 직접 조작해 정해진 목적을 달성하는 것입니다. 캐릭터를 조작해서 수행하는 자동퀘스트와는 완전히 다른 시스템을 요구합니다. 퀘스트보다는 튜토리얼에 가까운 기능을 정의해야 합니다. 기능의 중요성과 개발비용을 감안해 인터페이스를 자동으로 조작하는 자동퀘스트 기능을 개발하기보다는 자동진행을 지원하지 않도록 개발했을 겁니다.

전통적인 튜토리얼을 통해 인터페이스 조작 방법을 알려줬으므로 가이드 퀘스트 자동진행을 지원할 것인지 자체를 판단하는 것부터 간단하지 않은 문제입니다. 인터페이스 조작을 자동으로 수행할 경우 유저는 게임의 핵심 성장 방법을 아예 모르게 될 수 있습니다. 그래서 욕을 먹으면서도 핵심 성장과정은 전통적인 튜토리얼을 통해 한 번은 수행하게 해야 합니다. 가이드 퀘스트에서 인벤토리에 있는 특정 아이템을 사용하도록 할 때 유저가 튜토리얼로부터 이전에 배운 이 동작을 수행해내기를 기대하지만 잘 안 될 가능성이 높습니다. 그러면 이 과정을 다시 튜토리얼 형태로 가이드 해야 할까요? 아니면 빨간점을 통해 가이드 할 수도 있지 않을까요? 그러기에 빨간점은 이미 게임의 너무 많은 곳을 가리키고 있어 퀘스트를 가이드하는 용도로 사용하기에 너무 많이 소모됐습니다.

만약 가이드 퀘스트의 인터페이스 조작을 자동으로 수행하려면 어떻게 해야 할까요. 인터페이스가 자동으로 열렸다 닫히게 해야 할까요? 만약 이렇게 만들면 게임이 마치 매크로에 의해 동작하는 것처럼 보일 수도 있습니다. 또 인터페이스 조작 과정을 자동으로 진행하는 동안 유저가 다른 인터페이스를 조작하거나 캐릭터를 조작하고 싶으면 어떻게 해야 할지 정의하기도 쉽지 않습니다. 다른 게임에 사례가 아예 없으니 동작을 바닥부터 정의해야 하는데 여기에 드는 비용을 감내할 만한 개발팀은 드뭅니다.

이제 질문으로 돌아가 UI를 조작하기를 요구하는 퀘스트에 자동진행을 지원하지 않는 것은 지금까지 설명한 이런 이유들 때문입니다. 지금까지 아무도 만든 적이 없어 기능의 중요성에 비해 비용이 높기 때문입니다. 근본적으로 이런 가이드를 퀘스트 형태로 제시하는 것 자체가 올바른 것인지 고민해 볼 필요도 있습니다. 가령 특정 레벨에 도달하는 목표를 퀘스트가이드 인터페이스에 걸어 놓고 자동진행을 지원하지 않는 것 역시 퀘스트가이드 인터페이스에 과도하게 의존하거나 인터페이스의 원래 용도를 벗어난 사용으로 동작을 정의할 수 없는 것일 수도 있습니다.

개인적으로는 인터페이스를 조작하는 퀘스트를 자동으로 진행하는 동작을 개발하는 것은 올바른 접근이 아니라고 생각합니다. 레벨업이나 가이드가 퀘스트 형태로 제공되는 것 자체가 기능을 잘못 사용해 동작을 정의하기 어려운 상황이라고 봅니다. 특정 아이템 사용을 조건으로 걸어 보상을 주려면 업적으로 바꿔 퀘스트 목록에 나타내지 않거나 대상 아이템을 사용하는 바로가기를 제공하는 편이 낫습니다. 퀘스트가이드에 아이템아이콘을 표시하고 터치하면 인벤토리에 접근하지 않고도 바로 아이템을 사용하는 것도 퀘스트가이드 인터페이스에 의존하기는 하지만 자동진행을 지원하지 않는 상황을 피하는 방법입니다.

인벤토리 인터페이스 설계 철학

전통적인 모바일 튜토리얼과 인터페이스의 충돌 사례화면을 가리지 않는 인첸트 인터페이스에서 여러 번 리니지 라이크 장르 인터페이스 설계 철학에 대해 이야기했었습니다. 필드 PvP가 있고 항상성 유지를 위해 다양한 아이템을 사용하며 주요 스킬 이외에도 인벤토리에 있는 여러 주문서를 빠르게 사용해야 하는 플레이 스타일의 게임은 주요 인터페이스가 화면을 가리지 않아야 합니다.

이런 게임에서는 메인메뉴와 인벤토리 형태를 눈여겨 봐야 합니다. 먼저 메인메뉴는 게임의 모든 화면에 접근하는 허브인데 크게 넷마블 스타일의 화면 전체를 덮고 좌우측에 나타나는 형태와 리니지 스타일의 화면 오른쪽만 사용하되 메뉴가 위쪽부터 차례로 나열된 형태가 있습니다. 이쯤 되면 예상할 수 있겠지만 리니지 스타일의 메인메뉴는 인벤토리 인터페이스 설계 철학을 따릅니다. 화면 전체를 덮는 메인메뉴는 보다 많은 메인메뉴와 서브메뉴를 보여주고 이들의 위계를 표현할 수 있지만 화면을 뒤덮어 캐릭터를 위험에 노출시킵니다. 필드에서 캐릭터는 위험에 노출되지 않기 때문에 이런 형태를 사용할 수 있습니다.

한참 플레이가 일어나는 도중 인벤토리를 열어 아이템을 사용할 일에 대비할지가 핵심입니다. 모든 게임은 인벤토리를 열지 않은 채 플레이 할 수 있도록 디자인 되어 있습니다. 스킬 자동사용 단축슬롯과 아이템 자동슬롯 단축슬롯이 이 역할을 합니다. 이 단축슬롯들은 상황에 따라 다른 스킬과 아이템을 사용하도록 좌우로 스크롤 할 수 있습니다. 특히 스킬 단축슬롯은 어느 페이지로 스크롤 되어 있느냐에 따라 자동전투 양상이 달라집니다. 리니지W에서는 아예 마법회로로 기능이 분리되었지만 단축슬롯 만으로도 자동전투 스타일을 바꿀 수 있습니다. 이를 위해 단축슬롯에는 스킬과 아이템을 중복으로 올려놓을 수 있습니다.

한번에 단축슬롯 한 페이지에 표시되는 아이템보다 더 많은 아이템을 사용할 여지를 열어두고 플레이 할 수도 있습니다. 이런 플레이 스타일을 감안해 인벤토리를 연 채로 플레이 할 수 있도록 만듭니다. 어떤 팝업은 팝업 바깥을 터치하면 팝업이 닫히지만 인벤토리는 그렇지 않습니다.

인벤토리가 화면에 떠 있는 상태로 플레이 할 수 있으려면 인벤토리 좌우 폭이 좁아 화면을 최소한만 가려야 합니다. 또한 인벤토리 바깥을 터치해도 인벤토리가 닫히지 않아야 합니다. 리니지 라이크 게임으로 알려진 몇몇 게임의 인벤토리 인터페이스를 살펴보면 리니지 시리즈들이 이 요구를 가장 잘 따르고 있습니다. 오딘은 이렇게 플레이 할 것을 염두해 두지 않은 모습입니다. 인벤토리 화면에서 플레이 스타일을 정의한 다음 이를 닫고 플레이에 돌입하는 형태입니다. 히트2는 지금까지 설명한 기준에서는 약간 어중간합니다. 리니지 스타일의 플레이에 대응하는 것 같지만 그렇다고 하기엔 인벤토리 폭이 넓어 화면을 너무 많이 가립니다. 오딘처럼 화면 전체를 활용하도록 디자인해도 딱히 이상하지 않아 보입니다.

인벤토리와 메인메뉴는 모바일 MMO 게임의 플레이 스타일을 알아보는 지표 중 하나입니다. 만약 개발 초기에 인벤토리 초기 형태를 설계한다면 게임 플레이 형태에 따른 인터페이스 설계 철학을 생각해 초기 형태를 쉽게 구축할 수 있습니다.


게임디자인 블로그 글목록

  • No labels