전제 (다르면 조정): 바닐라 JS + Canvas 2D · 포인터-추종 조작(마우스·터치 동일) · blend-party 프로토타입의 동글이(팔다리 달린 컬러 블롭) 재사용 · 주당 ~10~15h 기준 4주
⚠️ "동글이 롤"은 임시 제목
응집 방식이 확정되면 이름도 그에 맞게 조정(예: 굴리기→롤, 군중→크루/퍼레이드).
응집 방식은 §2에서 오픈 상태로 두고 Week 1에 결정.
1. 목적 = "히트"가 아니라 "학습"
이 게임의 성공 정의는 매출이 아니라 아래 3가지 측정/검증이다.
- CrazyGames Basic Launch 자동 KPI 대시보드로 전환/D1/플레이타임 실측
- CF → CrazyGames 제출 파이프라인을 끝까지 한 번 돌려봄
- 동글이 IP로 첫 포털 게임 브랜드 씨앗 심기
컷라인
2주 테스트 후 전환 <60% 또는 평균 플레이타임 <5분이면 → 배운 걸로 치고 다음 프로젝트로. 학습 출하라 이것도 성공으로 간주.
2. 핵심 설계 — 응집 방식 3안 오픈
공통 뼈대는 확정, "어떻게 불어나는가(응집)"만 Week 1에 실험으로 결정.
공통 뼈대 (확정)
- 조작: 포인터/터치 위치로 동글이 이동 (마우스·터치 동일, 1동작)
- 핵심 루프: 필드를 돌며 작은 동글이를 흡수/합류 → 불어남 → 더 큰 대상 제압 → 반복
- 긴장: AI 라이벌 동글이도 같이 불어남 → 넷코드 없이 Agar.io식 리스크/보상 재현
- 세션: 아레나 ~90~120초 라운드. 짧은 판 + "한 판 더". 종료 시 결과창 → 1버튼 재시작
- 아트: blend-party 컬러 블롭 재사용. 색 변주(노랑→…→빨강)를 티어 또는 팀 구분으로 활용
응집 방식 3안 (Week 1에서 택1)
세 안 모두 "불어남이 눈에 보이는" 성취감 + "막 붙이는/모으는 손맛"을 목표로 한다. 순수 크기 스케일링(피드백 없이 뻥튀기)은 배제.
KPI 직결 매핑 (어느 안이든 공통 성립)
3. 리텐션 메타 (천장 올리는 값싼 장치)
- 스킨 — 누적 수집량으로 동글이 스킨 언락 (수집 메타)
- 업그레이드 — 시작 크기 · 자석 반경 · 부스터 (판 사이 성장감)
- 데일리 챌린지 — 시드 고정 필드 + 리더보드 (D1 훅)
- 스테이지 테마 2~3종 — 방 / 피크닉 / 사탕나라 등 (동글이 세계관 내, 아트 정체성 유지)
- 리더보드 — 포털 SDK 연동 (경쟁 = 재방문)
4. 기술 스택 & 예산
- 엔진: 바닐라 JS + Canvas 2D. 무거운 엔진 불필요(원 충돌 + 흡수뿐). Phaser는 오버킬.
- 파일: 단일
index.html + 번들 JS + 스프라이트 아틀라스 + 효과음 몇 개. 예상 <2MB (20MB 대비 여유)
- 물리: 풀 엔진 X. 원-원 충돌 + 반경 성장 + 관성 감쇠만 자작
- 저장:
localStorage — Poki 대비 try/catch 필수(시크릿 모드 대응)
- 광고 슬롯 미리 설계: 판 사이 = 인터스티셜, 부활/코인 2배 = 리워디드. SDK 배선은 Full Launch 때, Basic Launch는 SDK 없이 KPI 자동측정
- ⚠️ 외부 요청 0 — 폰트·CDN 전부 인라인/번들 (Poki 전면 차단, CrazyGames 화이트리스트)
5. 4주 로드맵 (수직 슬라이스 우선)
Week 1 · 응집 방식 결정 실험 (재미 게이트)
수직 슬라이스 — 3안 비교
포인터 조작 + 흡수/합류 + 기본 juice로 3안(볼/군중/아우라)의 핵심 손맛만 빠르게 만들어 직접 굴려본다. 풀 구현 X — 최소 버전 비교.
자가 플레이테스트: 60초 안에 "불어나는 손맛"이 가장 좋은 안은? → 택1 확정. 어느 것도 안 재밌으면 메커닉 피벗 (2~4주 투자 전에 판단).
Week 2
풀 루프 (Week 1 확정안 기준)
확정된 응집 방식으로 티어/색 변주 전체 + AI 라이벌 + 타이머/목표 + 패배조건 + 점수 + 결과창 + "한 판 더" 흐름 + 메타 껍데기
Week 3
메타 + 콘텐츠 + juice 2차
스킨 · 업글 · 데일리 · 스테이지 2~3 + 리더보드 + 저장. 사운드 · 파티클 · 스크린셰이크 · 성장 피드백. 온보딩(텍스트 없이 플레이로 학습).
Week 4
폴리시 + 포털 준비
4GB 크롬북 성능 · 모바일 터치 테스트 · 로드용량 체크 · 16:9 반응형 · 외부요청 제거 · 계측 확인 · QA → CrazyGames Basic Launch 제출
6. 포털 제출 체크리스트 (CrazyGames)
- 초기 로드 20MB↓ / 10초↓, 상대 경로만
- 클릭 1회 이내 게임 진입
- 마우스 + 터치 둘 다 동작, 데스크톱 가로
- 4GB RAM 크롬북 부드럽게 (고주사율 deltaTime 처리)
- Esc / Ctrl+W 키 점유 X, 커스텀 전체화면 버튼 X
- 외부 요청 없음, 개발자 스플래시 / 외부링크 제거
- 영어 UI (locale 대응)
- 이름·썸네일: 동글이 브랜드로 독자화, 유명작 연상 금지 (
...Survivors류 X)
7. 계측 계획 (학습 출하의 핵심)
- 주력: CrazyGames Basic Launch 자동 KPI 대시보드 — 2주간 실플레이어 전환/D1/플레이타임을 무료로 확보
- 보조(선택): CF에 자체 빌드 병행 배포 + 가벼운 이벤트 비콘(CF Worker)으로 퍼널 직접 관찰
- ⚠️ 이 비콘은 CF 자체빌드에만 — 포털 빌드에는 외부요청 규정 때문에 넣지 말 것
8. 리스크 & 방어
미확정 주당 시간
4주는 ~10~15h/주 가정. 다르면 마일스톤 기간 조정.
주의 사운드 자산
juice의 절반이 소리. 무료 SFX(freesound 등) 또는 자체 생성 경로 미리 확보.
주의 AI 라이벌 밸런싱
너무 세면 전환↓, 너무 약하면 긴장 소멸. Week 2에 조기 튜닝.
방어됨 스코프
Week 1 재미 게이트 미통과 시 즉시 피벗. 데일리/스테이지는 시간 부족 시 후속 업데이트로 미룰 수 있는 "옵션" 블록.
확인 필요 (계획 정밀화용)
- 주당 가능 시간 — 4주 마일스톤 환산의 기준
- 모바일 vs 데스크톱 우선 — 포인터 조작이라 둘 다 되지만 UI 레이아웃 우선순위 결정
- 동글이 아트 에셋 형식 — 스프라이트/PNG 보유 여부