간단한 텍스트 전투 게임을 개발 중이며 전투 후 획득해야 할 XP의 양을 계산하는 데 문제가 있습니다. 고려해야 할 몇 가지 요소가 있습니다.
1) 플레이어는 같은 레벨의 누군가를 이길 경우 좋은 경험치를 얻습니다
2) 플레이어가 더 높은 레벨의 사람을 이길 경우 XP를 많이 얻습니다.
3) 플레이어가 낮은 레벨의 누군가를 물리 치면 XP가 낮아야합니다.
4) 위의 스케일은 잘 조정되어야합니다. 즉, 플레이어 A가 레벨 10이고 레벨 9 또는 11 인 플레이어 B와 전투를하는 경우 차이는 크지 않아야합니다 (물론 레벨 11 캐릭터를 물리 치기 위해 더 많은 XP를 얻지 만 5 ~ 15 레벨에 맞서 싸우려면이 차이는 엄청납니다.
모든 시나리오에서 잘 작동하는 것을 계산하는 데 문제가있는 경우 현재 내 XP 테이블은 다음과 같습니다.
Current Level XP Needed Increase from Last Level
1 30 0
2 65 35
3 106 41
4 154 48
5 210 56
...
10 672 123
PHP에서 내 코드는 필요한 XP를 계산하기 위해 다음과 같습니다.
$offset = 30;
$multiplier = 1.17;
$base = $prevXp * $multiplier;
$xp = $base + $offset;
나는 몇 가지 다른 것을 시도했지만 그중 하나에 깊은 인상을받지 못했습니다 .XP의 차이를 계산 한 다음 일종의 승수를 사용하고 싶지만 결과에 깊은 인상을받지 못했습니다.
모든 도움 / 의견을 부탁드립니다.