maple-spec: 메이플 복귀 어드바이저 CLI
메이플스토리 복귀 유저를 위한 스펙업 어드바이저 CLI입니다. 넥슨 Open API로 경험치 이력을 역산해 휴면 기간을 추정하고, 공백기 패치 변화와 스펙업 우선순위를 리포트로 출력합니다.
어떤 도구인가
메이플스토리를 접었다가 돌아온 유저가 가장 먼저 묻는 질문은 두 가지입니다. "내가 얼마나 쉬었지?" 그리고 "이제 뭐부터 해야 하지?" maple-spec은 이 두 질문에 답하는 복귀 어드바이저 CLI입니다.
넥슨 Open API 위에 Node와 TypeScript로 만들었고, 신규 런타임 의존성 0으로 가볍게 유지했습니다.
휴면 기간 역산
넥슨 API는 "마지막 접속일"을 직접 주지 않습니다. 대신 날짜별 경험치 이력을 제공합니다. 그래서 경험치가 멈춰 있던 구간을 역산해 휴면 기간을 추정합니다. 캐릭터명 하나만 넣으면 "약 8개월 쉬셨네요" 수준의 답이 나옵니다.
추정된 공백 기간에 무엇이 바뀌었는지도 함께 보여줍니다. 패치 데이터를 날짜 인덱스로 들고 있다가, 공백 구간에 해당하는 업데이트만 묶어 복귀 리포트로 출력합니다.
스펙업 우선순위와 가짜 환산 금지
복귀 리포트 다음은 "뭐부터 올릴까"입니다. 하이퍼스탯, 심볼, 잠재능력 같은 스펙업 항목을 효율 순으로 티어 랭킹해 보여줍니다.
여기서 지킨 원칙이 하나 있습니다. 근거 없는 환산 수치를 지어내지 않는 것입니다. 커뮤니티에 떠도는 "스탯 1당 전투력 N" 같은 값을 그대로 박는 대신, 데미지 공식 기반으로 계산 가능한 것만 계산하고 불확실한 항목은 불확실하다고 표시합니다. 스탯 환산표는 실측 데이터와 대조해 오차 1~5% 이내인 것을 확인하고 나서야 기능으로 넣었습니다.
그 밖의 기능
- 스냅샷을 저장해두면 지난번 실행과 비교해 성장 폭을 보여주는 성장 추적기
- 레벨 대비 밀린 심볼을 감지하는 백로그 알림
- What-if 분석: "이 항목을 올리면 어디가 얼마나 달라지는가"
배운 점
게임 도구의 신뢰는 정확도에서 나옵니다. 그럴듯한 숫자를 보여주는 건 쉽지만, 실측으로 검증되지 않은 수치는 유저의 의사결정을 망칩니다. "모르는 건 모른다고 출력한다"는 결정이 이 CLI의 가장 중요한 기능이라고 생각합니다.