💡 Motivation
🍁 메이플스토리란?
메이플스토리는 Nexon사에서 출시한 MMORPG 게임입니다.
게임의 목표는 간단하게 다음 네가지 단계의 반복으로 정리할 수 있습니다.
1. 사냥과 컨텐츠를 통한 재화 획득 및 레벨업
2. 레벨업을 통해 더 많은 컨텐츠와 보스 해금
3. 사냥과 보스처치를 통해 획득한 재화로 캐릭터 성장에 투자
4. 투자를 바탕으로 성장 가속화
🤔 주제 선정 동기
저 또한 게임을 꽤 오랫동안 꾸준하게 플레이해왔고,
플레이 과정에서 사냥에 관한 다음과 같은 경험과 생각을 하게 되었습니다.
1. 캐릭터의 레벨이 높아질수록 더 많은 경험치를 요구해 주된 레벨업 경로인 사냥 시간의 기하급수적인 증가 체감
2. 게임을 플레이하는 유저들이 특정 레벨에서 사냥과 성장을 멈추는 '주차'현상을 자주 목격
3. 메이플스토리의 육성 시스템에 피로감을 느낀 유저들의 비정상적인 플레이 염려
위 내용들에 대해서는 뉴스나 커뮤니티를 통해 쉽게 확인 또한 가능했습니다.
'한 달간 5천 계정 매크로 단속' 이라는 키워드와 게임 레벨을 올리도록 강요한 범죄에 관한 기사를 찾을 수 있었으며,
유저들이 주로 이용하는 커뮤니티인 '메이플 인벤'과 '에펨코리아 메이플스토리 게시판'에서는
사냥이 지겹다는 유저들과 매크로에 진절머리가 난 유저들을 쉽게 찾을 수 있었습니다.
🧐 선행 연구 결과
선행 연구결과에 대해서도 조사해보았습니다.
한국컴퓨터정보학회 하계학술대회 논문집 31권 2호에 수록된
[국내 PC MMORPG 게임의 이용자 감소 현황에 대한 연구 - 윤준, 이종원(2023)]에 따르면,
한국형 MMORPG는 사냥 콘텐츠를 지나치게 부각시키고 있으며,
이는 유저들의 지루함을 증폭시켜 게임에서 이탈하게 만든다고 제시합니다.
또한 현직 QA로 추정되는 분의 분석 결과를 살펴보았습니다.
해당 분석에서는 동일 간격의 4개 기간을 대상으로 기간 내 레벨업 횟수별 이탈률을 비교하였습니다.
모든 기간에서 4회 이하로 레벨업 한 경우 이탈률이 높게 형성되는 것을 알 수 있었으며,
레벨업 난이도와 이탈률이 유의미한 상관관계를 가진다는 것을 유추할 수 있었습니다.
이에, 유저들의 이탈을 막으려면 지나치게 높은 레벨업 난이도는 완화가 필요하다고 생각했습니다.
📝 주제 소개
위의 요소들을 통해 최종적으로 선정한 주제는 다음과 같습니다.
메이플스토리 육성 컨텐츠 방향 제안
- 캐릭터 레벨 데이터를 바탕으로 -
✅ 주제 설명
메이플스토리 캐릭터 레벨 분포에 대한 분석을 바탕으로
어떤 레벨 구간에서 정체가 발생하고 있는지 파악하고,
이러한 정체구간을 해소하기 위해서
어떤 방향으로 육성에 관한 기존 컨텐츠를 조정하거나,
신규 컨텐츠를 출시하는게 좋을지에 대한 분석
✅ 데이터 수집 경로
📄 닉네임 & 레벨 데이터
메이플스토리 홈페이지 월드 랭킹 페이지에서
python의 bs4 라이브러리를 이용한 Web Crawling 기법을 통해 수집
📄 경험치 & 어센틱포스 데이터
메이플스토리에서 공식적으로 제공된 데이터는 존재하지 않아
나무위키 문서에서 Web Crawling 기법을 통해 수집해 가공 및 전처리 수행
📑 Data Info.
📊 캐릭터 레벨 & 닉네임 데이터
✅ 데이터 설명
메이플스토리 홈페이지의 월드랭킹 페이지에서 서버별로 캐릭터 레벨과 닉네임 정보를 수집하였습니다.
python의 bs4 라이브러리를 이용한 Web Crawling 기법으로 데이터를 수집하였습니다.
✅ 데이터 수집 대상
일반 월드 전체(버닝 월드 제외)를 대상으로 데이터 수집을 진행하였습니다.
데이터 범위는 260LV 이상의 캐릭터들로 제한하여 수집하였습니다.
✅ 수집 대상 제외 서버
버닝 월드 : 이벤트 기간에만 오픈되는 특수한 월드입니다.
리부트 월드 : 유저 간 거래가 완전히 제한된 월드로, 일반 월드와의 육성 과정 차이가 있어 제외했습니다.
📊 레벨 구간별 필요 경험치 데이터
✅ 데이터 설명
메이플스토리 레벨 구간별 필요 경험치에 관해서는 공식적으로 제공된 데이터가 존재하지 않습니다.
이에 불가피하게, 직접 인게임에서 확인한 정보를 바탕으로 작성된 나무위키 문서를 참고했습니다.
✅ 데이터 수집 대상
260LV 이상 레벨 구간을 대상으로 필요 경험치량, 전 구간 대비 증가율을
Web Crawling 기법으로 수집했습니다.
✅ 수집 목적
정체된 레벨 구간의 원인 분석에 사용할 수 있습니다.
📊 장착 심볼 정보 데이터
✅ 데이터 설명
2023년 12월 22일 NEXON Open API 사이트에서 메이플스토리 Open API 추가 컨텐츠를 오픈했습니다.
이에 캐릭터 식별자(ocid)를 바탕으로 다양한 정보를 조회할 수 있게 되었습니다.
✅ 데이터 수집 방법
앞서 수집된 닉네임들을 바탕으로 Open API를 통해 캐릭터 식별자(ocid)를 조회합니다.
조회된 식별자들을 바탕으로 다시 한 번 OpenAPI로 장착 심볼 정보를 조회해 어센틱 포스 수치를 확인합니다.
✅ 수집 목적
캐릭터 레벨 그룹별로 평균 어센틱 포스 레벨을 파악할 수 있습니다.
📊 어센틱 포스 데이터
✅ 데이터 설명
메이플스토리 어센틱 포스 수치에 관해서는 공식적으로 제공된 데이터가 존재하지 않습니다.
이에 불가피하게, 직접 인게임에서 확인한 정보를 바탕으로 작성된 나무위키 문서를 참고했습니다.
✅ 데이터 수집 대상
260LV 이상 레벨 구간을 대상으로 필요 성장치, 필요 메소를 Web Crawling 기법으로 수집했습니다.
✅ 수집 목적
어센틱 포스 성장 난이도 분석에 사용할 수 있습니다.
📊 사냥터 포스 시스템 데이터
✅ 데이터 설명
메이플스토리의 260LV 이상 몬스터 사냥터에는 어센틱 포스 시스템이 적용됩니다.
캐릭터의 어센틱 포스 수치에 따라 사냥터의 몬스터에게 입히는 피해량이 달라집니다.
✅ 데이터 수집 방법
해당 데이터는 최초에 나무위키 문서에서 Web Crawling 기법으로 수집했습니다.
이후 메이플스토리 공식 홈페이지에서 해당 데이터를 발견하여, 이상 없음을 체크했습니다.
✅ 수집 목적
유저들의 어센틱 포스 레벨에 따른 사냥 난이도를 확인할 수 있습니다.
📌 데이터 선정 기준
✅ 왜 260LV인가?
1. 방학 시즌마다 '하이퍼 버닝' 이벤트로 신규 유입되는 유저들이 260LV까지 손쉽게 육성할 수 있게 되었다.
2. 메이플스토리에 7년만에 추가된 신규 전직 클래스인 '6차 전직'의 요구 레벨이 260LV로 책정되었다.
3. 현재 메이플스토리의 메인 스토리가 진행되는 무대인 '그란디스' 지역은 260LV부터 입장할 수 있다.
👉🏻 방학을 맞이하여 하이퍼버닝 이벤트를 계기로 메이플스토리에 유입된 신규 & 복귀 유저들이
260LV을 달성한 이후로도 막힘 없이 성장하며 이탈하지 않고 재미있게 게임을 즐길 수 있으면
좋을 것 같다는 생각에서 기준을 선정했습니다.
🧐 Analysis
📉 레벨별 유저 수 추이
💡 Insight
260레벨에 도달한 유저 중 25%에 가까운 수가 260레벨에 머물러 있습니다.
260레벨을 달성한 후 의욕을 잃어버리고 게임을 쉬거나,
다른 캐릭터 육성에 눈길을 돌리는 것으로 볼 수 있습니다.
260레벨 이후 대부분의 구간에서 정체없이 레벨당 유저수가 감소하지만,
5레벨 단위에선 반대로 정체구간이 형성되어 유저 수가 쌓이고 있습니다.
해당 레벨을 달성하고는 '주차'한 후 육성을 멈추는 모습을 확인할 수 있습니다.
📉 레벨별 요구 경험치량 추이
💡 Insight
5레벨 구간마다 정체구간이 형성된 이유를 확인하기 위해
각 레벨별로 레벨업에 필요한 요구 경험치량을 확인했습니다.
260레벨에선 259레벨보다 3배 많은 경험치를 요구합니다.
5레벨 구간을 제외하고서는 1%부터 10%까지 고르게 요구 경험치량이 증가하지만,
5레벨 구간에서는 30%부터 100%까지 최대 2배 많은 경험치를 레벨업에 요구합니다.
📉 레벨별 일일 컨텐츠 경험치 비율 추이
💡 Insight
매일 경험치를 제공하는 컨텐츠는 기본적으로 5레벨 단위로 해금되는
지역별 '일일퀘스트'들과, '몬스터파크'가 있습니다.
이를 클리어하여 획득하는 경험치 비율은 270레벨 까지는 10레벨 구간에서,
이후로는 5레벨 구간에서 크게 줄어드는 경향을 띕니다.
그 외 레벨 구간에서는 경험치 비율이 고르게 감소하는 모습을 보이고 있습니다.
📉 레벨별 사냥 경험치 비율 추이
💡 Insight
'사냥' 컨텐츠 경험치 비율은 몬스터 1만마리를 처치했을 경우를 기준으로 잡았습니다.
(전체 경험치에 대해 1마리 처치 경험치를 비율로 잡으면 퍼센트가 너무 작기 때문입니다.)
0 ~ 4레벨 구간은 획득 경험치 비율이 소폭 증가하는 반면 5레벨 구간에서 크게 감소하며,
10레벨 구간에서는 그 감소 폭이 훨씬 큰 형태를 띕니다.
(단, 275레벨 이후로는 해당 레벨 구간마저 획득 경험치 비율 감소)
💡 어센틱 포스 격차
메이플스토리 260LV 이상 지역 사냥터에는 '어센틱 포스'라는 시스템이 존재합니다.
각 사냥터에는 어센틱 포스 요구량이 지정되어 있으며,
캐릭터의 어센틱 포스량과의 격차에 따라 디버프 & 버프를 부여받게 됩니다.
어센틱 포스가 부족한 경우, 몬스터에게 가하는 피해량이 적어져 온전한 사냥이 불가능하게 되며,
요구량을 초과하는 경우, 몬스터에게 가하는 피해량이 늘어나 사냥이 훨씬 수월해집니다.
📉 어센틱 포스 격차별 피해량 변화
💡 Insight
위에서 언급한 '어센틱 포스' 시스템에서
사냥터의 포스 요구량과 캐릭터의 포스량 격차별 피해량 변화 그래프입니다.
어센틱 포스가 부족한 경우 데미지는 최대 95%까지 감소하며,
충분한 경우에는 데미지가 최대 25% 증가합니다.
최대 버프량인 25%를 받지 않고 사냥을 진행하는 것은,
캐릭터의 전투력이 매우 높지 않다면 어려운 일입니다.
📉 레벨별 표본 유저들의 어센틱 포스 레벨 평균
💡 Insight
260레벨 유저들의 표본은 평균적으로 최소 포스도 충족하지 못하였으며,
285레벨 유저들의 표본만 평균적으로 최대 포스를 충족한 것으로 드러났습니다.
260 ~ 275레벨 유저들은 평균적으로 사냥조차 힘들게 진행하고 있는 것으로 볼 수 있습니다.
Open API의 특성상, 하루에 1천회를 기준으로 데이터 조회가 제한되어 있어,
데이터 표본이 크지 않아 조금 더 정밀한 검증이 필요하다는 한계점이 있는 데이터입니다.
📉 어센틱 심볼 성장 소요일 그래프
💡 Insight
5레벨 단위로 지역을 해금하면 새로운 종류의 '어센틱 심볼'을 획득하게 됩니다.
어센틱 포스는 (어센틱 심볼 레벨 * 10)으로 계산됩니다.
기본적으로 획득 가능한 심볼은 한 종류(20개)를 제외하면 매일 종류별로 10개입니다.
어센틱 심볼은 현재 11레벨까지 성장 가능합니다.
매일 심볼을 10개씩 받으면, 11레벨을 달성하기까지 총 461일(약 1년 3개월)이 소요됩니다.
사냥과 이벤트로 추가 획득이 가능한 부분입니다만,
획득 조건이 있거나 추가적으로 재화가 요구되는 상황입니다.
📝 요약
👉🏻 이러한 사항들은 매 5레벨마다 유저 수 정체 구간이 형성되어 있으며,
특히 260레벨에 유저가 가장 많이 정체되어 있는 이유로 볼 수 있습니다.
👉🏻 이러한 사항들은 캐릭터 레벨을 추가적으로 올리는 데 있어
거의 유일한 수단인 '사냥' 컨텐츠마저 유저들이 힘들어하는 이유로 볼 수 있습니다.
⚙️ Solution
🙋🏻♂️ 경험치에 관한 여론
실제로 경험치에 관한 엄청난 양의 비난 여론을 쉽게 확인할 수 있었습니다.
특히 익명 커뮤니티 특성상 비속어가 난무하기도 합니다.
현재 경험치량에 대한 유저들의 반응이 매우 좋지 못한 것으로 볼 수 있습니다.
👉🏻 경험치 그래프의 평탄화 제안
🤨 How?
299레벨에서 레벨업을 하기 위해 필요한 경험치량은 그대로 두고,
구간별로 경험치가 일정한 비율로 증가하는 등비수열 형태의 그래프를 제안합니다.
😆 Expected Outcomes
5단위의 레벨을 달성하는 순간 큰 폭으로 늘어나는 경험치를 전체적으로 서서히 증가시켜,
유저들이 경험치 폭 변화에 너무 큰 부담을 느끼지 않는 것을 의도한 개선안입니다.
이는 유저들의 '주차' 문화를 해소하는데 조금이나마 도움이 될 것으로 기대됩니다.
👉🏻 컨텐츠 경험치 그래프의 평탄화 제안
🤨 How?
289레벨에서 획득하는 컨텐츠 경험치는 그대로 두고,
구간별로 경험치량이 일정하게 감소하는 등비수열 형태의 그래프를 제안합니다.
😆 Expected Outcomes
특정 구간에서 감소하는 경험치 비율을 마찬가지로 등비수열 형태로 감소시켜,
모든 레벨의 유저들이 컨텐츠 경험치 획득 비율의 급감을 경험하지 않는 것을 의도한 개선안입니다.
유저들의 꾸준한 성장 체감을 돕는 것이 기대됩니다.
👉🏻 사냥 경험치 비율의 조정 제안
🤨 How?
경험치 감소량이 급격한 270레벨부터 280레벨까지의 사냥 경험치 비율에
수치를 조금 더해줌으로써 차이를 좁히도록 하였습니다.
😆 Expected Outcomes
270레벨을 달성한 이후 유저들의 사냥 경험치량이 전보다 확연히 줄어들었다는 생각이 들지 않도록 하여,
유저들이 포기하지 않고 꾸준히 사냥을 통한 성장을 이어나갈 수 있도록 돕는 것이 기대됩니다.
🙋🏻♂️ 어센틱 심볼 레벨업에 관한 여론
어센틱 심볼에 관한 여론 또한 유저들 사이에서 좋지 않습니다.
과거 심볼을 5개씩 지급하던 시절보다 나은 10개로 완화되었지만,
여전히 1년 3개월이라는 기간은 유저들에게 너무 깁니다.
👉🏻 어센틱 심볼 주간 컨텐츠 추가 제안
🤨 How?
260레벨 미만 구간의 심볼인 '아케인 심볼'은 주간 컨텐츠로 매주 45개씩 획득 가능합니다.
260레벨 이상 구간의 심볼인 '어센틱 심볼'도 동일하게 주간 컨텐츠를 추가하는 방안을 제안해봤습니다.
😆 Expected Outcomes
이벤트 기간을 제외하고도 유저들이 꾸준하게 게임을 플레이하도록 의도했습니다.
경험치 보상도 조금 추가하면, 유저들의 성장에 큰 도움이 될 것으로 기대됩니다.
🙋🏻♂️ 과거 진행된 유사한 업데이트 & 유저 반응
과거 진행된 유사한 업데이트 내용입니다.
누구나 260레벨을 달성해 6차 전직을 진행할 수 있도록 260레벨 구간의 경험치를 조정했습니다.
또한 아케인리버 주간 퀘스트 조정을 통해 심볼 지급량을 늘리고, 경험치 보상을 추가했습니다.
해당 업데이트들에 관한 유저들의 커뮤니티 반응입니다.
260레벨을 달성하기 위한 난이도가 확실히 낮아졌다는 반응이 많았으며,
해당 업데이트 당시 디렉터였던 강원기 디렉터를 숭배(?)하는 댓글도 찾아볼 수 있었습니다.
아케인 심볼 주간 컨텐츠의 완화에 대한 유저들의 반응도 매우 긍정적이었습니다.
빠른 심볼 성장으로 인한 캐릭터 능력치 성장의 가속화에 대한 기대도 찾아볼 수 있었습니다.
✅ 결론
글로벌 프로덕트 애널리틱스 솔루션 기업 'Amplitude'에서 제안한 '리텐션 커브'입니다.
리텐션이란, 시간이 지날수록 얼마나 많은 유저가 제품으로 다시 돌아오는지를 측정한 수치입니다.
리텐션 커브는 사용자의 이용 기간에 따른 리텐션 수치를 그래프화 한 것이라 할 수 있습니다.
Amplitude사의 Mastering Retention Playbook의 내용을 참고한 리텐션을 높이는 방법입니다.
1. 리텐션 커브를 높이기
처음 제품을 이용하는 유저들이 경험하는 서비스를 최적화하여, 유저들이 제품에 머물도록 하는 것입니다.
메이플스토리의 경우, 신규 생성 캐릭터에 대한 하이퍼 버닝 이벤트를 통해
260레벨을 손쉽게 달성하여 6차 전직까지 빠르게 진행하도록 돕는 것이 이 과정이라고 볼 수 있습니다.
2. 리텐션 커브를 평평하게 만들기
기존 유저들을 대상으로 꾸준히 최적화된 서비스를 제공해, 유저들의 이탈을 막는 것입니다.
프로젝트를 통해 분석한 내용을 바탕으로 제안한 사항들을 적용하여 리텐션 커브를 평평하게 만들음으로써,
신규 유입된 유저들이 성장을 멈추지 않고 꾸준히 서비스를 이용하도록 하는 것이 이번 프로젝트의 최종 목표입니다.
💡 마치며..
데이터 분석가라는 구체적인 목표를 정한 이후로 처음 진행한 프로젝트라서
사실 지금도 이게 맞게 잘 한건지 의심되고 그런 상황입니다...
(처음이기도 하고, 혼자 해본거라 되게 허접한 것 같음...)
우선 데이터 수집하기가 진짜 어려운 일인걸 다시 한 번 깨닫게 된게..
메이플스토리 랭킹 페이지에서는 한 페이지당 데이터를 열 개씩 수집 가능한데,
페이지를 바로바로 넘어가면서 조회하게 되면 공격으로 간주하고 ip 임시차단에 걸려버려서
페이지당 10초 정도 간격을 주면서 넘어갈 수 밖에 없는 상황..
근데 이렇게 수집한 데이터가 58만개 정도이니.. 얼마나 오랜 시간이 걸렸는지..........
그래도 꾸준히 교육을 들으면서 이런저런 프로젝트 경험을 쌓아가다 보면
언젠간 넥토리얼을 넘어서 넥슨 본사에 DA로 취직할 수 있을거란 자신감을 가지고! 열심히 해볼 예정입니다.....
앞으로 진행될 팀 프로젝트뿐만 아니라 자격증도 취득하고,
개인 프로젝트도 병행하면서 5월까지 알찬 시간을 보내보는걸로!
마지막으로 요즘 푹 빠져 사는 노래 하나 투척..
🛠️ Stacks
⚙️ 데이터 수집 및 전처리(Python)
📑 사용한 라이브러리
- pandas
- bs4
- requests
- urllib.parse
- time
⚙️ 데이터 분석 및 시각화(Tableau)
📚 References
[한국컴퓨터정보학회 하계학술대회 논문집 제 31권 2호] 국내 PC MMORPG 게임의 이용자 감소 현황에 대한 연구 - 윤준, 이종원
국내 PC MMORPG 게임의 이용자 감소 현상에 대한 연구 | DBpia
윤준, 이종원 | 한국컴퓨터정보학회 학술발표논문집 | 2023.7
www.dbpia.co.kr
레벨업 난이도와 이탈률의 관계 - GameQA.org
게임로그 분석 예시 - 레벨업 로그
지난 번의 게임로그 구성 (http://gameqa.org/86)에 이어 게임 로그를 실제로 어떻게 활용할 수 있는지 간단한 예시로 살펴 봅시다. 대부분 게임에서 가장 먼저 기본적으로 남기는 로그는 [로그인] 로
gameqa.tistory.com
Mastering Retention Playbook - Amplitude
Mastering User Retention Playbook | Amplitude
amplitude.com
캐릭터 레벨, 닉네임 수집 - 메이플스토리 공식 홈페이지 랭킹 페이지
월드 | 랭킹 | 메이플스토리
maplestory.nexon.com
메이플스토리 경험치 정보 수집 - 나무위키
메이플스토리/시스템/경험치 - 나무위키
2023년 8월 10일 업데이트 이후 사냥 경험치 획득량 배율은 다음과 같다. 캐릭터 레벨 - 몬스터 레벨경험치 획득량 (%)비고40 이상70%39 ~ 2171 ~ 89%레벨 1당 1%p씩 증가20 ~ 1995%18 ~ 1796%16 ~ 1597%14 ~ 1398%12 ~ 1
namu.wiki
메이플스토리 어센틱 포스 정보 수집 - 나무위키
어센틱포스 - 나무위키
[ 세르니움 ~ 오디움 ]레벨AUT스탯 증가량필요 성장치필요 메소누적 메소일반누적...
namu.wiki
메이플스토리 캐릭터 ocid 및 장착 심볼 정보 수집 - Nexon Open API
NEXON Open API | game
NEXON Open API에서 제공하는 게임 목록입니다.
openapi.nexon.com
메이플스토리 일일퀘스트 경험치 정보 수집 - 메이플 인벤
New Age 업데이트 이후 일일퀘스트 클리어 경험치 표
www.inven.co.kr
메이플스토리 몬스터파크 경험치 정보 수집 - 메이플 인벤
New Age 업데이트 이후 몬파 클리어 경험치 표
이번 New Age 업데이트로 210~269 레벨 요구 경험치량이 감소했습니다. 또한, 신규지역이 추가되었으며, 일일퀘스트 클리어 경험치량이 증가하였습니다.그래서 기존에 만들었던 몬파 경험치표를 수
www.inven.co.kr
메이플스토리 몬스터 사냥 경험치 정보 수집 - 나무위키
메이플스토리/일반 몬스터 - 나무위키
여기 몬스터들도 몬컬등록 대상이라서 빅토리아 인근 섬 지대를 탐험하는 유저들을 멘붕시키는 주범으로 악명이 높다. (단, 일부 사항은 예외.) 아쉴롬, 미우미우와는 달리 타 직업군도 텔레포
namu.wiki