아바타 조합 시스템 기획: 드롭 아이템을 성장과 재화 소모로 연결한 설계 회고

같은 부위와 등급의 아바타 두 개와 합성 큐브를 사용해 상위 등급 아바타를 획득하는 조합 시스템 개념도
대표 이미지 · 아바타 조합의 입력, 확률 판정, 결과 구조

Game System Design · Live Service Retrospective

아바타 조합 시스템 기획:
드롭 아이템을 성장과 재화 소모로 연결한 설계 회고

필드와 던전에서 계속 쌓이는 아바타를 어떻게 가치 있는 선택지로 되돌릴 것인가. 중복 아이템 문제에서 출발해 인게임 재화와 유료 재화의 소모 동선으로 발전한 조합 시스템을, 당시의 설계 문서와 지금의 시각으로 함께 복기했다.

시스템 기획아바타게임 경제UX Flow라이브 회고

이 글은 오래전 작성한 실무 기획서를 포트폴리오 관점으로 다시 편집한 회고다. 특정 프로젝트를 식별할 수 있는 내용은 덜어내고, 도입 배경과 설계 의도, 데이터 구조, 사용 흐름, 라이브 관점의 성과와 한계를 남겼다.

등급 명칭은 원본 자료의 익명화 표기인 허름·일반·고급을 기본으로 사용한다. 운영 회고에서 말하는 하위·중간·상위 등급은 같은 단계 구조를 뜻한다.

01왜 아바타 조합 시스템이 필요했는가

일반적으로 아바타는 상점에서 구매하는 외형 상품에 가깝다. 이 프로젝트에서는 장비처럼 필드, 레이드 던전, 인스턴스 던전 등 여러 플레이 공간에서 아바타가 드롭되도록 설계했다.

드롭의 장점이 곧 인벤토리 문제로 바뀌었다

획득 확률이 낮더라도 플레이 시간이 누적되면 하위 등급 아바타는 상당량 쌓인다. 아바타 전용 인벤토리 탭을 별도로 둘 만큼 중요한 아이템군이었지만, 중복 획득의 사용처가 없다면 보상은 빠르게 ‘버리기 아까운 재고’가 된다.

PLAYER VALUE

외형 선택권의 대중화

캐시 상품으로만 인식되던 아바타를 플레이 보상으로도 얻도록 해, 캐릭터가 기본 외형에 머무는 시간을 줄이고 꾸미는 재미의 진입 장벽을 낮췄다.

SYSTEM PROBLEM

중복 아바타의 가치 하락

획득량이 많아질수록 같은 등급·부위의 중복품이 늘었다. 조합은 이 잉여 재고를 상위 등급에 도전할 수 있는 재료로 전환하는 장치였다.

설계 문제 정의

“많이 드롭되는 아바타의 획득 기쁨을 유지하면서, 누적된 중복품을 인벤토리 부담이 아닌 다음 성장의 입력값으로 바꾼다.”

02운영 의도: 잉여 재고에서 경제 순환으로

조합 시스템은 처음에는 중복 아바타를 정리하는 기능이었지만, 운영 단계에서는 인게임 재화와 유료 재화의 소모처를 동시에 만드는 경제 장치로 발전했다.

플레이필드·레이드·인스턴스 던전 반복
아바타 드롭낮은 확률도 누적되며 중복 증가
조합 재료화동일 부위·동일 등급 2개 투입
큐브 소모등급별 재화 소비 동선 형성
상위 등급 도전외형·희소성·성장의 재동기 부여

등급에 따라 다른 큐브, 다른 지불 맥락

낮은 단계 조합에는 게임 내 재화로 구입 가능한 큐브를 두어 일반 재화의 반복 소모처를 만들었다. 더 높은 단계의 조합에는 유료 재화로 구매하는 빛나는 큐브를 연결했다. 큐브는 이벤트와 여러 보상 경로에서도 공급해 결제만이 유일한 진입로가 되지 않도록 했다.

일반 아바타 합성 큐브 아이콘
일반 합성 큐브하위 단계 조합 · 게임 내 재화 소모 축
빛나는 상위 등급 아바타 합성 큐브 아이콘
빛나는 상위 합성 큐브상위 단계 조합 · 유료 재화 및 이벤트 공급 축

상위 등급 성공 확률은 체감상 높지 않았고, 원하는 희귀 아바타를 맞추려면 적지 않은 시도가 필요했다. 이것은 매출 동력이 될 수 있지만, 실패 누적에 대한 완충 장치가 약하면 곧바로 피로와 불신으로 바뀐다. 당시 설계의 성과와 동시에, 지금 다시 볼 때 가장 먼저 보완할 지점이기도 하다.

03아바타 조합 시스템의 기본 규칙

기술자 NPC의 대화 목록에서 [아바타 조합]을 선택하면 전용 UI가 열린다. 시스템의 핵심은 ‘같은 조건의 두 아바타와 등급에 맞는 큐브를 사용해 상위 결과를 확률적으로 획득한다’는 한 문장으로 요약된다.

항목규칙
조합 대상같은 부위, 같은 등급의 아바타끼리만 조합할 수 있다.
입력 수량메인 아바타 1개 + 서브 아바타 1개 + 등급에 대응하는 합성 큐브를 사용한다.
등급 진행허름 → 일반, 일반 → 고급처럼 한 단계 위 등급을 목표로 한다.
시드 옵션조합으로 새 아바타를 획득하면 기존 아바타의 시드 옵션은 계승하지 않고 초기화한다.
성공 판정조합은 100% 성공이 아니며, 조합 정보 테이블의 확률 값으로 성공과 실패를 판정한다.
실패 보호실패 시 메인 아바타는 반환하고, 서브 아바타와 큐브는 소모한다.

메인/서브 구분은 실패 손실의 기준이다. 우클릭으로 처음 선택한 아바타를 메인 슬롯에 배치해, 사용자가 보호할 아이템을 명확히 인식하도록 했다. 서브는 실패 시 사라지는 재료다.

04데이터 구조: 아이템과 조합 정보를 분리한다

아이템 자체에는 조합 가능 여부와 참조 키만 두고, 필요 큐브·확률·결과는 별도 조합 정보 테이블에서 관리한다. 기획자가 조합군별 수치를 수정하기 쉽고, 같은 구조를 여러 아바타에 재사용하기 위한 분리다.

ItemTable: MixTID로 조합 정보 참조

MixTID(조합 참조 ID)가 0이 아닌 아바타만 조합 대상으로 인정한다. 이 값은 ItemMixTable의 TID를 참조한다. 아이템 타입과 MixTID를 함께 검사해 일반 아이템이 조합 슬롯에 들어오는 것을 막는다.

ItemTable의 MixTID가 ItemMixTable의 TID를 참조하는 데이터 구조 예시
자료 1. ItemTable의 MixTID와 ItemMixTable의 TID 연결
아이템 타입이 아바타이며 MixTID가 0이 아닌 경우에만 메인 슬롯에 등록되는 조건
자료 2. 메인 슬롯 등록 조건: 아바타 타입 + 유효한 MixTID

ItemMixTable: 필요 아이템, 확률, 결과를 한 행에 정의

컬럼타입용도
TIDU32조합 정보의 고유 구분자
CommentCBwString운영·기획 식별을 위한 코멘트
SourceItem01U32조합에 필요한 큐브 아이템 TID
SourceItemCount01U16한 번의 조합에서 소모할 큐브 수량
MixRate01~05U161~10000 기준의 조합 확률 값
MixItemStack01~05U32성공 시 지급할 결과 아이템 수량
MixItemResult01~05U32성공 시 지급할 결과 아이템 TID
ItemMixTable의 MixRate01 확률 값과 성공 시 지급 수량 및 결과 아이템 컬럼 설명
자료 3. MixRate와 성공 결과 컬럼의 연결
확률 판정 실패 시 결과 아이템 대신 메인 아이템을 반환하는 처리 설명
자료 4. 실패 시 메인 아이템 반환 처리

데이터 설계의 의도

아이템 정의와 조합 규칙을 분리하면 확률·소모량·결과물을 코드 수정 없이 운영 데이터로 조정할 수 있다. 다만 라이브 변경 이력, 확률 합계 검증, 결과 아이템 누락 검증은 별도 제작 도구에서 반드시 보완해야 한다.

05UI 흐름: 한 번에 하나씩 선택하게 한다

조합 UI는 메인, 서브, 큐브, 결과의 네 슬롯과 합성·닫기 버튼으로 구성한다. 화면을 처음부터 모두 활성화하지 않고, 사용자의 입력에 맞춰 다음 슬롯을 단계적으로 공개한다.

메인 아바타, 서브 아바타, 큐브, 결과 아이템, 합성, 닫기 버튼으로 구성된 아바타 조합 UI
그림 2. 조합 UI의 6개 핵심 요소
No.요소동작
1메인 아바타 슬롯실패 시 보호·반환할 주 대상 아바타를 등록한다.
2서브 아바타 슬롯메인과 타입·종류·속성·등급이 같은 재료 아바타를 등록한다.
3합성 큐브 슬롯메인의 MixTID가 참조하는 필요 아이템과 수량을 자동 표시한다.
4결과 슬롯성공 시 획득 가능한 상위 등급 아바타를 미리 보여준다.
5합성 버튼필수 입력과 인벤토리 조건이 충족됐을 때만 활성화한다.
6닫기 버튼조합 UI를 닫고 입력 상태를 정리한다.

등록 방법과 후보 필터링

아이템은 우클릭 또는 드래그 앤 드롭으로 넣는다. 첫 아바타는 메인 슬롯, 다음 아바타는 서브 슬롯으로 들어간다. 메인 등록 후에는 필요한 큐브를 자동으로 찾고, 서브 후보가 될 수 없는 인벤토리 아이템을 비활성화한다.

아바타 조합 슬롯에 등록할 수 있는 아바타 아이템 아이콘
우클릭 또는 드래그 앤 드롭
서브 재료 조건을 만족하지 않는 인벤토리 아이템이 비활성화된 화면
조건 불일치 아이템 비활성화

슬롯은 3단계로 열린다

  1. 초기: 메인 슬롯만 표시한다.
  2. 메인 등록: 서브 슬롯과 큐브 슬롯을 열고, 보유 중인 큐브를 자동 등록한다.
  3. 서브 등록: 결과 슬롯을 열고 합성 버튼의 활성 조건을 검사한다.
아바타 조합 UI에서 메인 슬롯만 열린 첫 단계
1단계 · 메인 선택 대기
메인 아바타 등록 후 서브와 큐브 슬롯이 열린 두 번째 단계
2단계 · 서브와 큐브 활성
서브 아바타 등록 후 결과 아이템과 합성 버튼이 표시된 세 번째 단계
3단계 · 결과 확인과 합성

06확률 판정과 성공·실패 처리

원본 기획의 예시 성공 확률은 일반·상위 조합 모두 30%다. 실제 값은 ItemMixTable의 MixRate 컬럼에 1~10000 범위로 입력하고 서버에서 판정한다.

SUCCESS

상위 결과 지급

메인과 서브, 큐브를 소모하고 MixItemResult에 정의된 결과 아이템을 MixItemStack 수량만큼 인벤토리에 지급한다.

FAILURE

메인 아이템 반환

서브 아바타와 큐브는 소모하되 메인 아바타는 인벤토리로 돌려준다. 사용자가 보호 대상으로 선택한 아이템을 보존하는 실패 규칙이다.

3초의 연출로 입력과 결과를 분리한다

합성 버튼을 누르면 “조합 중입니다.” 메시지와 프로그레스 바를 출력한다. 약 3초 후 100%가 되면 성공 시 새 아이템, 실패 시 반환된 메인 아이템을 결과 영역에 표시한다.

합성 버튼 클릭 후 진행 바를 거쳐 성공 결과 아이템을 보여주는 조합 연출 흐름
그림 10. 입력 완료 → 진행 연출 → 결과 표시
상황출력 문구처리
진행 중조합 중입니다.중복 입력을 막고 프로그레스 바를 표시한다.
성공조합에 성공하여 새로운 아이템을 획득했습니다.새 결과 아이콘을 표시하고 인벤토리에 지급한다.
실패조합에 실패하였습니다.메인 아이템 아이콘을 표시하고 인벤토리에 반환한다.

07예외 상황과 방어 로직

조합은 아이템을 비가역적으로 소모하는 기능이다. 따라서 버튼 활성화 전의 선제 검사와, 서버 판정 직전의 재검사가 모두 필요하다.

상황사용자 안내시스템 처리
인벤토리 공간 부족“가방에 빈 자리가 없습니다.”합성을 시작하지 않고 입력 아이템을 유지한다.
조건 불일치 아바타“등록할 수 없는 아바타입니다.”타입·종류·속성·등급·MixTID를 검사해 등록을 거부한다.
메인 제거선택 상태가 초기화됨을 UI로 보여준다.메인에 종속된 서브, 큐브, 결과 슬롯을 함께 비운다.
필요 큐브 미보유“조합 큐브가 없습니다.”필요 아이템 ID와 수량을 표시하고 합성 버튼을 비활성화한다.
진행 중 재입력“조합 중입니다.”버튼과 슬롯을 잠가 중복 요청을 방지한다.
서버 응답 실패일시적 오류와 재시도 안내소모 확정 전후의 트랜잭션 상태를 기준으로 복구하고 로그를 남긴다.

현재 관점에서 추가할 안전장치

클라이언트의 비활성화는 안내 수단일 뿐 보안 수단이 아니다. 실제 소모와 지급은 서버 단일 트랜잭션으로 처리하고, 조합 요청 ID를 기준으로 중복 지급과 중복 소모를 방지해야 한다.

08당시의 성과와 남은 한계

아바타 드롭과 조합의 결합은 단순한 합성 기능 이상으로 작동했다. 외형 아이템을 넓게 공급하면서도, 중복품에 다시 목적을 부여했다는 점은 지금 돌아봐도 유효한 선택이었다.

외형 접근성플레이만으로도 아바타를 얻어 기본 외형 체류 시간을 단축
재고 순환중복 아바타를 폐기물이 아닌 상위 등급 도전권으로 전환
경제 소모게임 내 재화와 유료 재화에 반복적인 사용 이유를 부여

“유저가 헐벗고 다니지 않았다”는 체감

아바타가 실제 캐릭터 외형을 바꾸고, 드롭을 통해 꾸준히 공급되면서 이용자는 의식주의 ‘의’에 해당하는 콘텐츠를 자연스럽게 경험했다. 캐시 상품을 플레이 보상과 연결한 방향 자체는 좋았다. 이벤트로 큐브 수급처를 늘린 것도 결제와 플레이 사이의 완충 역할을 했다.

성과는 있었지만 서비스의 전체 결과와 같지는 않다

기억상 당시 게임은 순위가 15위 안팎까지 올라간 시기가 있었지만, 서버 장애 이후 흐름이 꺾였다. 개별 시스템이 좋은 반응을 만들 수는 있어도 안정적인 서비스 운영을 대신할 수는 없다. 이 경험은 콘텐츠, 경제, 서버 안정성이 서로 분리된 성공 조건이 아니라는 사실을 남겼다.

가장 큰 아쉬움: 조합 전에 거칠 ‘수집의 층’이 없었다

획득한 아바타가 곧바로 조합 재료가 되면 사용자는 보유와 소모 중 하나만 선택한다. 먼저 수집·도감에 의미를 주고, 그다음 중복품을 조합으로 보내는 구조였다면 같은 드롭량으로 더 긴 목표와 더 많은 파생 콘텐츠를 만들 수 있었다.

09지금 다시 설계한다면: 도감을 먼저, 조합은 그다음

지금의 관점이라면 조합 시스템 앞에 아바타 도감을 둔다. 첫 획득과 일정 수량까지는 수집 진척으로 사용하고, 등록 목표를 넘긴 중복품부터 조합 재료로 자연스럽게 흘려보낸다.

5단계 도감 등록 기준

허름10개 등록
일반7개 등록
고급5개 등록
희귀3개 등록
전설1개 등록

낮은 등급은 자주 드롭되므로 여러 개를 모아야 등록되고, 높은 등급은 희소성을 고려해 적은 수량으로 완성한다. 정확한 필요 수량은 실제 드롭률, 보유량 분포, 완성 소요 기간을 시뮬레이션해 조정한다.

아바타 스테이터스를 수집 목표로 분산한다

모든 능력치를 착용 중인 아바타에만 몰아주기보다 일부를 도감 세트, 등급별 수집, 부위별 수집 보너스로 나눈다. 여기에 업적, 칭호, 외형 효과, 계정 단위 목표를 가지처럼 연결하면 아바타 하나가 여러 플레이 동기를 만든다.

아바타 획득드롭 자체가 수집 진척이 됨
도감 등록등급별 필요 수량을 누적
보너스·업적능력치와 장기 목표로 확장
초과 중복 발생등록 완료 후 잉여품 식별
조합 진입중복품과 큐브를 상위 도전으로 전환

사용자가 실수로 수집 기회를 태우지 않게 한다

  • 도감에 필요한 미등록 아바타에는 ‘도감 우선’ 배지를 표시한다.
  • 잠금, 착용 중, 프리셋 사용 중인 아바타는 기본적으로 조합 재료에서 제외한다.
  • 도감 등록이 가능한 아이템을 조합하려 할 때는 등록과 조합의 차이를 확인시킨다.
  • 자동 선택은 ‘등록 완료 + 미잠금 + 미착용’ 중복품만 대상으로 한다.
  • 실패 누적 보정, 확정 게이지, 재료 마일리지 중 하나를 두어 반복 실패의 피로를 완충한다.

매출 개선은 결제 압박이 아니라 목표의 층을 늘리는 데서 본다

도감이 선행되면 아바타 드롭은 수집 진척을 만들고, 도감 완료 뒤의 중복품은 조합 수요를 만든다. 수집 보너스와 업적은 플레이 시간을 확장하며, 그 결과 큐브 수요도 더 자연스럽게 발생한다. 확인할 지표는 단순 매출뿐 아니라 다음과 같다.

관찰 지표확인하려는 가설
등급별 도감 등록률드롭이 실제 장기 목표로 전환되는가
중복 보유량과 조합 전환율도감 완료 후 잉여품이 조합으로 자연스럽게 이동하는가
큐브 획득·구매·소모량무료 공급과 유료 수요의 균형이 유지되는가
연속 실패 후 이탈률확률 피로가 세션 종료나 기능 포기로 이어지는가
아바타 착용 다양성수집이 실제 외형 사용과 선택 폭 확대로 연결되는가

10회고: 좋은 시스템은 하나의 기능에서 끝나지 않는다

아바타 조합은 쌓이는 중복 아이템을 정리하고, 게임 내 재화와 유료 재화의 소모처를 만들며, 상위 외형에 도전할 이유를 제공했다. 당시 문제에 대한 답으로는 충분히 기능했다.

그러나 지금 돌아보면 한 단계 더 생각할 수 있었다. 획득 → 수집 → 업적 → 중복 → 조합으로 이어지는 생태계를 먼저 그렸다면, 같은 아바타 한 개가 더 많은 의미와 더 긴 수명을 가졌을 것이다.

이 아쉬움은 실패의 고백이라기보다 다음 설계의 기준이다. 눈앞의 재고 문제만 해결하지 않고, 그 아이템이 플레이·성장·경제·라이브 운영의 어느 가지로 더 뻗어갈 수 있는지 먼저 묻는 것. 지금의 나는 그 질문부터 시작한다.

다음 이전