뭔가 합리적으로 적용시킬 수 있는 계산식이 쉽게 떠오르지 않네요....ㅜㅠ
일단 구상한건 있는데
식이 적당한 결과값이 되기 위해 필요한 조건이 있습니다.
일단 모든 데미지는 플레이어의 레벨에 영향을 받으며
적의 mat 즉 마법력을 개발자만이 알 수 있는 임의 레벨이라고 가정하여
플레이어의 공격데미지는
10 + (a.level / 3 + 2) * a.level * (a.atk or a.mat) / (a.level * 3 + (b.def or b.mdf)) + n * a.level로
플레이어가 고레벨이 되었을때 동급 몬스터에 비해
능력치가 낮은 몬스터에게 터무니 없는 데미지가 나오는 걸 방지합니다.
(물론 저렇게 해도 충분히 강합니다;;)
플레이어의 레벨과 능력치가 낮은 초반에 데미지 무효 처리를 방지하기 위해
상수 10를 최소데미지로 정하였습니다. ( 레벨 1에 적당한 데미지로 임의 변경해도 좋습니다.)
n값은 스킬에 따른 데미지 차별화를 두기 위한 값으로 지정했습니다.
다음으로 적의 공격데미지는
5 + a.mat / 2 + (a.mat / 3 + 2) * a.mat * a.atk / 10 / (a.mat * 3 + (b.def or b.mdf))이라는 공식을 만들었습니다.
제가 만들고 있는 게임의 주인공들의 체력 최대치가 1000 미만이기 때문에
적의 데미지 값을 대폭 낮췄습니다.
결론은...
이렇게 만들기했으나 뭔가 부족한 느낌을 지울 수 가 없네요...
더 좋은 식이 있다면 공유하고 싶어요~
적용되는 값이소수점은 반올림 하지않고 버리는 것 같네요...