Voice Quest 개발 연대기 #6
무협 음성 조작 멀티플레이 웹게임 — NHN nan2026 해커톤(8/10 마감)을 향해.
이번 회차: 데모 폴리시 — 효과음, 타격감, 재화 연출. 기능이 아니라 '느낌'을 만드는 회차다.
🔊 소리가 없던 세계에 소리가 생겼다
지금까지 Voice Quest는 완전한 무성영화였다. 검을 휘둘러도, 은자를 주워도, 존 경계를 넘어도 화면만 바뀌었다.
효과음 8종을 넣었다: 검격 휘두름 · 타격 명중 · 피격 · 처치(상승 아르페지오) · 은자 획득/지출 · 존 진입 차임 · 유대 단계 상승 · 갸웃 "?"(끝을 올리는 의문음).
재미있는 건 방식이다 — 오디오 파일이 한 개도 없다.
- 모든 소리를 WebAudio 오실레이터와 노이즈로 실행 중에 절차 합성한다.
- 검격은 밴드패스 필터를 3200Hz→700Hz로 쓸어내리는 노이즈, 동전은 988Hz→1319Hz 사각파 두 방, 갸웃은 340Hz에서 540Hz로 끝을 올리는 사인파(정말로 "응?" 하고 들린다).
- 덕분에 용량 +0KB, 오프라인 동작 — 로컬 LLM(AI 동행)과 같은 철학이다. 심사장에서 인터넷이 끊겨도 데모는 돌아간다.
- 🔊 버튼으로 음소거 토글(설정은 localStorage에 저장).
📳 타격감 — 화면이 반응한다
- 검이 명중하면 화면이 짧게 흔들린다(약하게), 얻어맞으면 더 크게 흔들린다.
- 구현은 카메라 위치에 감쇠하는 지터만 추가 — camYaw(시선 방향)는 절대 건드리지 않는다. 갸웃 제스처의 "카메라는 고정, 캐릭터만 뒤돌아보는" 시그니처 연출과 완전히 분리하기 위해서다.
- 내 행동만 소리·흔들림이 난다. 옆에서 동료가 사냥하는 소리까지 다 들리면 시끄러우니까.
💰 은자가 눈에 보이게 움직인다
- 몹을 잡으면 잔고 옆에서 금색 "+5" 가 떠오르며 사라진다.
- 상점에서 쓰면 붉은색 "-30". 텍스트 로그로만 흐르던 경제가 이제 화면에서 반응한다.
- 처치음은 멀티플레이 스냅샷(10Hz)으로 처치 수가 중복 갱신돼도 증가할 때만 1회 울리게 방어했다.
검증
다음 회차 예고
- 모바일 성능 점검
- 해커톤 데모 시나리오 정리 — 그리고 제출.
커밋: c12bbb3 · BGM은 절차 합성으론 품질이 안 나와 다음으로 미뤘다(존별 분위기 BGM은 🔜)