레벨업 경험치 계산기 쉽게 이해하기 — 개념과 원리
많은 게임은 레벨이 오를 때마다 다음 레벨에 필요한 경험치를 일정 비율씩 늘립니다. 이 계산기는 그런 지수형 곡선을 가정하고, 레벨 2에 필요한 경험치와 레벨당 증가율, 목표 레벨을 넣으면 레벨 1부터 목표까지의 총 경험치, 마지막 레벨 하나에 필요한 경험치, 그리고 시간당 획득 경험치로 걸리는 시간을 계산합니다.
계산 방법
- 레벨 n에 필요한 경험치 = 기준값 × (1 + g)ⁿ⁻². 기준값은 레벨 2에 필요한 경험치, g는 증가율(소수)입니다.
- 레벨 L까지 총 경험치 = 기준값 × ((1 + g)ᴸ⁻¹ − 1) ÷ g로, 레벨 2부터 L까지 필요한 양을 모두 더한 값입니다. 증가율이 0이면 기준값 × (L − 1)입니다.
- 소요 시간 = 총 경험치 ÷ 시간당 경험치
원리
각 레벨의 요구량이 바로 앞 레벨의 (1 + g)배라면 요구량은 등비수열을 이룹니다. 등비수열의 합은 a + ar + … + arᵏ⁻¹ = a(rᵏ − 1) ÷ (r − 1)이라는 공식으로 한 번에 구할 수 있습니다. 여기서 첫째항 a는 기준값, 공비 r은 1 + g, 항의 개수는 올려야 할 레벨 수인 L − 1입니다. 항이 지수적으로 커지므로 마지막 몇 레벨이 전체의 대부분을 차지합니다.
예제 풀이
- 입력값은 레벨 2 경험치 100, 증가율 15%, 목표 레벨 50, 시간당 경험치 5,000입니다.
- 공비 r = 1.15, 레벨업 횟수는 49번이며 1.15⁴⁹ ≈ 942.31입니다.
- 총 경험치 = 100 × (942.31 − 1) ÷ 0.15 = 627,540.55입니다.
- 레벨 50 하나에 필요한 경험치 = 100 × 1.15⁴⁸ = 81,940.07입니다.
- 소요 시간 = 627,540.55 ÷ 5,000 = 125.51시간입니다.
| 목표 레벨 | 목표까지 총 경험치 |
|---|---|
| 12.5 | 2,659.422632 |
| 25 | 18,416.78413 |
| 37.5 | 108,824.7094 |
| 50 | 627,540.5458 |
| 62.5 | 3,603,674.754 |
| 75 | 20,679,256.8 |
| 100 | 680,760,754 |
결과 해석
마지막 레벨 하나가 전체의 약 13%를 차지하고, 레벨 41까지 오르는 데는 총 경험치의 약 28%만 필요합니다. 나머지는 마지막 아홉 레벨에 들어갑니다. 초반은 빠르고 후반은 급격히 느려지는 것이 지수형 곡선의 특징입니다. 증가율이 조금만 달라도 고레벨에서 차이가 크므로, 실제 게임 수치와 다르다면 알려진 두 레벨의 요구량으로 증가율을 다시 맞추세요.
흔한 실수
- 레벨 1에서 시작할 때 레벨업 횟수를 L − 1이 아니라 L로 셉니다.
- 증가율을 지수 계산에 15처럼 정수로 넣습니다. 0.15로 계산해야 합니다.
- 시간당 경험치가 끝까지 같다고 가정합니다. 고레벨 사냥터는 보통 경험치를 더 줍니다.
자주 묻는 질문
게임의 증가율은 어떻게 알 수 있나요?
한 레벨의 요구 경험치를 바로 앞 레벨의 요구 경험치로 나누고 1을 빼면 g입니다.
왜 총 경험치의 대부분이 마지막 레벨들에서 나오나요?
등비수열의 합에서 마지막 항은 전체의 일정한 비율, 긴 곡선이라면 약 g ÷ (1 + g)를 차지하기 때문입니다. 15%라면 약 13%입니다.
레벨마다 같은 양씩 늘어나는 게임에도 쓸 수 있나요?
증가율 0은 모든 레벨이 같은 경우이고, 일정량씩 늘어나는 곡선은 등차수열의 합으로 계산해야 합니다.
출처: Sheldon Axler, Precalculus: A Prelude to Calculus (geometric sequences and series)