검증
난이도는 짐작하지 말고 시뮬레이션으로 잰다
5단계 곡선에서 한 판이 333초, 23,118점까지 갔다. 칭호표 S 기준이 6,500점이라 등급이 의미를 잃었다.
한 판이 333초, 23,118점
낙하 퍼즐의 난이도 곡선을 5단계로 잡았습니다. 레벨이 오를수록 블록이 빨리 떨어지는 평범한 구조입니다. 감으로 보기에 적당했습니다.
엔진으로 시뮬레이션을 돌려 보니 아니었습니다. 시드 2024에서 333초 동안 23,118점이 나왔습니다. 잘 치우는 플레이가 끝없이 살아남았습니다. 게임이 끝나지 않는 겁니다.
칭호표가 먼저 무너진다
문제는 단순히 "판이 길다"가 아니었습니다. 칭호표가 의미를 잃는 게 진짜 문제였습니다.
최고 등급인 S의 기준 점수를 6,500점으로 잡아 뒀는데, 한 판에서 23,118점이 나온다면등급이 실력을 구분하지 못합니다. 조금만 익숙해지면 누구나 S를 받고, 그 위가 없으니 더 잘해도 보여줄 것이 없습니다. 등급은 분포의 중간을 갈라야 정보가 되는데, 전원이 최고 등급이면 아무 말도 하지 않는 라벨입니다.
6단계로 늘리고 후반을 좁혔다
레벨을 6단계로 늘리고 후반 낙하 간격을 좁혔습니다. 170ms에서 90ms까지 내려갑니다. 다시 시뮬레이션을 돌렸습니다.
| 세션 길이 | 점수 | 등급 분포 | |
|---|---|---|---|
| 5단계 | 최대 333초 | 최대 23,118점 | 사실상 전원 S |
| 6단계 | 70~102초 | 525~6,245점 | F부터 A·S까지 |
서두르지 않고 놓는 기준으로 70~102초, 점수 525~6,245점입니다. 이제 F부터 A와 S까지 고르게 나옵니다. 칭호표 구간과 실제 점수 분포가 맞물립니다.
왜 직접 해 보는 걸로는 부족한가
개발자가 자기 게임을 플레이해서 난이도를 정하면 두 가지가 어긋납니다. 첫째, 규칙을 만든 사람이라 남들보다 잘합니다. 둘째, 몇 판 해 봐야 분포를 알 수 없습니다. 운 좋은 한 판과 운 나쁜 한 판의 차이를 사람 눈으로 구분하기 어렵습니다.
엔진이 순수 함수면 이 문제가 사라집니다. 시드를 바꿔 가며 수백 판을 돌리고 세션 길이와 점수의 분포를 직접 잽니다. 그 분포 위에 등급 경계를 그으면등급이 실제로 무언가를 구분하게 됩니다.
그래서 난이도 조정은 "조금 더 빠르게 해 볼까"가 아니라 "지금 분포가 어떻게 생겼는지 재고, 원하는 분포와 비교하고, 파라미터를 움직여 다시 재는" 일이 됩니다. 이 게임에서는 밸런스 수정을 두 번 했는데, 두 번 다 측정값을 보고 결정했습니다.