게임 로직 완성하기
1. 오늘의 목표: "게임"이 되는 것
지금은 캐릭터가 산책만 할 수 있습니다. 오늘 목표(아이템), 긴장(타이머), 보상(클리어) 을 넣으면 산책이 게임이 됩니다. 기획서의 3~5단계를 완성합니다.
2. 3단계. 아이템과 점수
> 3단계를 만들어줘:
- assets/models/item.glb를 맵 곳곳에 10개 랜덤 배치해줘
- 아이템은 제자리에서 천천히 회전하면서 살짝 떠 있게 해줘 (먹고 싶게!)
- 캐릭터가 아이템에 닿으면 아이템이 사라지게 해줘
- 화면 좌측 상단에 "🐟 0 / 10" 형태로 점수를 보여주고, 먹을 때마다 올라가게 해줘
직접 플레이하며 확인합니다.
- 닿았는데 안 먹혀요 → "판정 범위를 조금 더 넉넉하게 해줘"
- 안 닿았는데 먹혀요 → "판정 범위를 줄여줘"
- 아이템이 나무 속이나 맵 구석에 숨어요 → "아이템이 장애물과 겹치지 않는 위치에만 생성되게 해줘"
개념 사전: 충돌 판정이란? · 게임의 상태(State)란?
3. 4단계. 시작과 끝: 게임의 뼈대
> 4단계를 만들어줘:
- 시작 화면: 게임 제목과 "시작" 버튼. 버튼을 눌러야 게임이 시작돼
- 60초 카운트다운 타이머를 우측 상단에 보여줘
- 10개를 다 모으면 클리어 화면: "성공!"과 걸린 시간, 다시하기 버튼
- 시간이 다 되면 게임오버 화면: "시간 초과!"와 다시하기 버튼
- 다시하기를 누르면 아이템·점수·타이머가 처음부터 시작되게 해줘
여기서 가장 흔한 버그는 "다시하기"가 어설픈 것입니다. 점수는 리셋됐는데 아이템이 안 살아난다든지, 타이머가 두 배 속도로 흐른다든지. 다시하기를 3번 연속 눌러보고 이상하면 그대로 보고하세요: "다시하기를 누르면 타이머가 이상하게 빨라져."
4. 5단계. 소리 입히기
챕터 2에서 만든 음악과 효과음의 차례입니다.
> 5단계를 만들어줘:
- 시작 버튼을 누르면 assets/sounds/bgm.mp3가 반복 재생되게 해줘
- 아이템을 먹을 때마다 pickup.mp3를 재생해줘
- 클리어하면 배경 음악을 멈추고 축하 느낌을 내줘
- 음소거 버튼도 하나 만들어줘
음악이 자동으로 안 나와요!
정상입니다. 브라우저는 사용자가 클릭하기 전에는 소리를 재생하지 못하게 막습니다(자동재생 정책). 그래서 기획서에서 "시작 버튼을 눌러야 음악 시작"으로 설계한 것입니다. 페이지를 열자마자 음악을 틀려고 하면 안 되는 이유, 이제 아시겠죠?
5. 밸런스: 재미는 숫자에서 나옵니다
기능이 다 됐다고 끝이 아닙니다. 60초에 10개가 정말 재밌는 난이도일까요? 직접 여러 판 해보고 조절하세요.
| 증상 | 처방 |
|---|---|
| 너무 쉽게 다 먹어요 | 시간을 45초로 줄이거나, 아이템을 15개로 늘리거나, 맵을 넓혀줘 |
| 매번 시간이 모자라요 | 이동 속도를 올리거나, 시간을 90초로 늘려줘 |
| 금방 질려요 | 남은 시간에 비례한 보너스 점수를 줘서 "더 빨리"에 도전하게 해줘 |
바이브 코딩 팁
완성됐다면 플레이테스트를 하세요. 가족이나 친구에게 아무 설명 없이 시켜보는 겁니다. 어디서 헤매는지, 언제 웃는지 관찰만 하세요. "조작법을 몰라서 30초를 날렸다"면 시작 화면에 조작법 안내를 넣으면 됩니다. 관찰에서 나온 수정이 진짜 좋은 수정입니다.
6. 도전 과제
- 장애물: 닿으면 2초간 못 움직이는 물웅덩이를 추가해 보세요.
- 황금 생선: 5초마다 잠깐 나타났다 사라지는 +3점짜리 아이템을 넣어 보세요.
- 최고 기록: 클리어 시간을 저장해서 "내 최고 기록"을 보여주게 해보세요.
7. 정리
- 아이템(목표) + 타이머(긴장) + 클리어(보상) = 산책이 게임이 되는 3요소
- 다시하기는 버그의 단골손님. 3번 연속 눌러서 검증
- 소리는 시작 버튼 이후에 (브라우저 자동재생 정책)
- 기능 완성 후 밸런스 조절과 플레이테스트까지가 게임 개발
게임이 완성됐습니다! 이제 세상에 공개할 시간입니다.