[PC][디아블로2][육성] 초당 라이프/마나 회복에 대한 심층분석

분석/디아블로 2 [육성]|2020. 6. 15. 01:00

본 글은 '라이프 회복 +' 옵션과 '마나 재생 %' 옵션이 캐릭터에 얼마나 영향을 끼치는지,

또 최상 옵션에서 빠지면 그 손해는 어느 정도인 지를 계산해보고자 합니다.

래더 말기에 들어 환상적인 옵션의 크래프트 아이템이나 레어 링들이 자주 올라오곤 하는데

어레나 스탯, 패캐에 대해선 다들 잘 설명할 수 있으면서

라이프 회복이나 마나 재생에 대해서는 이익과 손실이 얼마인지 설명할 수 없는 플레이어들이 많습니다.

명품관에서 아이템 구경하기를 즐겨하시는 분이나, 아이템 옵션에 대해 관심이 많으신 분들은

이 글을 보시면 라이프/마나 회복에 대한 전반적인 것들을 이해하실 수 있을겁니다.

 

목차

1) 라이프/마나의 개념

2) 시간의 개념

3) 초당 라이프 회복

4) 초당 마나 회복

5) 수치 부족이 가져오는 손실

 

1) 라이프/마나의 개념

우리가 디아블로 화면상 생명구(붉은 구슬)와 마나구(푸른 구슬)에서 볼 수 있는

라이프/마나 수치(Hit/Mana Point)는 진짜 수치가 아닙니다.

 

디아블로는 이 값에 256를 곱한 '비트'라는 값을 사용합니다.

예를 들어, 3015의 라이프와 696의 마나를 가지고 있는 캐릭터의 진짜 체력(비트)은 다음과 같습니다.

(비트)=(포인트)*256 이며

이 글에서는 체력과 마나를 포인트와 비트, 두 가지 단위로 나타낼 것입니다.

그리고 체력과 마나는 255비트 이하로 떨어지게 되면 이는 0포인트가 아닌 1포인트로 나타납니다.

, 체력이 0비트가 되면 캐릭터는 사망에 이르며 마나가 0비트가 되면 그 때 0포인트로 나타납니다.

 

2) 시간의 개념

디아블로는 1초에 25장의 그림이 지나가는 25fps(프레임/)의 게임입니다.

1프레임은 0.04초를 차지함을 알아두어야 합니다.

 

3) 초당 라이프 회복

'베르던고의 하티 코드 미스릴 코일'에 붙어 있는 '라이프 회복 +13'과 같은 옵션은

다음과 같은 공식을 통해 초당 라이프 회복량으로 바꿀 수 있습니다.

 

초당 라이프 회복량 = 25*(라이프 회복)/256

 

사실, '라이프 회복 +13' 13이란 값은 '1프레임당 비트 회복량(체력)'을 의미합니다.

이것을 1초 단위로 고치기 위해 앞에 25를 곱하고,

비트로 표현된 체력을 포인트 단위로 바꾸기 위해 256으로 나눈 것이지요.

그래서 위와 같은 식을 거치면 '1프레임당 비트 회복량' '1초당 라이프 회복량'으로 바뀌게 됩니다.

 

4) 초당 마나 회복

'룬워드 통찰력'에 붙어 있는 '장착시 17레벨 메디테이션 오라의 효과 적용(마나 재생 700%)'

같은 옵션은 다음과 같은 공식을 통해 초당 마나 회복량으로 바꿀 수 있습니다.

 

초당 마나 회복량 = 25*{256*(최대 마나)/(25*120)}*{(마나 재생 %)/100+1}/256

*정리된 식 : 초당 마나 회복량 = {(최대 마나)/120}*{(마나 재생 %)/100+1}

 

초당 마나 회복량은 최대 마나와 마나 재생이란 두 변수의 영향을 받습니다.

먼저 포인트로 표현된 최대 마나를 비트로 표현하기 위해 256을 곱하고,

현재 '1(25프레임)당 비트 회복량(마나)'인 것을

'1프레임당 비트 회복량(마나)'로 고치기 위해 25를 나눕니다.

, 프로그래밍이 '기본 마나 재생값은 1초에 최대 마나의 120분의 1'으로 되어있기 때문에

120을 나누는 작업을 하는 것입니다.

 

퍼센트로 나타난 수치는 곱할 때 100을 나누어야 하므로

100을 나누고 1을 더해 '회복속도 증가분'을 표현합니다.

'마나 재생률 20% 증가' '현재 마나 재생률 * 1.2'인 셈이죠.

 

이 모든 작업을 거쳐 {256*(최대 마나)/(25*120)}*{(마나 재생 %)/100+1} 라는 식이 나왔습니다.

이것은 '1프레임당 비트 회복량(마나)'이며 우리는 '1초당 마나 회복량'을 구하는 것이므로

이 값에 25를 곱하고 256을 나눕니다. 그래서 이런 공식이 탄생하게 된 것입니다.

'최대 마나' '마나 재생 %'을 변수로 한 곡면을 그래프로 나타나면 위와 같습니다.

위 그래프에서는 캐스터 크래프트 아뮬렛의 변동 옵션인 '마나 재생 %'를 한 축으로 두었습니다.

변동폭은 5에서 10까지이므로 범위의 제한을 두었습니다.

 

x=최대 마나, y=마나 재생 %, z=초당 마나 회복률 입니다.

 

이를 초당 마나 회복량 공식에 넣으면 다음과 같은 곡면이 나옵니다.

계산하기 쉽게 상쇄되는 수는 약분을 하도록 하겠습니다.

그러면 위와 같은 편리한 식으로 바뀝니다. 이를 이용해 그라디언트를 구하면 다음과 같습니다.

편미분값이 너무 작아 위 그래프가 곡면이 아닌 평면으로 보이는 것이지,

실제로는 곡면인 것을 알 수 있습니다.

편미분값이 모두 1차 다항식이기 때문에 극대값이나 x=0, y=0 이외의 임계값을 가지고 있지 않습니다.

, 최대 마나와 마나 재생률의 적정값 따위는 없고 무조건 높을 수록 좋은 것임을 알 수 있습니다.

 

다만, 여기에 '사냥/pk하는 캐릭터의 초당 마나소모율'을 계산할 수 있다면,

곡면의 z축에 이 값을 넣어 x-y 곡선을 구할 수 있기 때문에

'캐릭터에게 필요한 최소 마나와 최소 마나 재생률은 얼마인가'를 구할 수 있습니다.

 

5) 수치 부족이 가져오는 손실

'라이프 회복 +'에서 수치가 1 빠지게 되면, 초당 라이프 회복률은 약 0.1라이프/초가 줄어듭니다.

 

'마나 재생 %'에서의 손실량을 알고 싶으면 먼저 '최대 마나'를 가정하고(한 변수의 고정)

'마나 재생 옵션에서 빠진 수치' '마나 재생%'에 넣으면 됩니다.

초당 마나 회복량 공식에 분배법칙이 적용됩니다.

댓글()