기획자 본인만큼 잡다한 블로그

greentec.egloos.com

포토로그


통계 위젯 (블랙)

1910
65
90515

flag counter

Flag Counter


로그라이크 게임 제작 - 스탯에 대하여 (2), 명중과 회피 게임기획

명중은 공격이 상대방을 맞출 확률에 관계하는 수치다. 이 수치가 높으면 안정적으로 적을 공격할 수 있지만 낮으면 손도 못 대고 사망하는 일이 발생하기도 한다. 스탯을 올린 결과가 시각적으로 즉시 드러나기 때문에 성장을 체감시켜주기에 좋은 수치이기도 하다.


명중률에 관한 가장 유명한 밈 중 하나. 이렇게 총을 가까이 대도 명중률이 65% (XCOM)


이 글에서는 디아블로2, 디아블로3, 디아블로3 확장팩을 거치며 명중률에 영향을 주는 스탯이 변화해 온 과정과 개인적인 경험을 써보기로 한다.
먼저 디아블로2에는 명중률에 영향을 주는 스탯으로 공격 등급(Attack Rating)이 있었다. 이 수치는 민첩(Dexterity) 스탯으로 올릴 수 있었고, 매직 아이템에 붙은 옵션으로 직접 올릴 수도 있었다. 디아블로2의 공격 등급은 다음과 같은 공식으로 공격의 명중률을 결정했다.[1]

Chance To Hit = 200% * {AR / (AR + DR)} * {Alvl / (Alvl + Dlvl)}

Abbreviations:
AR = Attacker's Attack Rating
DR = Defender's Defense rating
Alvl = Attacker's level
Dlvl = Defender's level

공격 등급의 문제는 직관적이지 않다는 것이었다. 명중률에 영향을 주는 수치는 내 공격 등급, 상대의 방어 등급(Defense Rating), 내 레벨, 상대의 레벨의 4개였기 때문에 공격 등급을 1 올렸을 때 명중률이 얼마나 오를지 가늠하기가 힘들었다. 다른 스탯과 마찬가지로 많이 올리면 좋은 게 아닌가? 라고 생각할 수도 있지만 문제는 다른 스탯과 공격 등급을 비교해서 어느 것을 고를지 선택할 때 발생했다. 플레이어가 공격 등급 스탯의 상대적 가치를 판단하기 힘들고 명중률은 일정 확률 이상 올라가면 상승이 잘 체감되지 않기 때문에 공격 등급은 다른 스탯과 비교해서 우선순위가 낮았다.
디아블로3 오리지널에서는 공격 등급이 삭제되고 공격 명중률은 100%가 되었다. 대신에 민첩 스탯을 올리면 회피 확률 수치가 올라가는 것으로 명중 관련 수치를 일원화했다. 민첩 스탯이 올라감에 따라 회피율은 계단식으로 올라갔다. 당연히 민첩 스탯이 높아질수록 회피율이 올라가는 속도는 낮아졌다. 대략 아래와 같은 공식이었다.[2]

if (Dexterity <= 100)
 DodgeChance = Dexterity * 0.001;
else if (Dexterity <= 500)
 DodgeChance = (Dexterity - 100) * 0.00025 + 0.1;
else if (Dexterity <= 1000)
 DodgeChance = (Dexterity - 500) * 0.0002 + 0.2;
else if (Dexterity <= 8000)
 DodgeChance = (Dexterity - 1000) * 0.0001 + 0.3;
else
 DodgeChance = 1;

여기서 문제는 민첩 스탯이 8000을 넘어갈 때 회피율(DodgeChance)이 1, 즉 100%가 되는 것이었다. 그리고 민첩이 주는 회피 외에 다른 스킬이나 아이템이 주는 회피 보너스도 존재했기 때문에 실제로는 민첩이 8000이 되지 않아도 회피율이 매우 높아지는 결과를 낳았다. 하지만 이렇게 회피율이 높아도 몬스터의 대미지 자체가 매우 높았기 때문에 60레벨 캐릭터라도 몬스터의 공격 한두 방에 사망할 수도 있었다. 따라서 민첩을 높일 때 대미지도 같이 올라가는 직업인 수도사와 악마사냥꾼은 회피 세팅을 맞추기 위해 특정 아이템 세팅과 스킬 세팅만 유지해야 했고 게임이 단조로워졌다. 특히 수도사는 근접 공격 캐릭터였기 때문에 회피 세팅이 되어있지 않으면 살아남을 수 없었다.
이 문제를 수정하기 위해 디아블로3의 확장팩인 영혼의 수확자(Reaper of Soul)에서는 전반적인 밸런스 조정과 함께 민첩의 회피 보너스를 삭제하고 민첩 1 당 방어도(Armor)를 1 올려주는 것으로 바뀌었다.[3] 힘(Strength) 스탯 1도 방어도 1을 올리고 있었기 때문에 이제 힘과 민첩 둘 중 어떤 것을 올리건 방어도가 올라가게 된 것이다. 참고로 방어도는 대미지를 분수함수 공식으로 일정 수치만큼 깎아준다. (공격과 방어도에 대해서는 다음 글에서 다룰 예정이다) 회피 보너스는 스킬 등 다른 곳에서만 얻을 수 있게 되었다. 패치 결과 계속 회피하다가 한두 번의 공격에 사망하던 예전의 패턴에서 여러 번의 공격을 받으며 캐릭터가 언제쯤 죽을지 알 수 있도록 바뀌어서 좀 더 예측 가능한 게임이 되었다.
개인 경험에서 나온 다른 사례도 있다. 내가 신입 기획자이던 시절, 서비스하고 있던 게임에서 이벤트 보스를 추가하게 되었다. 당시 유저들의 최고 레벨은 40이었고 이벤트 보스의 레벨은 45로 들어갔다. 그런데 문제는 레벨 차이에 따라 명중률에 차등이 주어지는 것이었다. 정확히 기억은 나지 않지만 대략 아래와 같은 표였다.

레벨 차이명중률 디버프
1-20%
2-40%
3-60%
4-80%
5+-100%


이 공식은 내가 신입으로 오기 전 작업하던 다른 기획자가 만들고 나간 것이었는데, 이 공식대로라면 유저들은 이벤트 보스를 열심히 때리기만 하고 화면 가득한 MISS 메시지를 보며 실제로 보스를 잡을 수는 없었다.


"이상해씨 등 긁는 데 천 원"이라던 어떤 뽑기방의 대형 이상해씨처럼 보스는 눈에 보이지만 잡을 수 없는 존재가 되었다.



당연히 이 공식을 고치자고 했지만 앞 사람이 남기고 간 것이어서 안된다는 답변만이 돌아올 뿐이었다. 결국 이 보스와 이 공식은 그대로 서비스에 들어갔고 며칠 만에 유저들의 원성에 긴급하게 다시 패치되어 5레벨 차이날 때의 명중률 디버프는 -100%에서 -30%로 바뀌었다.
무적인 느낌을 주는 것과 실제로 무적인 것은 다르다. D&D의 d20(20면체) 주사위로 명중 굴림을 판정할 때 1이 나오면 무조건 실패, 20이 나오면 무조건 성공하는 규칙이 있다. 아주 강한 캐릭터라도 5% 확률로 실패할 수 있고, 아주 약한 캐릭터라도 5% 확률로 무조건 공격을 성공시킬 수 있는 것이다. 그리스 신화의 아킬레스도 발목에 약점이 있었고 북유럽 신화에서 빛의 신 발두르는 연약한 겨우살이 가지에 죽었다. 무적보다는 무적이 아닌 것이 좀 더 현실같고, 게임적으로도 더 재미있다고 생각한다.


참고자료
[1] Diablo II Attack Rating: https://diablo.gamepedia.com/Attack_Rating_(Diablo_II)
[2] Diablo III 확장팩에서 회피율은 어떻게 계산되는가: https://gaming.stackexchange.com/questions/164575/how-is-dodge-chance-calculated-in-diablo-3-reaper-of-souls?noredirect=1
[3] Diablo III 2.1.0 PTR 패치 프리뷰: https://us.diablo3.com/en/blog/14244559/

덧글

  • 로그온티어 2019/12/16 15:37 # 답글

    명중률 -100프로 같은 건 다른 걸 푸시하기 위해서가 아닐까라는 생각이 드네요. 공격이 먹히지 않는다는 말은 어쨌거나, 그 해당 보스가 무적상태나 다름없다는 말이니까 유저들이 이 상황을 피하기 위해 다른 수단을 찾도록 만든 거죠. (디버프 해제나 명중률 일시적 효과 상승 아이템, 회피법을 찾는 거라던가)

    요즘은 다들 공략보고, 안봐도 파티원들이 '어휴' 하면서 가르쳐주니까 (...) 게임하기에 이러실 분은 없지만 일단 공격이 먹힌다면, 비효율적이어도 꾸준히 때려보려는 유저들이 있으니까요. 그럴 경우 게임이 접전이 생긴다기 보다는 지지부진해지곤 하는 걸 느껴서, 그런 경우가 생각나서 적어봤어요.

    물론 그런 의도가 없는 명중률 디버프라면 개선하는 게 맞겠죠...
  • 기획자 2019/12/16 17:00 #

    오랜만의 포스팅인데 잊지 않고 찾아주셔서 감사합니다. 말씀하신 것처럼 저도 뭔가 다른 의도가 있지 않을까..라고 생각했지만, 그 문제가 유저 피드백으로 인해 불거진 뒤에 바로 바뀐 것으로 보아 그 의도가 엄청나게 중요하지는 않았거나 없었던 것이 아닌가..의심이 되었습니다.
    어쨌든 말씀하신 것 같은 의도에 파해법까지 들어갔다면 더 좋은 게임이 되었을 것 같네요.
댓글 입력 영역

애드센스