먼저 나오는 보스가 왜 더 세지? 보스 HP 역전 오류를 찾아낸 과정

UDangTangTang 개발기 #2 — 트러블슈팅 / 밸런스 디버깅

“1보스가 2보스보다 어려운데요?”

팀 프로젝트로 만들고 있는 뱀파이어 서바이벌류 게임 UDangTangTang을 플레이테스트하던 중, 팀원에게서 이런 얘기가 나왔습니다.

“어? 중간보스1이 중간보스2보다 훨씬 안 죽는 것 같은데?”

게임 순서상 중간보스1이 먼저 등장하고, 중간보스2는 그다음 스테이지에서 더 강하게 나와야 정상입니다. 난이도 곡선이 거꾸로 가는 느낌이 든다는 건 심각한 신호였습니다.

느낌만으로는 확신할 수 없어서, 실제 수치를 뜯어보기로 했습니다.

감이 아니라 숫자로 확인하기

먼저 각 보스의 HP 데이터(Assets/SO/Enemy)를 직접 확인했습니다.

대상HP
중간보스120,000
중간보스27,000

숫자로 보니 명확했습니다. 중간보스1의 체력이 중간보스2보다 거의 3배 높았습니다. 팀원이 “안 죽는다”고 느낀 게 착각이 아니라 실제 데이터 문제였던 겁니다.

얼마나 차이 나는지 정량화하기

단순히 “HP가 다르다”에서 끝내지 않고, 실제 플레이 체감으로 얼마나 차이 나는지 계산해봤습니다. 기준은 TTK(Time To Kill, 처치 소요 시간) — 특정 무기로 이 보스를 처치하는 데 걸리는 시간입니다.

무기 중 하나인 단검(Dagger)의 5레벨 DPS(초당 데미지) 400을 기준으로 계산하면:

TTK = 보스 HP ÷ 무기 DPS

중간보스1: 20,000 ÷ 400 = 50초
중간보스2: 7,000  ÷ 400 = 17.5초

중간보스1을 처치하는 데 중간보스2보다 2.9배 더 오래 걸린다는 게 수치로 확인됐습니다. 순서상 나중에 나와야 할 보스보다, 먼저 나오는 보스가 거의 3배 단단한 상황이었던 거죠.

원인 추정: 기획 의도 vs 데이터 실수

이 시점에서 두 가지 가능성을 열어두고 팀 내에서 확인했습니다.

  1. 의도된 설계였을 가능성 (예: 중간보스1을 일부러 “느리게 도망다니며 버티는” 컨셉으로 설계했을 경우)
  2. 단순 데이터 입력 실수일 가능성 (SO 데이터 만들 때 두 보스의 HP 값이 뒤바뀌어 들어갔을 경우)

기획 문서와 팀원들과의 확인 결과, 답은 2번이었습니다. 두 보스의 HP 값이 애초에 뒤바뀌어 입력되어 있었던 겁니다. 중간보스1에 들어가야 할 값이 중간보스2에, 중간보스2에 들어가야 할 값이 중간보스1에 들어간 전형적인 복붙 실수였습니다.

왜 플레이테스트만으로는 늦게 발견됐을까

돌이켜보면 이 문제를 더 일찍 잡을 수 있었던 이유가 있었습니다.

  • 팀원들은 “뭔가 이상하다”는 감각적인 위화감은 느꼈지만, 정확히 얼마나 이상한지 수치로 확인하지 않고 넘어갔습니다.
  • 데이터를 ScriptableObject로 관리하고 있었는데, 인스펙터에서 개별 값만 보다 보니 두 보스를 나란히 비교하는 과정이 없었습니다.

해결 및 재발 방지

즉시 조치: 중간보스1과 중간보스2의 HP 값을 서로 바꿔서 재배치했습니다.

재발 방지책: 이후로는 보스/몬스터 데이터를 새로 추가하거나 수정할 때, 아래처럼 전체 몬스터 HP를 한 표로 정리해서 순서대로 훑어보는 습관을 들이기로 했습니다.

등장 순서대상HPTTK(단검 L5 기준)
1일반몹 (초반)800.2초
2중간보스17,000 (수정 후)17.5초
3중간보스220,000 (수정 후)50초
4STG1 보스32,00080초
5STG2 최종보스35,00087.5초

이렇게 순서대로 나열해서 HP가 단조 증가하는지 한눈에 확인하면, 이런 역전 현상을 훨씬 빨리 잡아낼 수 있습니다.

배운 점

  1. “뭔가 이상하다”는 감각을 숫자로 검증하는 습관이 중요합니다. 플레이 감각은 버그를 발견하는 좋은 신호지만, 정확한 원인 파악에는 데이터 비교가 필요합니다.
  2. TTK 같은 파생 지표를 뽑아보면 raw 데이터만 볼 때보다 문제가 훨씬 명확하게 드러납니다. HP 숫자만 봤을 땐 “20,000 vs 7,000″이 그냥 큰 숫자로만 보이지만, TTK로 환산하니 “2.9배 차이”라는 체감 가능한 형태로 바뀌었습니다.
  3. 순서가 있는 콘텐츠(보스, 스테이지, 웨이브 등)는 항상 표로 정리해서 순서대로 스캔하는 습관을 들이면 좋습니다. 개별 항목만 보면 놓치기 쉬운 역전 현상을 한눈에 잡을 수 있습니다.

작은 복붙 실수 하나가 게임 전체의 난이도 곡선을 완전히 무너뜨릴 뻔했습니다. 데이터 기반 게임을 만들 때는 “느낌”과 “숫자”를 항상 같이 확인하는 습관이 필요하다는 걸 다시 한번 느낀 케이스였습니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤