[2일차] 왜 캐릭터의 전투/비전투 상태 체크가 필요한걸까?
<일일 게임 분석 프로젝트>
[2일차] 왜 캐릭터의 전투/비전투 상태 체크가 필요한걸까?
Reference
① 메이플스토리
전투 시스템이 있는 게임을 플레이하다보면, 전투 상태를 체크하는 경우를 자주 볼 수 있습니다.
오늘 레퍼인 메이플스토리의 경우 마지막 전투 이후 5초 정도 전투 상태 유지를 하고, 숨을 헐떡이는 듯한 애니메이션을 실행하죠.
그리고 비전투 상태 즉, 평화 상태로 복구되어 기본 Idle 애니메이션을 실행합니다.
다른 전투 기획서들을 볼 때, 캐릭터 상태를 전투/비전투 상태로 구분하는 것을 종종 볼 수도 있죠.
그럼 왜?? 캐릭터 상태를, 그것도 전투 중인 지를 주기적으로 체킹하는걸까요?
여러 의도를 생각해봤습니다!
전투의 집중 (유저 편의성)
2000년대 초반 게임을 생각해봤을 때, 전투 상태를 체킹하는 것은 유저가 "전투에 집중"시키기 위함이었다고 생각합니다.
메이플스토리 초창기를 보면, 전투 상태에서는 채널 이동이 불가능하고 캐시샵을 들어가지 못하며, 장비 스위칭이나 설치 아이템을 사용하지 못하는 등 여러 제한을 두었습니다.
현재 서비스 중인 메이플스토리도 이 시스템을 동일하게 유지 중이구요.
채널 이동 기능을 제외하고 다른 기능들의 공통점은 "키 세팅이 가능"하다는 점입니다.
기본 키 세팅에서, 캐시샵은 보통 '~' 키, 장비 스위칭나 설치 아이템도 키 세팅을 커스텀하죠.
하지만, 전투에 필요한 공격 키, 스킬 키도 키 세팅 커스텀하다보니 전투 중에 실수로 누를 일이 발생할 수도 있습니다.
메이플스토리는 PC게임이고 키보드로 플레이하다보니, 그런 일이 엄청 많지는 않았겠지만
게임 패드로 하는 콘솔 게임같은 경우는, 버튼간 거리가 좁고 헷갈릴 수도 있어 키를 잘못 누르는 일이 종종 있었을 겁니다.
이런 전투 중 불편함을 방지하고, 유저의 편의성을 높이고자 캐릭터 상태를 체킹하도록 했을 거라 추측해봅니다.
전투 중에는 몇몇 기능을 제한을 두어 전투에 집중할 수 있도록 의도한 것이죠!
전투 밸런스 유지 (기획자 의도에 벗어난 변수 차단)
기획자는 전투 밸런스를 조정할 때, 전투의 환경을 고려하고 유저의 플레이 행동을 예측하면서 밸런싱을 합니다.
하지만, 유저들은 기획자가 예상하지 못한 변수를 만들어내고 의도에 벗어나는 행동을 보이죠
유저가 나쁜 것이 아니라 게임 내 시스템과 콘텐츠가 엮이고 엮이면서 나오는 자연스러운 현상이라고 생각합니다.
기획자의 의도를 벗어나게 되면 힘겹게 맞춘 밸런스가 붕괴되고 기획자의 멘탈도 붕괴될 것이 뻔합니다
그러니 미리 변수 생성 제동 장치를 구비하여 기획자의 의도가 잘 전달될 수 있도록 할 필요가 있죠.
그게 바로 "캐릭터 상태 시스템"이구요!
메이플스토리에서 한 맵에서의 사냥 경험치 밸런싱을 기획한다고 해봅시다!
한 맵에서 몬스터의 젠율과 경험치량을 미리 다 세팅해놨는데, 채널 이동이라는 기능이 기획한 경험치량보다 더 많은 경험치를 얻을 수 있다면 그 때부터는 채널 이동 기능은 앞서 언급한 "변수"가 되죠.
만약 몬스터가 리젠되기 전에 유저가 채널을 이동해서 몬스터를 바로 사냥한다면, 유저들은 몬스터가 리젠되기를 기다리는 것이 아닌 채널을 계속 이동하면서 사냥을 하겠죠.
그럼 밸런싱이 망가지는 것뿐만 아니라 서버에도 부하가 가능 부작용이 생길 것입니다.
예시로 직접 계산해서 비교해볼까요?
먼저 가정을 몇 개 하고 계산해봅시다.
① 유저는 즉시 발동(즉발) 스킬 한 번에 몬스터 한 사이클을 돌릴 수 있다.
② 채널 이동 시간 + 리소스 로딩 시간 = 3초
③ (캐릭터 상태가 있을 시) 전투 상태 유지 시간 = 5초
④ 몬스터 리젠 시간 = 5초
⑤ 젠되는 몬스터 수 = 20마리
⑥ 몬스터 경험치 제공량 = 100 exp
예시 상황1) 유저가 하나의 채널에서 리젠을 기다리며 사냥하는 경우
1분 안에 얻을 수 있는 경험치량
= (몬스터 수) * (몬스터 경험치 제공량) * {1분 / (몬스터 리젠 시간)}
= 20 * 100 * 12 = 24,000 exp
예시 상황2) 몬스터 리젠을 기다리지 않고, 전투 상태 체킹이 없어 채널 이동을 바로 하는 경우
1분 안에 얻을 수 있는 경험치량
= (몬스터 수) * (몬스터 경험치 제공량) * {1분 / (채널 이동 시간)}
= 20 * 100 * 20 = 40,000 exp
예시 상황3) 리젠을 기다리지 않고, 전투 상태 체킹이 있어 채널 이동을 유지 시간(5초) 대기 후에 하는 경우
1분 안에 얻을 수 있는 경험치량
= (몬스터 수) * (몬스터 경험치 제공량) * {1분 / (채널 이동 시간 + 전투 상태 유지 시간)}
= 20 * 100 * 20 = 15,000 exp
(+ 채널 이동했을 때 해당 채널에 타유저가 사냥하고 있을 수 있다는 위험 요소도 있음)
제가 기획한다면 1번 가정처럼 기획하고 캐릭터 상태를 체킹할 것입니다.
경험치량으로 효율을 따진다면, 2번 가정이 터무니 없이 높기도 하죠.
채널 이동뿐만 아니라 생각치도 못한 다른 변수들도 등장할 것 같기도 하구요.
다른 변수가 등장하면, 기획자는 그것을 막겠다고 급하게 조치를 취할 것이고, 해당 조치를 취하는 과정에서 또 밸런싱은 망가질 거구요..
그러니 미리 막는 겁니다. 캐릭터 상태 체크를 통해서요!
비슷한 경우가 시드링 스위칭에 딜레이가 있는 케이스라고 생각합니다.
전투의 다양성
3번의 경우, 캐릭터 상태 체킹을 응용하여 스킬이나 전투를 디자인하여 풍부한 전투 경험을 제공하고 있습니다.
유저의 반응이 괜찮다보니 캐릭터 상태를 더더욱 도입해야 하는 이유가 있는 것이고, 이제는 당연하게 사용하는 시스템이 되어버렸다고 생각합니다.
예를 들어, 패시브 스킬 중에 전투 상태 10초 지속 시 최종 데미지 10% 증가라는 스킬을 디자인한다면,
유저는 "아, 전투 상태를 계속 유지해야 더 강해지지?" 라고 항상 생각하면서 전투를 하겠죠.
전투 중에 신경써야 하는 부분이 1개 더 증가하며 다양성이 높아집니다!
(물론, 여러 키를 눌러야한다는 것과 같이 발동 조건이 까다로우면 거부감을 주는 역효과가 나기도 하니 조심해야합니다)
비슷한 스킬로, 메이플스토리의 일리움 직업의 유니온 스킬인 "전투의 흐름"이 있습니다.
이처럼 다양한 게임에서 이미 응용하고 있죠
이외에도 전투 상태에만 무기를 착용하고 비전투에는 무기를 해제하여 미관을 위해 캐릭터 상태 시스템을 사용하거나,
애니메이션을 다르게 사용함을 위함 등과 같은 이유가 있지만, 전투나 밸런스 측면에서는 위 3가지의 이유가 비중이 높다고 생각합니다.
저는 마지막 3번, 전투의 다양성 측면에서 디자인할 수 있는 공격이나 패턴, 몬스터 AI, 스킬 등 다양하게 응용할 수 있어서 현재 개발 중인 게임에서도 체킹을 하도록 넣어뒀습니다!
전투를 장기 유지할 시 메리트를 줄 수 있는 특성을 디자인하고 있구요 ㅎㅎ.. :D