엘든링 강인도 시스템
https://gall.dcinside.com/mgallery/board/view/?id=fromsoftware&no=5107524 엘든링의 강인도 시스템 분석글입니다. 분석을 보아하니 거의 초창기부터 기본적인 골자는 변함이 없더라구요.
- 모든 개체(유저/몹/NPC 등)는 '상시 강인도'를 가진다
- '상시 강인도'에 동작 중 무기별로 박혀있는 강인도 값과 공격 동작의 강인도 단계를 곱한 값을 더해 최종 순간 강인도 값이 정해진다.
- 무기별 강인도 값은 대충 우리가 생각하는 무기 사이즈에 비례하는 값임
- 공격 동작 강인도 단계도 우리가 아는 공격 강도에 비례하는 값임
요약하면 공식은 다음과 같음
현재의 최종 강인도 = (현재의 상시 강인도)+(무기별 강인도 값)*(동작 강인도 레벨)
예시: (엘든링이라 양잡, 앉공, 점공, 방어구, 탈리스만 등 여러 설정이 있긴 한데 무시하시면 됩니다)
ex)현재 상시 강인도:88, 특대검으로 롤공88+90*0.75=155.5ex)현재 상시 강인도:42, 대검 양잡으로 일반 약공42+59*1=101ex)현재 상시 강인도 10, 나찰의 대도 양잡으로 풀차치 강공10+77*2=164피격을 받으면 이 최종 강인도에서 상대 공격의 강인도 피해량을 감산하게 됨. 이 때 강인도 피해량의 총합보다 내 최종 강인도가 높으면 '슈퍼아머' 상태는 깨지지 않음(다단히트일지라도). 하지만 강인도 피해량이 내 최종 강인도를 넘어서서 들어온다면 나는 경직 모션을 재생하게 되고 즉시 상시 강인도가 초기화됨.
이 때 동작 중에 잠깐 얻게되는 강인도 보정값이 아닌 상시 강인도 값은 다음과 같은 매커니즘을 가짐
- 상시 강인도는 상대의 공격(강인도 피해량)으로 감산될 수 있음
- 상시 강인도가 최대치로 초기화되는 조건은 두 가지다.
- 직전 강인도 피해를 받은 후 30초 동안 다른 피해를 입지 않거나
- 경직모션이 재생된 이후엔 최대치로 초기화됨
만약 상시 강인도가 80인 상황에서 돌곤봉 양잡 약공으로 20의 강인도 피해량인 공격을 맞았을 때
ex) 최종 강인도 = 80 + 52 * 1 = 132,피격 후 강인도 = 132 - 20 = 112이 112라는 강인도 값은 돌곤봉 약공 모션의 NotifyState 구간(슈아구간)이 종료될 때까지 유지된다. 그리고 슈아구간이 끝나면 내가 얻고 있었던 52(52*1)의 추가 강인도는 사라지게 되어 내 최종 강인도는 60으로 결정된다(112 - 52 = 60).
만약 20이 아니라 100의 강인도 피해량이었다면 공격 모션의 슈아구간이 종료되었을 때 132-100=32, 32-52=0(-20) 즉 상시 강인도가 0으로 떨어진다. 하지만 상시 강인도가 0으로 빠졌다고 해서 공격 모션이 끝나고 경직 모션이 출력되지 않는다. 단지 앞으로의 30초 동안 상시 강인도가 0으로 유지되는 것이며, 공격 모션이 출력될 때 정상적으로 슈아구간의 강인도 보정값은 적용된다. 그 총합이 적의 강인도 피해량보다 낮을 것이기에 다음 공격 땐 슈아 대신 경직을 먹게 되겠지만.
여기서 끝이 아니다? 만약 이런 공식으로만 강인도 시스템을 가져가면 게임이 불합리하다 느껴질 수 있다. 왜냐면 대검으로 나랑 비슷한 체급의 몹과 전투를 할 때 적의 공격에 맞춰 내 슈아구간을 발동시키면, 이론상 대검이니까 나는 경직을 안먹고 우위를 점할 수 있어야 한다. 하지만 바닐라 공식으로만 하면 처음엔 슈퍼아머가 유지될 수 있어도 몇 대만 맞으면 대검 모션임에도 경직을 먹게 될 수 있다. 언뜻보면 그래야하는거 아닌가 싶지만 최소한의 장치가 없으면 너무 자주 경직을 먹게 되므로 유저 경험이 나빠지게 됨.
그래서 여기에 강인도 하한선을 정해놨음. 디시 글에선 '최저 하한의 슈퍼아머 강인도'라고 말하는 것인데, 상시 강인도의 최대치를 적용한 최종 강인도의 80%에 해당하는 강인도값이 하한선으로 작용한다.
예를 들어 '상시 강인도 최대치'가 90인 캐릭터가 특대검 양잡 약공을 수행하면 최종 강인도는 다음과 같다.
90+90*1=180슈퍼아머 구간에서 강인도 피해 50을 입었다면 슈퍼아머 발동 종료 전까지는 130의 강인도를 가지고 발동 종료 후엔 보정치가 사라져 40의 상시 강인도를 갖게 된다.
그런데 슈퍼아머 강인도의 하한선은 0.8*(90+90*1)=144이므로, 현재 상시 강인도가 40인 상태에서 다시 특대검 양잡 약공을 사용하면 단순 계산한
40+90*1=130이 아니라, 하한선까지 보정된 144의 슈퍼아머 강인도가 적용된다.
이 상태에서 추가 피격 없이 슈퍼아머 구간이 끝나면 무기 보정치 90이 빠지므로 상시 강인도는
144-90=54가 된다. 공격 전에는 상시 강인도가 40이었는데, 슈퍼아머가 붙은 공격을 한 번 사용한 뒤에는 오히려 54로 올라간 것이다.
즉 이 경우 54가 ‘최저 하한의 슈퍼아머가 발동하는 상시 강인도 기준점’이다. 현재 상시 강인도가 54보다 낮다면 현재 상시 강인도+90으로 계산하지 않고, 무조건 하한선인 144까지 끌어올려 적용한다. 이는 슈퍼아머 도중 피해를 받아 상시 강인도가 줄었을 때뿐 아니라, 중립 상태에서 공격을 버텨 상시 강인도가 줄어든 경우에도 동일하다.
이를 하나의 공식으로 정리하면 다음과 같다.
실제 슈퍼아머 강인도 = max(현재 상시 강인도+무기 보정치*동작 레벨, 0.8*(상시 강인도 최대치+무기 보정치*동작 레벨))그리고 하한선이 발동하기 시작하는 상시 강인도 기준점은 다음과 같다.
0.8*(상시 강인도 최대치+무기 보정치*동작 레벨)-무기 보정치*동작 레벨정리하면 이 하한선에는 두 가지 의미가 있다. 첫째, 상시 강인도가 많이 소모된 상태에서 슈퍼아머가 있는 공격을 사용하면, 추가로 맞지만 않는다면 상시 강인도가 일정 수준까지 사실상 복구될 수 있다. 예를 들어 상시 강인도 최대치가 86인 캐릭터가 특대검 약공을 사용한다면 하한선은
0.8*(86+90)=140.8이고, 공격 종료 후 무기 보정치 90이 빠지므로 상시 강인도는 최소 50.8까지 복구된다.
둘째, 이 80% 하한선만으로도 적의 강인도 피해를 넘길 수 있다면 현재 상시 강인도가 얼마나 소모되었든 해당 공격에는 계속 슈퍼아머로 버틸 수 있다.
가령 강인도 피해가 100인 공격을 상대로 상시 강인도 최대치 36인 캐릭터가 특대검 양잡 약공을 사용한다면
0.8*(36+90)=100.8이므로, 상시 강인도가 이미 크게 깎여 있더라도 슈퍼아머 구간에 맞추기만 하면 그 공격 한 대는 항상 버틸 수 있다. 한 가지 특이한 점은 동작 강인도 레벨이 낮을수록 슈퍼아머 종료 후 남는 상시 강인도가 오히려 높다는 것이다. 상시 강인도 최대치 86, 특대검 보정치 90을 기준으로 하면
- 롤공(0.75배):
0.8*(86+90*0.75)-90*0.75=55.3 - 일반 약공(1배):
0.8*(86+90)-90=50.8 - 풀차지 강공(2배):
0.8*(86+90*2)-90*2=32.8이 된다. 따라서 강한 동작일수록 순간 슈퍼아머는 강하지만, 하한선이 작동한 뒤 남겨 주는 상시 강인도는 더 적다. 결국 이 시스템은 상시 강인도가 계속 깎이더라도 __대형 무기의 슈퍼아머 성능이 일정 수준 아래로 추락하지 않게 해주는 안전장치__라고 볼 수 있다. 단, 이것은 상시 강인도 자체에 항상 하한선을 두는 시스템이 아니라, 공격 동작 중의 슈퍼아머 강인도에 하한선을 적용하는 시스템이다.