Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

월 별 요약은 2022년 7월, 8월, 9월 석 달 동안만 진행하고 이후에는 진행하지 않고 있습니다.

Table of Contents

2022년 9월 블로그 요약 (4)

2022년 9월 블로그 요약 (1), 2022년 9월 블로그 요약 (2), 2022년 9월 블로그 요약 (3)에 이은 9월 마지막입니다.

인터랙션 오브젝트로 채집물을 만들 수 있을까?

...

게임에 따라 출발지에서 목적지까지 온전히 걸어서 이동할 수 있을 때만 자동이동을 제공하고 이 사이에 존로딩을 하거나 NPC와 대화를 해야 하거나 비용을 지불해야 하는 경우 자동이동을 지원하지 않기도 합니다. 그런데 자동퀘스트와 자동이동을 지원하기 시작했다면 이를 최대한 넓은 범위에 제공해야 한다고 생각합니다. 자동 기능을 잘 제공하다가 이따금씩 플레이어에게 제어권을 넘겨주고 알아서 하라는 행동은 자동 기능을 지원하는 게임에서 적절하지 않은 대응입니다. 일단 자동 기능을 지원한다면 전통적으로 NPC와 대화한 다음 배를 타는 메커닉은 애초에 만들지 않도록 가이드해야 합니다.

...

2022년 9월 블로그 요약 (3)

...

)

...

선택 보상 상자 설계

보상 시스템 설계 (1), 보상 시스템 설계 (2)에서 단순한 보상 시스템이 동작하는 방법을 알아봤습니다. 리니지W를 플레이 하다가 상자 보상을 받았는데 인벤토리에서 상자를 열어보니 몇 가지 보상 중 하나를 선택하는 보상이었습니다. 이전에 만든 단순한 보상 시스템으로는 이 선택 보상 상자를 만들 수 없습니다. 그래서 선택 보상 상자가 동작하는 방법을 알아보겠습니다. 이전 보상 시스템은 단일 보상에 이 보상이 집행될 방식과 그 하위에 아이템 여러 개를 포함할 수 있는 그룹으로 이루어집니다. 단일 보상의 집행 방법을 ‘선택’ 혹은 ‘선택 보상 상자’로 설정합니다. 이 옵션은 하위에 있는 그룹 각각을 선택 옵션으로 보여주고 이들 중 하나를 선택하게 만듭니다. 그룹 각각은 아이템 하나만 포함하거나 그룹 하위에 독립적인 확률 연산을 사용할 수도 있는데 기능 상으로는 이렇게 사용할 수도 있지만 선택한 그룹 하위에서 다시 한번 확률 연산을 하는 사례를 실제 게임에서는 만나지 못했습니다.

...

괴물의 정수는 필드사냥을 소극적으로 부스팅 하는 장치입니다. 디아블로 이모탈은 근본적으로 던전을 돌아 괴물을 처치하고 장비를 얻어 성장하는 게임이지만 이전에 비해 멀티플레이 필드 플레이를 강조합니다. 여러 가지 방법으로 필드 플레이를 유도하는데 이들 중 상대적으로 소극적인 방법입니다. 좀 더 필드 플레이를 적극적으로 부스팅하는 사례에는 모바일 리니지 시리즈의 아이템 컬렉션이 있는데 이는 필드 플레이를 강하게 부스팅 할 뿐 아니라 제작, 강화, 합성, 거래소 사용을 강하게 부스팅 합니다. 게임에 따라서는 몬스터마다 다른 정수를 부스팅 하기도 하는데 이때는 몬스터 도감에 몬스터마다 레벨을 올릴 수 있도록 구성합니다.

2022년 9월 블로그 요약 (2)

...

)

...

왜 꼭 길드에 가입해야 하나요?

과거의 길드는 커뮤니티 요소로 게임에 권태기가 찾아올 때 게임에 좀 더 남아있을 이유로써 주로 작동했습니다. 현대에 가까워질수록 길드는 커뮤니티를 가장한 최상위 컨텐츠를 위한 성장 기능으로 변했습니다. 여전히 길드는 개발 계획에서 주로 커뮤니티 카테고리에 들어 있지만 현대의 길드는 성장 컨텐츠 카테고리에 들어가야 한다고 생각합니다. 길드에 가입해야 할까요? 과거에는 장차 찾아올 게임의 권태기를 견딜 수 있게 만들기 위함이었습니다. 이제 현대에는 최상의 컨텐츠를 더 유리하게 플레이 하기 위해 출석 보상, 길드 버프 등을 얻기 위해서 길드에 가입합니다.

...

리니지 시리즈의 전투 특성을 알고 있고 특별한 만큼 장점이 있다고 생각합니다. 약간 느려 보이는 이동속도나 소위 칼이 안 박히는 경험은 이를 돌파할 때 반대로 강렬한 경험을 하게 해 줍니다. 다만 이걸 머리로는 이해하고 있었지만 몸은 그렇게 반응하지 않았습니다. 디아블로 이모탈 하루치를 플레이 한 다음 게임을 종료하고 바로 이어서 리니지W를 켜서 자동전투를 돌려놓고 화면을 지켜보는데 회피가 일어나 아예 타격이 일어나지 않고 있었습니다. 일부 공격은 타격이 일어났지만 나머지는 ‘휭 휭’ 하며 허공에 칼을 휘두르는 소리만 났습니다. 방금 전까지 디아블로에서 허접한 숫자가 뜰지라도 일단 휘두르면 맞기는 하던 세계에서 온 저는 머리로는 이게 어떤 경험인지 알고 있었지만 지켜보기가 너무나 고통스러웠습니다.

2022년 9월 블로그 요약 (1)

지난 8월에는 2022년 8월 블로그 요약 (1), 2022년 8월 블로그 요약 (2), 2022년 8월 블로그 요약 (3), 2022년 8월 블로그 요약 (4)에 걸쳐 한 달 간 쓴 이야기를 요약했습니다. 이번에도 똑같이 지난 9월에 한 이야기를 짚고 넘어가겠습니다. (smile)

보상 시스템 설계 (2)

...

보상 시스템 설계 (2)

보상 시스템 설계 (1)에서는 여러 게임에서 흔히 사용되는 보상 시스템의 요구사항을 나열해 보고 이들 중 가장 단순한 부분이 어떻게 구성되는지 알아봤습니다. 보상 시스템 설계 (2)에서는 여기에 같은 상황에 드랍되는 보상이 캐릭터 클래스에 따라 달리 드랍되어야 할 때 처리 방법을 알아봅니다. 또 보상에 따라 그룹 내 독립확률에 의해 그룹에 속한 아이템 각각이 독립 확률 연산을 통해 드랍되는 경우와 결합롹률에 의해 그룹에 속한 아이템 중 하나를 골라 드랍해야 하는 상황을 같은 데이터 안에서 처리하도록 구성해 보았습니다. 예제 데이터는 성장재료 중 하나 이상을 드랍하는 경우와 여러 캐릭터카드 중 딱 하나만 드랍하는 경우 데이터를 구성하는 방법을 설명했습니다.

...

디아블로 이모탈을 플레이 하다 보면 검은 안개를 없애는 퀘스트가 있습니다. 검은 안개는 이전에 설명한 인터랙션 오브젝트와 거의 똑같습니다. 그런데 다가가서 인터랙션 하면 안에서 괴물들이 튀어나온 다음 안개가 사라집니다. 이 요구사항을 전에 설명했던 인터랙션 오브젝트 설계 (1), 인터랙션 오브젝트 설계 (2) 인터랙션 오브젝트 설계 (3)를 확장해 대응해 봅니다. 인터랙션 오브젝트 자체의 동작은 똑같습니다. 검은 안개가 있고 인터랙션 하면 사라집니다. 그런데 인터랙션 해서 상태가 바뀔 때 안에서 몬스터들이 스폰되어 지정된 방향을 향해 두 줄로 달려간 다음 캐릭터와 전투 하게 됩니다. 어떤 팀에서는 이런 요구사항을 이미 개발된 기능 조각을 조립할 수 있는 환경을 통해 추가 구현 없이도 만들 수 있을 겁니다. 또 다른 팀에서는 이를 별도 기능으로 만들어 에디터 환경에서 괴물이 튀어나오기로 약속된 인터랙션 오브젝트를 그냥 배치하기만 하도록 만들 수도 있을 텐데 여기서는 후자의 방법을 알아봅니다.

2022년 8월 블로그 요약 (4)

2022년 8월 블로그 요약 (1), 2022년 8월 블로그 요약 (2), 2022년 8월 블로그 요약 (3)에 이은 마지막입니다.

룰렛 이벤트

고문서와 비슷한 특정 행동에 보상하는 장치입니다. 고문서의 업적 시스템과 거의 비슷하지만 이 이벤트에 의해 정해진 날짜 범위 안에서만 업적 달성을 판단해 보상합니다. 이미 같은 행동에 대해 인게임에서 보상을 받고 있지만 여기에 이벤트를 통해 추가로 보상을 받아 이 행동을 하도록 더 강하게 유인합니다. 이 사례에서는 게임 내에서 정해진 행동을 함에 따라 ‘달의 은총’이라는 전용 재화를 받고 이 재화를 사용해 룰렛을 돌려 아이템을 얻습니다. 한 번 얻은 아이템은 다시 얻을 수 없기 때문에 초반에 원하는 아이템을 얻지 못했더라도 뒤로 갈수록 원하는 아이템을 받을 가능성이 높아지며 마지막으로는 가운데 있는 가치가 높은 아이템을 받을 수 있기 때문에 일단 시작하면 이벤트를 끝까지 진행할 동기가 생깁니다. 이벤트가 종료될 때 재화가 남아있을 수 있는데 게임에 따라 이를 이벤트를 종료하며 회수하거나 내부에 보이지 않는 채 기록해 뒀다가 추후 다른 이벤트에 재사용하기도 합니다.

...

매일 업무내역을 로깅한다는 글을 보고 제가 업무내역을 로깅하는 요령을 공유해봅니다. 다만 업무내역을 직접 공유하면 회사와 계약을 깨게 되니 업무내역을 로깅하는 방법과 완전히 똑같은 방법을 사용하는 개인 할일 기록 방법을 소개합니다. 할일은 지라를 통해 관리합니다. 다른 더 편하고 예쁜 도구가 많지만 자잘한 요구사항에 맞춰 동작을 수정할 수 있는 도구는 지라가 가장 편했습니다. 태스크 타입마다 서로 다른 필드, 서로 다른 오토메이션을 필요로 했는데 이런 요구사항을 만족하는 도구는 거의 없었습니다. 작은 할일들을 생각날 때마다 지라 태스크로 만들어 수행하고 할일마다 메모거리가 있으면 지라 태스크에 답글을 답니다. 그날그날 처리한 지라 링크를 모아 두면 이 자체가 로그 역할을 합니다. 로그를 작성하는데 노력이 거의 필요하지 않기 때문에 로그를 남기면서도 할일 각각에 더 집중할 수 있었습니다.

...

2022년 8월 블로그 요약 (3)

...

)

...

인터랙션 오브젝트 설계 (3)

인터랙션 오브젝트 설계 (1)인터랙션 오브젝트 설계 (2)에서 각각 상태를 정의하고 상태를 전환시키기 위한 인터랙션을 정의했습니다. 이제 ‘무너진 후’ 상태로 전환될 때 보상을 드랍하고 정해진 시간이 지난 다음 다시 ‘무너지기 전’ 상태로 돌아와 다른 플레이어의 인터랙션을 받아야 합니다. 실제로 인터랙션 오브젝트를 만들 때는 이미 보상 시스템이 구축되어 있을 겁니다. 그래서 여기서는 보상 시스템이 뼈무더기로부터 얻을 보상이 이미 정의되어 있다고 가정하고 간단히 무너진 상태에 보상을 연결해 이 상태로 전환될 때 보상을 드랍하도록 했습니다. 이전까지는 두 번째 상태인 ‘무너진 후’ 상태가 되면 여기서 끝이었는데 이제 이전 상태로 돌아가는 부분을 추가했습니다. 단 이 결과대로 동작한다면 무너진 뼈무더기를 계속해서 지켜보고 있으면 뼈무더기가 부자연스럽게 이전 상태로 뿅! 하고 돌아갈 겁니다. 이건 실제로 만들 때 개선하는 것이 좋겠습니다.

...

퀘스트가이드 인터페이스의 자동이동 기능 때문입니다. 퍼시스턴트 월드에서는 퀘스트가이드를 조작해 퀘스트가 가리키는 지역으로 걸어서 이동할 수 있습니다. 하지만 인스턴스 던전은 던전 외부로부터 걸어서 이동할 수 있도록 만들어지지 않았을 겁니다. 또 한참 던전을 플레이 하는 도중에 퀘스트가이드를 터치해 던전 밖으로 나가는 동작을 허용하면 던전이 중간에 멈췄다가 다시 진행될 때 생기는 여러 예외상황을 정의하고 대응해야만 합니다. 그렇다고 퀘스트가이드에 던전 안에서 플레이 할 수 있는 퀘스트만 표시하자니 던전 안에 들어가면 갑자기 몇몇 퀘스트가 사라져 이상하게 보일 수 있습니다. 그래서 디아블로 이모탈에서는 던전 안에 들어가면 던전 안에서 수행할 수 있는 퀘스트만 보여주되 아예 던전 바깥과는 다른 인터페이스를 사용해 덜 이상하게 느끼도록 함과 동시에 퀘스트가이드를 사용해 던전 밖으로 나가지 못하도록 합니다.

2022년 8월 블로그 요약 (2)

2022년 8월 블로그 요약 (1)에 이어 두번째입니다.

인터랙션 오브젝트 설계 (2)

인터랙션 오브젝트 설계 (1)에서 인터랙션 오브젝트에는 상태와 전환상태가 있다고 했습니다. 뼈무더기 사례에서 상태는 무너지기 전과 후의 두 가지 상태, 전환상태는 무너지기 전에서 무너진 후로 전환하는 ‘무너지는 도중’ 상태입니다. 인터랙션 오브젝트의 상태를 전환하기 위해서는 플레이어의 인터랙션이 필요합니다. 인터랙션을 대강 정의해 보면 뼈무더기에 다가가면 인터랙션 버튼이 나타나고, 이를 터치하면 정해진 시간 동안 인터랙션 하며 인터랙션이 끝나면 인터랙션 오브젝트의 상태가 전환됩니다. 인터랙션 도중 피격 당해 대미지를 입으면 인터랙션이 취소되고 인터랙션 도중 플레이어 역시 애니메이션을 재생하도록 설정할 수 있습니다. 여기서는 인터랙션 오브젝트에 이런 인터랙션을 받을 수 있도록 설정했습니다. 프로젝트에 따라 여러 오브젝트에 인터랙션 할 수 있어 이 인터랙션을 별도 데이터로 분리해 관리하기도 합니다.

...

디아블로 이모탈의 웬만한 현상금 사냥 퀘스트는 한 단계로 되어 있습니다. 위치에 이동해서 목표 몬스터를 정해진 수량만큼 처치하면 끝입니다. 그런데 종종 두 단계 이상으로 된 퀘스트들이 있고 악마의 살점 수집도 그런 퀘스트 중 하나입니다. 몬스터를 처치해 악마의 살점을 수집한 다음 이를 재단에 바쳐 보스 몬스터를 스폰시켜 이를 처치하는데까지가 한 퀘스트로 되어 있습니다. 성장구간에서는 캐릭터의 현재 강함보다 약간 더 강한 몬스터를 출연시켜 다른 플레이어들로부터 도움을 받거나 포기할 수 있는 허들을 만드는데 사용합니다. 이후에는 필드에 보스를 스폰시키는 이벤트를 작위적이지 않도록 하기 위해 플레이어들의 플레이에 따라 보스가 스폰되는 메커닉 역할도 합니다.

...

지난 7월에는 2022년 7월 블로그 요약 (1), 2022년 7월 블로그 요약 (2), 2022년 7월 블로그 요약 (3), 2022년 7월

2022년 8월 블로그 요약 (

...

1)

계약 상품

계약 상품은 온라인 게임에 소액결제가 도입된 이후 가장 흥미로운 유료 상품이라고 생각합니다. 플레이어는 상품 가격을 결제해 구입하지만 여느 상품과 달리 구입 시점에 상품의 전체 가치를 받지 않습니다. 플레이에 따라 달성한 레벨에 따라 가치를 일부분씩 받으며 이 경우에는 정복자 레벨 85에 도달해야 모든 지불한 금액에 해당하는 모든 가치를 받을 수 있습니다. 플레이어는 자신의 선택에 따라 게임을 계속하거나 그만 둘 수 있지만 이 계약 상품을 구입하면 상품 구입비를 매몰비용으로 처리하기 어려워지기 때문에 게임에 더 오래 남아 있을 가능성이 커집니다. 또한 이 상품은 구매하지 않아도 계속해서 이 화면으로부터 무료 보상을 받도록 설계하는데 이 때마다 받지 못한 유료 아이템의 전체 가치와 내가 지불할 금액을 비교해 보게 만듭니다. 참고로 2만5천원으로 살 수 있는 가치를 계산해보자에서 정복자 레벨 65를 달성한 시점에서 전체 아이템의 가치를 계산해봤습니다. 꽤 사고 싶네요.

...

자동퀘스트를 설계하고 개발하면서 가장 많이 들은 질문입니다. 그때와 지금 모두 같은 입장인데 자동퀘스트 스텝이 끝나면 다음 스텝으로 넘어가야 합니다. 단 게임에 따라 그 다음 스텝도 자동으로 수행할지 아니면 플레이어의 입력을 기다릴지는 선택의 여지가 있습니다. 이번 스텝의 목표가 전투가 아니라면 이번 스텝 목표를 달성하면 다음 스텝으로 넘어간 다음 플레이어의 입력을 대기합니다. 캐릭터는 아무 행동도 하지 않고 그냥 서 있을 겁니다. 이번 스텝 목표가 전투라면 자동전투를 통해 스텝 목표를 달성하고 다음 스텝으로 넘어가지만 자동전투는 유지합니다. 캐릭터는 자동전투를 하고 있지만 퀘스트는 진행되지 않습니다. 퀘스트 스텝 목표를 달성할 때 자동전투를 멈추지 않는 이유는 선공 몬스터로부터 맞아 죽을 수 있기 때문입니다. 이런 상황을 방지하기 위해 자동 반격을 넣는 경우도 있는데 이건 상황을 꽤 복잡하게 만들어 추천하지는 않습니다.

2022년 7월 블로그 요약 (4)

이전 2022년 7월 블로그 요약 (3)에 이은 네번째.

버프와 디버프를 표시하는 규칙들

버프 및 디버프(이하 버프) 정보는 캐릭터의 남은 체력만큼 중요한 정보입니다. 그래서 주로 체력 근처에 함께 표시합니다. 버프 정보는 좁은 공간에 정보를 아주 많이 표시해야 합니다. 가령 버프와 디버프를 구분할 수 있어야 하고 각각의 남은 시간이 어느 정도인지 알 수 있어야 하며 같은 계열 버프가 얼마나 중첩되었는지도 파악할 수 있어야 합니다. 남은 시간 순서대로 정렬하면서도 치명적인 디버프는 앞쪽에 정렬해야 하고 같은 목록에 긴 기간에 따라 적용되는 길드 버프나 유료 버프류도 표시해야 합니다. 이런 상황에서 버프 종류는 많고 아이콘은 버프와 디버프를 구분하지 않고 제작될 때가 많습니다. 화면 상에서는 좁은 공간을 차지하는 인터페이스이지만 제대로 만들려고 마음먹으면 상당히 까다롭습니다.

...

디아블로 이모탈의 태고 균열은 문장을 넣고 던전을 돌아 전설 아이템과 자원을 획득하는 장치입니다. 문장은 일반 문장과 전설 문장, 그리고 영원의 전설 문장으로 나뉘며 문장의 수량과 구성에 따라 다른 보상을 받게 됩니다. 그런데 이 균열은 아예 문장 없이도 플레이 할 수 있습니다. 던전에 문장을 설정하는 행동이 대단히 중요하다면 문장을 던전 입장 재화로 설정해 문장이 없으면 아예 던전에 입장하지 못하도록 설계할 수도 있습니다. 이 설계도 우효합니다. 문장 없이 균열 돌기를 허용하면 균열이 상대적으로 느슨한 메커닉이 되지만 문장을 입장 재화로 설계하면 성장 크리티컬한 메커닉으로 변합니다. 그래서 이 설계는 신중해야 합니다.

2022년 7월 블로그 요약 (2)

...

)

...

언제 던전 입장횟수를 차감해야 할까요?

던전 플레이에 입장 재화를 요구하는 던전을 대하는 플레이어들의 관점은 던전이라기보다는 입장 재화에 시간을 더해 보상과 맞바꾸는 메커닉에 가깝습니다. 게임이 플레이어들 사이에 더 강한 경쟁을 요구할 때 던전에 재화를 투입했음에도 보상을 받지 못하는 상황에 플레이어들은 더 민감하게 반응합니다. 전통적인 입장횟수 차감 방법은 던전에 입장할 때 하는 것입니다. 가장 단순하고 이해하기 쉽습니다. 다만 이 방법은 현대 모바일 환경에서 순단이나 클라이언트 종료 등의 원인으로 문제가 생길 수 있어 던전이 클리어 될 때 차감하기도 합니다. 이때는 던전 클리어 조건을 정확히 설계해야 합니다. 마지막으로 던전의 핵심 보상을 획득할 때 차감할 수도 있습니다.

...

여러 프로젝트에서 기획서 작성 후 처음 외부 팀에 리뷰하는 자리가 기획서 작성 완료를 의미하지 않는다고 여러 차례 관리 부서에 설명해 왔지만 설명할 때는 이해하는 것처럼 행동하다가 기획서 작성 일정을 추긍하는 시점에는 모른 척 행동할 때가 많았습니다. 많다기보다는 ‘모든’ 프로젝트의 관리 부서들이 모두 다 똑같이 행동했습니다. 작은 팀에서는 보다 유기적으로 행동하겠지만 규모가 큰 팀에서 어느 정도 폭포수 형식으로 개발하는 것을 부정할 생각은 전혀 없습니다. 하지만 마일스톤을 시작할 때 모든 요구사항들이 아웃라인 수준으로 모든 협업 부서에 공유되지 않는 한 기획서 작성 후 외부 팀 리뷰는 협업부서들이 거의 처음으로 요구사항을 전달 받는 자리입니다. 이 단계는 기획서 작성 완료와는 아직 한참 멀리 떨어져 있으며 결코 기획서 작성 완료로 평가해서는 안됩니다

2022년 7월 블로그 요약 (1)

...

왜 자동획득 옵션에 전설템이 없나요?

디아블로 이모탈은 전투할 때 아이템을 자동으로 줍습니다. ALT키를 눌러 아이템 하나하나의 이름을 확인하며 줍는 경험도 나쁘지 않았지만 모바일 환경에서 플레이 할 것을 고려해 어느 정도 경험을 타협했을 겁니다. 옵션에서 아이템 등급에 따라 자동으로 주울지를 결정할 수 있는데 이 옵션에는 전설 등급이 없습니다. 전설은 항상 수동으로 주워야 합니다. 이유는 디아블로에서 전설 아이템이 가지는 상징성, 성장 시스템에 속한 위상, 그리고 전설 아이템을 획득하는 경험 때문입니다. 거칠게 말하면 디아블로에서 전설 아이템을 획득하는 경험이 아주 쩔기 때문에 이 경험을 생략할 수 없도록 했습니다.

...