UDangTangTang 개발기 #2 — 트러블슈팅 / 밸런스 디버깅
“1보스가 2보스보다 어려운데요?”
팀 프로젝트로 만들고 있는 뱀파이어 서바이벌류 게임 UDangTangTang을 플레이테스트하던 중, 팀원에게서 이런 얘기가 나왔습니다.
“어? 중간보스1이 중간보스2보다 훨씬 안 죽는 것 같은데?”
게임 순서상 중간보스1이 먼저 등장하고, 중간보스2는 그다음 스테이지에서 더 강하게 나와야 정상입니다. 난이도 곡선이 거꾸로 가는 느낌이 든다는 건 심각한 신호였습니다.
느낌만으로는 확신할 수 없어서, 실제 수치를 뜯어보기로 했습니다.
감이 아니라 숫자로 확인하기
먼저 각 보스의 HP 데이터(Assets/SO/Enemy)를 직접 확인했습니다.
| 대상 | HP |
|---|---|
| 중간보스1 | 20,000 |
| 중간보스2 | 7,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을 일부러 “느리게 도망다니며 버티는” 컨셉으로 설계했을 경우)
- 단순 데이터 입력 실수일 가능성 (SO 데이터 만들 때 두 보스의 HP 값이 뒤바뀌어 들어갔을 경우)
기획 문서와 팀원들과의 확인 결과, 답은 2번이었습니다. 두 보스의 HP 값이 애초에 뒤바뀌어 입력되어 있었던 겁니다. 중간보스1에 들어가야 할 값이 중간보스2에, 중간보스2에 들어가야 할 값이 중간보스1에 들어간 전형적인 복붙 실수였습니다.
왜 플레이테스트만으로는 늦게 발견됐을까
돌이켜보면 이 문제를 더 일찍 잡을 수 있었던 이유가 있었습니다.
- 팀원들은 “뭔가 이상하다”는 감각적인 위화감은 느꼈지만, 정확히 얼마나 이상한지 수치로 확인하지 않고 넘어갔습니다.
- 데이터를
ScriptableObject로 관리하고 있었는데, 인스펙터에서 개별 값만 보다 보니 두 보스를 나란히 비교하는 과정이 없었습니다.
해결 및 재발 방지
즉시 조치: 중간보스1과 중간보스2의 HP 값을 서로 바꿔서 재배치했습니다.
재발 방지책: 이후로는 보스/몬스터 데이터를 새로 추가하거나 수정할 때, 아래처럼 전체 몬스터 HP를 한 표로 정리해서 순서대로 훑어보는 습관을 들이기로 했습니다.
| 등장 순서 | 대상 | HP | TTK(단검 L5 기준) |
|---|---|---|---|
| 1 | 일반몹 (초반) | 80 | 0.2초 |
| 2 | 중간보스1 | 7,000 (수정 후) | 17.5초 |
| 3 | 중간보스2 | 20,000 (수정 후) | 50초 |
| 4 | STG1 보스 | 32,000 | 80초 |
| 5 | STG2 최종보스 | 35,000 | 87.5초 |
이렇게 순서대로 나열해서 HP가 단조 증가하는지 한눈에 확인하면, 이런 역전 현상을 훨씬 빨리 잡아낼 수 있습니다.
배운 점
- “뭔가 이상하다”는 감각을 숫자로 검증하는 습관이 중요합니다. 플레이 감각은 버그를 발견하는 좋은 신호지만, 정확한 원인 파악에는 데이터 비교가 필요합니다.
- TTK 같은 파생 지표를 뽑아보면 raw 데이터만 볼 때보다 문제가 훨씬 명확하게 드러납니다. HP 숫자만 봤을 땐 “20,000 vs 7,000″이 그냥 큰 숫자로만 보이지만, TTK로 환산하니 “2.9배 차이”라는 체감 가능한 형태로 바뀌었습니다.
- 순서가 있는 콘텐츠(보스, 스테이지, 웨이브 등)는 항상 표로 정리해서 순서대로 스캔하는 습관을 들이면 좋습니다. 개별 항목만 보면 놓치기 쉬운 역전 현상을 한눈에 잡을 수 있습니다.
작은 복붙 실수 하나가 게임 전체의 난이도 곡선을 완전히 무너뜨릴 뻔했습니다. 데이터 기반 게임을 만들 때는 “느낌”과 “숫자”를 항상 같이 확인하는 습관이 필요하다는 걸 다시 한번 느낀 케이스였습니다.