일일 퀘스트 반복 피로도 측정법: 미션 유형 엔트로피로 로테이션 설계하기
일일 퀘스트가 왜 지루해지는지 미션 유형 엔트로피와 반복률로 진단하고 정규화 수식, 로그 설계, 로테이션 제약, 플레이어군별 분석, 보상 곡선까지 실제 밸런싱에 적용하는 방법과 데이터 해석의 함정을 설명합니다.

핵심 요약
일일 퀘스트의 반복 피로도는 최근 퀘스트에서 미션 유형이 얼마나 한쪽에 몰렸는지를 나타내는 정규화 엔트로피로 진단할 수 있습니다. 다만 엔트로피만으로는 같은 유형이 연속 등장하는 문제를 잡기 어렵기 때문에 연속 반복률, 최대 연속 길이, 미션 간 전환 비용을 함께 측정해야 합니다.
실무에서는 유형별 출현 확률로 Shannon 엔트로피를 계산한 뒤 목표 범위를 정하고 즉시 중복 금지와 소프트 쿨다운, 고비용 미션 상한, 보상 시간당 가치 제약을 조합해 로테이션을 설계합니다.
왜 일일 퀘스트는 같은 보상이어도 지루해지는가?
일일 퀘스트의 피로도는 보상량보다 플레이어가 반복해서 수행하는 행동의 구조에 더 크게 좌우됩니다. 전투 퀘스트 3개가 매일 등장하면 보상이 충분해도 플레이어는 선택지가 없다고 느낄 수 있습니다. 반대로 유형이 다양해도 매번 완전히 다른 조작과 이동을 요구하면 학습 비용과 전환 비용이 커집니다.
따라서 로테이션의 목표는 무작위성을 최대화하는 것이 아닙니다. 플레이어가 익숙한 행동을 기반으로 계획을 세울 수 있으면서도 특정 행동이 지나치게 반복되지 않도록 변동성을 목표 범위 안에 유지하는 것입니다.
반복 피로도를 구성하는 주요 요인은 다음과 같습니다.
| 요인 | 측정 예시 | 디자인상 문제 |
|---|---|---|
| 유형 편중 | 미션 유형별 출현 비율 | 전투나 수집만 계속 등장 |
| 순서 반복 | 동일 유형 연속 길이 | 전투-전투-전투 같은 체감 반복 |
| 행동 전환 | 이전 미션과 다음 미션의 차이 | 이동과 조작 전환이 과도함 |
| 수행 시간 | 완료까지 걸린 시간 | 짧은 미션과 긴 미션의 불균형 |
| 실패 부담 | 포기율, 재시도율 | 특정 유형이 스트레스를 유발함 |
미션 유형 엔트로피는 어떻게 계산하는가?
먼저 퀘스트를 콘텐츠 이름이 아니라 플레이어가 수행하는 핵심 행동 기준으로 분류합니다. 같은 지역에서 진행되는 두 퀘스트라도 하나는 처치이고 다른 하나는 호위라면 별도 유형으로 보는 편이 분석에 유리합니다.
예시 유형은 다음과 같습니다.
| 미션 유형 | 핵심 행동 | 보조 태그 예시 |
|---|---|---|
| 전투 | 적 처치 또는 전투 승리 | 단일 대상, 웨이브, 보스 |
| 수집 | 아이템 획득 | 채집, 드롭, 상자 열기 |
| 이동 | 특정 위치 방문 | 탐험, 배달, 경로 통과 |
| 호위 | 대상 보호 및 이동 | NPC 호위, 운송 수단 |
| 정밀 조작 | 조준, 회피, 타이밍 입력 | 사격, 패링, 미니게임 |
| 사회적 행동 | 다른 플레이어와 상호작용 | 파티, 거래, 협동 |
| 관리 | 제작, 강화, 자원 배분 | 제작, 농장, 장비 관리 |
최근 W개의 완료 미션에서 유형 i의 출현 횟수를 라고 하면 전체 미션 수는 다음과 같습니다.
유형 i의 출현 확률은 다음과 같이 계산합니다.
이때 Shannon 엔트로피는 다음과 같습니다.
엔트로피는 유형 수가 많을수록 최대값이 달라지므로 비교를 위해 0에서 1 사이로 정규화합니다.
가 0에 가까우면 특정 유형에 출현이 집중된 상태입니다. 1에 가까우면 유형별 출현 비율이 균등하다는 뜻입니다. 단, 1이 항상 좋은 값은 아닙니다. 유형이 너무 빠르게 바뀌면 플레이어가 자신의 빌드와 동선을 계획하기 어려워질 수 있습니다.
엔트로피 해석을 위한 초기 기준
아래 값은 장르와 콘텐츠 구조에 따라 조정해야 하는 진단용 시작점입니다.
| 정규화 엔트로피 | 상태 | 권장 조치 |
|---|---|---|
| 0.00~0.35 | 유형 편중 | 우선순위 높은 유형의 출현 상한 설정 |
| 0.35~0.65 | 안정적 반복 | 연속 길이와 수행 시간을 추가 점검 |
| 0.65~0.85 | 다양한 로테이션 | 현재 규칙을 유지하며 포기율 확인 |
| 0.85~1.00 | 균등하지만 혼란 가능 | 전환 비용과 연속성 보장 여부 점검 |
분석 기간은 하루 단위보다 최근 14일 또는 28일 단위가 적절합니다. 하루에 3개의 퀘스트만 제공하는 게임에서 하루별 엔트로피를 계산하면 표본 수가 너무 작아 우연한 결과에 크게 흔들립니다.

엔트로피만 보면 안 되는 이유는 무엇인가?
분포 엔트로피는 유형의 비율만 보고 순서를 보지 않습니다. 예를 들어 최근 21개의 미션이 전투 10개, 수집 7개, 이동 2개, 호위 2개라면 전체 분포는 꽤 다양해 보일 수 있습니다. 그러나 실제 순서가 전투-전투-전투로 이어졌다면 플레이어가 느끼는 반복 피로도는 높습니다.
이를 보완하려면 다음 지표를 함께 기록해야 합니다.
- 동일 유형 직전 반복률: 이전 미션과 현재 미션의 유형이 같은 비율
- 최대 연속 길이: 같은 유형이 연속으로 등장한 최대 횟수
- 최근 K회 반복률: 최근 K개 중 가장 많이 등장한 유형의 비율
- 유형 전환 비용: 이전 미션과 현재 미션 사이에서 바뀌는 조작, 장소, 장비의 수
- 포기 및 재추첨률: 플레이어가 특정 유형을 회피하는 정도
순서 자체의 다양성을 보고 싶다면 유형 i에서 유형 j로 이동하는 조건부 확률을 사용할 수 있습니다.
전환 엔트로피는 다음처럼 계산할 수 있습니다.
이 값은 특정 유형 다음에 항상 같은 유형이 따라오는지 아니면 다음 선택지가 다양한지를 보여줍니다. 다만 전환 엔트로피가 높으면 무작위성이 커진다는 의미이기도 하므로 퀘스트 간 시너지와 플레이어의 계획 가능성을 함께 평가해야 합니다.
실무용 피로도 위험 점수는 다음처럼 여러 지표를 조합해 만들 수 있습니다.
여기서 는 정규화된 최대 연속 길이, 은 최근 반복률, 는 유형 전환 비용입니다. 계수 , , , 는 장르와 플레이어 행동 데이터에 따라 조정합니다. 이 점수는 절대적인 플레이어 감정을 측정하는 값이 아니라 로테이션 이상 징후를 찾는 운영 지표로 사용하는 것이 안전합니다.
로테이션은 어떻게 설계할까?
로테이션은 단순히 미션 목록을 무작위로 섞는 기능이 아닙니다. 유형의 분포와 순서, 콘텐츠 조건, 보상 경제를 동시에 제어하는 제약 시스템입니다.
1단계: 미션 유형과 비용을 정의한다
각 미션에 유형뿐 아니라 예상 수행 시간, 실패 부담, 필요한 장비, 이동 비용을 기록합니다.
public sealed class MissionDefinition
{
public string Id;
public MissionType Type;
public float ExpectedMinutes;
public float FailureCost;
public float RewardValue;
public string LocationGroup;
}
분석용 유형은 너무 세밀하게 쪼개지 않는 것이 좋습니다. 적의 속성이나 지역을 모두 별도 유형으로 만들면 데이터상 엔트로피는 높아지지만 플레이어가 체감하는 핵심 행동은 여전히 전투일 수 있습니다. 먼저 핵심 행동 유형을 만들고 지역, 난이도, 대상은 보조 태그로 분리합니다.
2단계: 최근 창의 엔트로피와 반복률을 계산한다
각 플레이어의 최근 완료 미션을 기본으로 계산하되 신규 플레이어와 고레벨 플레이어를 한 그룹으로 섞지 않습니다. 콘텐츠가 해금되는 범위가 다르면 가능한 미션 유형 수 자체가 달라지기 때문입니다.
public static double NormalizedEntropy(IReadOnlyList<int> counts)
{
var total = counts.Sum();
var nonZero = counts.Count(x => x > 0);
if (total == 0 || nonZero <= 1)
return 0.0;
double entropy = 0.0;
foreach (var count in counts)
{
if (count == 0)
continue;
var p = (double)count / total;
entropy -= p * Math.Log(p, 2);
}
return entropy / Math.Log(nonZero, 2);
}
분모를 실제로 관측된 유형 수인 nonZero로 둘지, 해당 플레이어에게 제공 가능한 전체 유형 수인 N으로 둘지는 분석 목적에 따라 결정합니다. 플레이어가 접근할 수 있었지만 한 번도 나오지 않은 유형까지 편중으로 계산하려면 전체 가능 유형 수를 분모에 사용해야 합니다.
3단계: 하드 제약과 소프트 가중치를 분리한다
하드 제약은 반드시 지켜야 하는 규칙입니다. 예를 들면 같은 유형의 즉시 중복 금지, 같은 지역 미션 2회 연속 금지, 고비용 미션 하루 1회 제한이 있습니다.
소프트 가중치는 조건을 만족하는 후보 중 무엇을 선택할지 결정합니다. 최근 출현 횟수가 많은 유형에는 낮은 가중치를 주고 최근 거의 나오지 않은 유형에는 높은 가중치를 줄 수 있습니다.
public static float GetWeight(
MissionDefinition mission,
int recentTypeCount,
int sameTypeStreak)
{
var cooldownPenalty = 1.0f / (1.0f + recentTypeCount);
var streakPenalty = sameTypeStreak > 0 ? 0.2f : 1.0f;
var timeFactor = 1.0f / Math.Max(mission.ExpectedMinutes, 1.0f);
return cooldownPenalty * streakPenalty * timeFactor;
}
위 코드는 구조를 보여주는 예시입니다. 실제 서비스에서는 수행 시간이 짧다는 이유만으로 모든 짧은 미션을 우선하지 않도록 보상 가치와 콘텐츠 목표를 함께 반영해야 합니다.
4단계: 연속성과 시너지를 로테이션에 넣는다
유형을 완전히 다른 행동으로만 연결하면 다양성은 높아져도 플레이 흐름이 끊깁니다. 따라서 미션 사이의 관계를 설계해야 합니다.
| 이전 미션 | 다음 미션 | 설계 의도 |
|---|---|---|
| 전투 | 수집 | 전투 보상으로 수집 동기를 연결 |
| 수집 | 제작 | 획득 자원을 즉시 활용 |
| 이동 | 전투 | 이동 경로의 목적지에 전투 배치 |
| 호위 | 이동 | 목표 지점과 동선을 자연스럽게 연결 |
| 정밀 조작 | 관리 | 높은 집중 이후 낮은 압박의 활동 제공 |
이 구조를 사용하면 엔트로피를 높이면서도 미션이 서로 무관하게 튀는 문제를 줄일 수 있습니다.
flowchart LR
A[퀘스트 완료 로그] --> B[핵심 행동 유형화]
B --> C[최근 W회 분포 계산]
C --> D[정규화 엔트로피 H* 계산]
D --> E{목표 범위 판정}
E -->|낮음| F[편중 유형의 가중치 감소]
E -->|적정| G[현재 로테이션 유지]
E -->|높음| H[시너지와 연속성 강화]
F --> I[다음 후보 생성]
G --> I
H --> I
I --> J[하드 제약 검증]
J --> K[보상 및 시간 예산 검증]
5단계: 보상은 수행 시간당 가치로 맞춘다
미션 유형이 다양해져도 특정 유형이 지나치게 오래 걸리면 플레이어는 그 유형을 피하려고 합니다. 보상량만 비교하지 말고 예상 수행 시간으로 나눈 가치를 봐야 합니다.
여기서 는 미션 i의 총 보상 가치이고 는 예상 수행 시간입니다. 화폐, 경험치, 재료, 이동 비용을 동일한 내부 가치 단위로 환산한 뒤 유형별 가 허용 범위 안에 들어오는지 확인합니다.
단, 모든 유형의 시간당 가치를 완전히 같게 만들 필요는 없습니다. 협동을 유도하려는 미션이나 특정 콘텐츠의 이용률을 높이려는 미션에는 의도적인 프리미엄을 줄 수 있습니다. 중요한 점은 그 차이가 데이터로 설명 가능해야 한다는 것입니다.
어떤 이벤트 로그를 수집해야 하는가?
엔트로피 계산에는 완료 로그만 있어도 되지만 피로도의 원인을 찾으려면 다음 필드를 함께 수집하는 편이 좋습니다.
| 필드 | 용도 |
|---|---|
| player_segment | 신규, 복귀, 고레벨 등 그룹별 비교 |
| mission_id | 개별 콘텐츠 성과 분석 |
| mission_type | 엔트로피와 반복률 계산 |
| offered_at | 제안 시점과 완료 시점 비교 |
| completed_at | 수행 시간 계산 |
| abandoned_at | 포기율 분석 |
| rerolled | 재추첨 회피 행동 분석 |
| reward_value | 보상 효율 비교 |
| location_group | 이동 반복과 지역 편중 분석 |
| party_state | 솔로와 파티 경험 비교 |
특히 제안된 미션과 실제 완료된 미션을 구분해야 합니다. 완료 로그만 사용하면 플레이어가 특정 유형을 계속 재추첨한 사실이 사라져 엔트로피가 실제보다 건강해 보일 수 있습니다.
로테이션을 검증하는 방법
첫 번째는 오프라인 시뮬레이션입니다. 실제 플레이어 로그에서 유형별 완료 확률과 포기 확률을 추정한 뒤 새 로테이션 규칙을 적용합니다. 다음 지표를 기존 규칙과 비교합니다.
- 정규화 엔트로피의 평균과 하위 10% 값
- 동일 유형 최대 연속 길이
- 미션별 포기율과 재추첨률
- 하루 세션당 일일 퀘스트 완료 수
- 퀘스트 수행 시간과 이동 시간
- 유형별 보상 획득량과 경제 인플레이션
두 번째는 플레이어군별 실험입니다. 전체 평균 엔트로피가 개선되어도 신규 플레이어의 이동 미션 포기율이 급증하거나 고레벨 플레이어의 전투 미션 편중이 남아 있을 수 있습니다. 최소한 신규, 일반, 고관여 플레이어를 나누어 결과를 확인해야 합니다.
세 번째는 설문과 행동 로그를 연결하는 것입니다. 엔트로피는 행동의 다양성을 설명하지만 지루함 자체를 직접 측정하지는 않습니다. 짧은 설문에서 반복 체감, 계획 가능성, 수행 부담을 묻고 로그 지표와 상관관계를 확인하면 목표 범위를 더 정확하게 조정할 수 있습니다.
자주 묻는 질문 FAQ
일일 퀘스트 유형이 많을수록 엔트로피가 높아지나요?
가능성은 높아지지만 자동으로 높아지지는 않습니다. 유형이 많아도 특정 유형만 반복해서 등장하면 엔트로피는 낮습니다. 반대로 유형이 너무 많으면 표본이 부족해 수치가 불안정하고 플레이어의 학습 부담이 커질 수 있습니다.
엔트로피가 높으면 반복 피로도가 반드시 낮아지나요?
아닙니다. 엔트로피는 유형 분포의 다양성을 측정합니다. 같은 유형의 연속 등장, 긴 이동 거리, 높은 실패 비용은 별도 지표로 확인해야 합니다. 실무에서는 엔트로피, 최대 연속 길이, 포기율을 함께 보는 것이 안전합니다.
완전한 무작위 로테이션을 사용해도 되나요?
대부분의 경우 권장하지 않습니다. 완전한 무작위는 짧은 기간에 같은 유형이 몰리거나 고비용 미션이 연속으로 등장할 수 있습니다. 즉시 중복 금지, 유형별 쿨다운, 고비용 미션 상한을 둔 제약 기반 가중 랜덤이 더 예측 가능하고 운영하기 쉽습니다.
정리
미션 유형 엔트로피는 일일 퀘스트 로테이션의 다양성을 수치화하는 유용한 출발점입니다. 하지만 엔트로피를 최대화하는 것이 목표는 아닙니다. 핵심은 최근 유형 분포가 한쪽으로 몰리지 않도록 관리하면서도 미션 순서의 연속성과 플레이어의 계획 가능성을 유지하는 것입니다.
권장 작업 순서는 다음과 같습니다.
- 미션을 핵심 행동 유형으로 분류한다.
- 최근 14일 또는 28일의 유형 분포로 정규화 엔트로피를 계산한다.
- 연속 반복률, 최대 연속 길이, 전환 비용, 포기율을 함께 측정한다.
- 하드 제약과 소프트 가중치를 분리해 후보를 생성한다.
- 수행 시간당 보상 가치를 검증한다.
- 플레이어군별 로그와 설문으로 목표 범위를 조정한다.
이 과정을 거치면 일일 퀘스트의 반복 피로도를 감이 아니라 로테이션 규칙과 측정 가능한 지표로 관리할 수 있습니다.



