RETROSPECTIVE · 회고
자동 채보가 Lv15에서 멈춘 이유: 보스곡 채보를 직접 설계하기
etc
리듬게임에 보스곡을 넣으면서 '매우 어려움 Lv18, 숫자만이 아니라 체감도 18'을 목표로 잡았다. 그런데 자동 채보기로 밀도를 아무리 올려도 레벨이 15에서 더 오르지 않았다.
원인: 채보기는 음원에 있는 타격만 쓴다
자동 채보기는 음원에서 찾은 타격(onset) 중 센 것부터 골라 노트를 만든다. 밀도 배율을 1.6배로 올려도 곡에서 잡힌 타격이 1,315개뿐이라 노트 수가 거기서 막혔다. 레벨은 '평균 초당 노트 + 가장 빽빽한 4초 구간'으로 계산하니, 재료가 없으면 레벨도 안 오른다.
분석해 보니 템포 판단도 문제였다. 타격은 정박·8분·16분 자리에 몰려 있는데 분석기는 셋잇단 쪽 격자를 골라 225 BPM(셔플)으로 표시했다. 격자별 타격 분포를 직접 세어 보고 150 BPM으로 표시하게 바꿨다.
해결: 곡의 세기를 따라 노트를 덧입히기
- 마디별 음량을 구해 센 마디만 고른다. 조용한 구간은 원래 채보를 그대로 둬서 쉬어 갈 틈을 남긴다.
- 센 마디는 실제 비트 위치(템포 흔들림 반영) 기준으로 16분 연타를 채우고, 정박·뒷박에 동시치기를 넣는다.
- 4마디마다 프레이즈 끝 박에 32분 연타를 넣어 '보스 패턴'을 만든다.
- 레인은 직전 노트와 반대 손을 우선하고, 같은 레인 연타는 0.17초 이상 띄우고, 동시치기는 최대 2개로 제한해 못 치는 배치를 막는다.
결과는 1,689노트, 평균 초당 9.8, 4초 최고 14.8, 쉬지 않는 연타 최대 25개였다. 기존 최고 Lv17 곡(초당 8.6, 연타 13개)보다 분명히 한 단계 위였고, 같은 레벨 공식으로 18이 나왔다. 두 번째 보스곡은 어려움·보통·쉬움도 각각 한 단계 위 규칙으로 만들고, 레벨은 그 채보의 실제 밀도를 위쪽 난이도 기준으로 매겼다.
배운 점
- 레벨 숫자를 바꾸는 건 쉽다. 체감 난이도를 맞추려면 기존 곡과 같은 지표(밀도, 최고 구간, 연타 길이)로 비교해야 한다.
- 자동화가 막히면 파라미터를 더 세게 돌리기 전에 재료(입력 데이터)가 충분한지부터 본다.
- 어렵게 만들수록 '칠 수 있는가'라는 제약을 먼저 코드로 박아 둬야 한다.