튜토리얼
퀘스트 시스템 설계 (3)
지난 퀘스트 시스템 설계 (1)과 퀘스트 시스템 설계 (2)에서 디아블로 이모탈의 현상금 사냥 퀘스트 중 하나를 기준으로 MMO 게임의 퀘스트가 대략 어떻게 구성되는지 알아봤습니다. 사실 웬만큼 복잡한 퀘스트도 이 기반에 더 다양한 퀘스트 목표를 수행할 수 있도록 확장하고 퀘스트를 수행하는 장소 역시 퍼시스턴트 월드, 인스턴스 던전으로 확장하면 어지간한 게임에서 수행하는 퀘스트를 대부분 커버할 수 있습니다. 그래서 이번에는 주요 퀘스트 목표와 각 목표 별로 필요한 값들을 설명하겠습니다. [계속]
퀘스트 시스템 설계 (2)
지난 퀘스트 시스템 설계 (1)에서는 디아블로 이모탈의 현상금 사냥 퀘스트를 기준으로 퀘스트 동작과 플레이시나리오를 살펴보고 요구사항을 간단히 정리해 봤습니다. 이번에는 현상금 사냥 게시판에서 ‘카즈라의 위협’ 퀘스트를 데이터로 표현하기 위해 퀘스트 정보를 데이터로 구성해 보겠습니다. [계속]
퀘스트 시스템 설계 (1)
자동 기능을 제공하는 현대 모바일 MMO 게임에서 퀘스트는 게임 플레이에 많은 부분을 지배합니다. 일상적인 전투는 자동전투를 돌려 놓고 조금 더 신경 써야 하는 전투는 스캔을 통해 타겟팅에 관여합니다. 여기에 퀘스트가이드 인터페이스를 터치해 조작하는 자동퀘스트를 포함하면 게임의 절반 정도를 차지한다고 생각합니다. 앞으로 몇 번에 걸쳐 자동 기능을 제공하는 퀘스트 시스템이 대략 어떻게 구성되는지 살펴보려고 합니다. 지난번 인터랙션 오브젝트나 보상 시스템처럼 모바일 게임에서 대략적인 동작은 합의한 상태라고 가정하고 바로 플레이 시나리오를 검토하고 요구사항을 정의하는 단계부터 시작하겠습니다. 가상의 게임을 가정하는 것도 좋지만 플레이 시나리오를 좀 더 편하게 검토하기 위해 디아블로 이모탈의 현상금 사냥 퀘스트 중 하나를 메인퀘스트로 진행한다고 가정하겠습니다. [계속]
악마 투석기는 무슨 기능으로 만들어야 하나요?
디아블로 이모탈을 플레이 하다가 문득 악마 투석기를 봤습니다. 메인퀘스트를 플레이 하면서 이 악마 투석기를 파괴하는 퀘스트를 했던 기억이 납니다. 주변에 있는 몬스터를 정리한 다음 악마 투석기에 인터랙션 하면 시간이 지난 후 파괴되는데요, 이 동작을 보면 이전에 다뤘던 인터랙션 오브젝트(인터랙션 오브젝트 설계 (1), 인터랙션 오브젝트 설계 (2), 인터랙션 오브젝트 설계 (3))와 동작이 같다는 것을 알 수 있습니다. 그런데 이런 악마 투석기는 플레이어의 전투 행동에 의해 파괴되도록 만들 수도 있고 별도의 인터랙션에 의해 파괴되도록 설정할 수도 있습니다. 이참에 MMO 게임을 만들며 몬스터와 인터랙션 오브젝트를 구분하던 이야기를 곁들여 각 방식으로 만들 때 얻게 되는 효과를 함께 설명하겠습니다. [계속]
인터랙션 오브젝트로 채집물을 만들 수 있을까?
이전에 인터랙션 오브젝트 설계 (1), 인터랙션 오브젝트 설계 (2) 인터랙션 오브젝트 설계 (3)에 걸쳐 단순한 인터랙션 오브젝트를 어떻게 만드는지 알아봤습니다. 문득 오딘에 나오는 채집물을 만들 수 있을지 궁금해졌습니다. 실제로는 여기서 검토하는 것처럼 단순하지는 않지만 재미 삼아 이전에 만들었던 인터랙션 오브젝트로 오딘의 광물을 만들 수 있을지 알아보겠습니다. 먼저 오딘의 광물 동작을 정리해봅시다. [계속]
선택 보상 상자 설계
이전 보상 시스템 설계 (1), 보상 시스템 설계 (2)에 걸쳐 단순한 보상 시스템이 어떻게 만들어지는지 설명했습니다. 사실 그 정도면 웬만한 게임의 어지간한 보상 요구사항을 달성할 수 있을 겁니다. 하지만 ‘선택 보상’을 줘야 한다는 요구사항이 나타나면 이를 반영하지 않을 수 없습니다. 실은 개인적으로 이 선택 보상은 썩 좋은 메커닉이라고 생각하지는 않습니다. 후반에 게임 시스템을 학습한 플레이어에게 다양한 기회를 주되 모든 보상을 중복해서 줄 필요가 없다는 장점이 있고 또 선택 자체가 재미있을 거라고 예상한다면 나쁘지는 않습니다. 하지만 선택하기 전에는 보상을 받을 수 없고 인터페이스에 따라 선택을 해서 보상을 받지 않으면 다음으로 넘어갈 수 없는 경우도 있습니다. 그래서 이런 보상을 굳이 주고 싶다면 일단 교환권을 받은 다음 이를 원하는 때에 사용해 보상을 선택하는 편이 낫다고 생각합니다. 리니지2M에서는 퀘스트 보상 팝업에서 선택 보상을 즉시 결정해야 해서 경험이 나빴는데 리니지W에서는 일단 보상 상자를 준 다음 이 상자를 열 때 보상을 선택하도록 하고 있어 그보다는 경험이 나았습니다. [계속]
괴물이 튀어나오는 인터랙션 오브젝트 설계
이전에 인터랙션 오브젝트 설계 (1), 인터랙션 오브젝트 설계 (2) 인터랙션 오브젝트 설계 (3)에 걸쳐 두 가지 상태만 있는 단순한 인터랙션 오브젝트가 어떻게 동작하는지 알아봤습니다. 이미 게임을 플레이 하며 뼈무더기 이외에도 거의 같은 요소가 게임에 여러 번 나온다는 것을 보셨을 겁니다. 가령 인터랙션 해서 닫아야 하는 지옥 차원문, 인터랙션 하면 열리며 보상을 토해내는 보물상자, 인터랙션 하면 효과를 주는 신단 같은 것들입니다. 이들은 이전에 다룬 단순한 인터랙션 오브젝트와 거의 같으면서도 보상 대신 효과를 주거나 다음 상태로 전환하는 대신 사라지는 식으로 동작이 아주 조금씩 다릅니다. 하지만 핵심 동작은 똑같으니 비슷한 요구사항이 나올 때 아주 조금씩만 바꿔 가며 대응할 수 있습니다. [계속]
보상 시스템 설계 (2)
이전 보상 시스템 설계 (1)에서 게임의 나머지 부분에 연결해 사용할 수 있는 간단한 보상 시스템의 요구사항과 요구사항 중 일부를 반영한 구조를 만들어 보았습니다. 단일 보상에는 여러 아이템들이 들어있는데 아이템 각각은 자신이 나올 지 말 지를 결정할 확률을 가지고 있고 수량을 범위로 설정할 수 있습니다. 이런 아이템을 여러 개 설정해 몬스터에 연결하면 이 몬스터를 처치할 때 골드 약간과 장비 약간, 그리고 성장 재료 약간을 제한된 범위 안에서 조금씩 다르게 드랍 할 겁니다. [계속]
보상 시스템 설계 (1)
이전에 세 번에 걸쳐('인터랙션 오브젝트 설계 (1)', ‘인터랙션 오브젝트 설계 (2)’, ‘인터랙션 오브젝트 설계 (3)’) 간단한 인터랙션 오브젝트 설계 과정을 설명했습니다. 다른 시스템 도움 없이 인터랙션 오브젝트를 설명하려다 보니 있다 치고 넘어간 부분들이 있습니다. 가령 알아서 클래스에 맞는 애니메이션을 재생하는 부분이나 보상을 설정하는 부분입니다. 보상은 초기 데이터는 단순하지만 시간이 흐름에 따라 확률이나 수량 조정에 따른 요구사항이 늘어나면서 꽤 복잡해질 수 있는데요, 이번에는 간단한 보상 시스템을 설계해 보겠습니다. [계속]
인터랙션 오브젝트 설계 (3)
인터랙션 오브젝트 설계 (1)과 인터랙션 오브젝트 설계 (2)에 이어 세번째입니다. 쓰기 시작할 때 이야기할 내용 범위를 정해놓지는 않지만 이 세 번째 글이 처음 이야기한 주요 동작을 다루는 마지막일 것 같습니다. 지난번에는 플레이어가 뼈무더기에 다가가 인터랙션 버튼이 나타나고 이를 터치해 일정 시간 동안 인터랙션이 진행되는 이야기를 했습니다. 이제 남은 요구사항은 무너진 상태가 되면 아이템을 떨어뜨리고 무너진 후 상태를 유지하다가 정해진 시간이 지나면 무너지기 전 상태로 돌아가는 것입니다. 하나씩 생각해봅시다. [계속]
인터랙션 오브젝트 설계 (2)
지난 인터랙션 오브젝트 설계 (1)에 이어 모바일 MMO에 등장하는 가상의 인터랙션 오브젝트를 설계를 계속하겠습니다. 지난번에 이야기했던 시나리오를 잠깐 리마인드 하고 시작할께요. MMO 게임의 필드에 뼈무더기가 있습니다. 플레이어캐릭터가 뼈무더기에 다가가 인터랙션 하면 뼈무더기가 무너지며 보상을 토해냅니다. 무너진 뼈무더기는 정해진 시간이 지나면 무너지기 전 상태로 돌아갑니다. 이 뼈무더기는 멀티플레이 가능한 필드에 있어 주변의 다른 플레이어캐릭터들에게 상태가 공유됩니다. 한 사람이 무너뜨리면 다른 사람들은 한동안 이 뼈무더기로부터 보상을 받을 수 없습니다. [계속]
인터랙션 오브젝트 설계 (1)
모바일 MMO 게임에 자주 등장하는 가상의 인터랙션 오브젝트를 설계하는 과정을 설명하려고 합니다. 바로 이전에 2022년 7월 블로그 요약 (1)을 시작할 때도 비슷한 이야기를 했는데 이 이야기를 한번에 처음부터 끝까지 작성하면 쓰는 사람도 읽는 사람도 고통스러울 것 같으니 제가 쓰고 싶은 만큼 씩 진행할 겁니다.
먼저 이 가상의 인터랙션 오브젝트가 게임 상에서 어떻게 동작할지 생각해 봅시다. 다른 게임의 사례를 사용해 동작을 상상하면 일하기 편해집니다. 요즘 플레이 하고 있는 디아블로 이모탈에 등장하는 뼈무더기 사례를 떠올려 봅시다. 필드에서 플레이 하다 보면 뼈무더기가 등장하는데 다가가서 인터랙션 하면 뼈무더기가 무너지고 작은 보상을 줍니다. 이 뼈무더기가 바로 인터랙션 오브젝트입니다. 동작을 살펴보면 무너지기 전 상태와 무너진 후 상태가 있고 무너질 때 무너지는 애니메이션과 무너지는 소리를 냅니다. 또 무너진 다음에는 보상을 주고요. 그리고 무너진 상태에서는 더 이상 인터랙션 할 수 없는데 이 상태를 계속해서 관찰하고 있으면 무너지기 전 상태로 돌아갑니다. 이 때 다시 인터랙션 하면 똑같이 무너지고 보상을 줍니다. [계속]