전투 후 획득 한 경험치 계산


9

간단한 텍스트 전투 게임을 개발 중이며 전투 후 획득해야 할 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의 차이를 계산 한 다음 일종의 승수를 사용하고 싶지만 결과에 깊은 인상을받지 못했습니다.

모든 도움 / 의견을 부탁드립니다.


2
나는 읽지도 않고 그냥 거기에 가서-> gamebalanceconcepts.wordpress.com/2010/07/07/… <
o0 '.

첫 번째 생각은 두 번째 또는 세 번째 버전의 D & D 던전 마스터 가이드 사본을 스스로 찾아야한다는 것입니다. 이미 테스트 / 밸런싱 된 XP 어워드 시스템을위한 좋은 리소스.
Richard Fabian

답변:


13

두 가지 제안 :

지수! 각 레벨에 대한 "기본 xp 보상"을 계산하십시오. 그러면 킬에 대한 공식은 base_xp_reward * pow (1.1, target_level-player_level)입니다. 이득을 최대로 고정하여 악용을 다소 무효화하고, 낮은 차이를 방지하기 위해 XP를 특정 차이 미만으로 낮출 수 있습니다.

(constant_factor * pow (1.25, level)와 같은 경우 기본 XP 보상은 간단한 지수 진행 일 수 있습니다. 그런 다음 기본 XP 보상의 배수로 "수준에 대한 경험치"를 정의 할 수 있습니다. 이 방법으로 균형을 쉽게 잡을 수 있습니다.)

또는 이것을 간단하게 만들어 봅시다. 동일한 기본 XP 보상을 수행하십시오. 그런 다음 다양한 레벨 차이로 원하는 보너스에 대해 손으로 테이블을 계산하십시오. 당신이 한 레벨 위의 누군가를 죽이면 항상 기본 보상보다 10 %의 보너스 XP를줍니다. 그리고 이제는 수식에 대해 전혀 걱정할 필요가 없습니다. 숫자를 원하는대로 할 수 있습니다.

수식이 과대 평가되는 경우가 있습니다. 때로는 일부 숫자를 잼하여 귀로 연주해야합니다.


1
–1에 대한 +1Formulas are overrated, sometimes you just need to jam some numbers in and play it by ear.
RCIX

2

나는 "손상된 delt / recieved에 의해 xp를 얻는다"와 같은 것을 말할 것입니다. 따라서 100hp의 레벨 10은 200 hp의 레벨 15와 싸 웁니다. 불공평 해 보이지만 레벨 10이 레벨 15를 죽일 수 있다면 레벨 100 만 100 마력으로 싸울 경우 얻을 수있는 것의 xp를 두 배로 얻게됩니다.

또한이 방법으로 두 사람이 다른 장비로 같은 적과 싸울 것 같은 것에 대해 걱정할 필요가 없습니다. 예를 들어, 레벨 8과 레벨 10이 레벨 13과 싸울 경우 레벨 8에 더 나은 장비 / 갑옷이 있으면 더 많은 xp를 얻게되며 레벨 10에 비해 레벨 13에 더 많은 데미지를 줄 수 있기 때문에 레벨 10이됩니다.

그러나 가장 중요한 것은 규칙 설정, 플레이 테스트, 규칙 설정, 플레이 테스트, 규칙 설정, plasytest 등입니다.

최고의 개발자의 최고의 MMO조차도 게임이 지속되는 동안 xp 배포 시스템을 조정합니다.


0

IMHO, 바로 잡기 가장 중요한 것은 레벨 업에 필요한 XP의 확장 량입니다. 내 친구가 브라우저 로그와 유사한 피보나치 변형을 사용했습니다 (예 : 100XP, 100XP, 200XP, 300XP, 500XP, 800XP 등).

또한 각 전투에서 얻은 XP에서 레벨을 뺀 일부 게임의 정비공에 대해 들었습니다. 예를 들어 특정 전투에서 50XP를 얻고 레벨이 20 인 경우 30XP 만받습니다. 레벨이 50 이상이면 아무 것도 얻지 못합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.