SSOLY TOWN · UI/UX EXPERT REVIEW

UI/UX 전문가 진단 보고서

실기기(에뮬레이터) 스크린샷과 game.js/index.html 코드를 직접 확인해 만든 현재 상태 기준 진단. 기준: 쉬움·직관성, 그리고 그것이 리텐션·IAP로 이어지는가 · 2026-07-11
총평: 콘텐츠 밀도(미션 10+·설정 16개·기록 11개 지표·스토어 6개 섹션)는 인상적일 만큼 갖춰져 있다. 문제는 그 밀도를 다듬는 위계(hierarchy)가 부족하다는 점 — 화면마다 "똑같은 무게의 항목이 쭉 나열된 벽"이 반복되고, 정작 가장 중요한 순간(승리 직후)엔 핵심 버튼이 5개 다른 버튼 사이에 묻힌다. 그리고 배포된 실제 빌드에 개발자 치트 패널이 그대로 노출돼 있는 치명적 문제를 발견했다 — 이건 보고서 작성 중 스크린샷을 찍다가 실제로 확인한 사실이다.

🚨 최우선 — 지금 당장 고쳐야 할 것

CRITICAL개발자 갓모드 패널이 실배포 빌드에 그대로 노출됨

홈/플레이 화면 좌하단에 항상 떠 있는 🛠 아이콘을 눌러보니, 실기기에 설치된 현재 배포 버전 그대로 즉시 승리·게임오버 강제·아무 캐릭터나 직접 소환·전체 컬렉션 즉시 해제·+500골드 치트·전체 데이터 초기화까지 되는 전체 개발자 메뉴가 나왔다. 코드를 보면 원인이 명확하다:

const DEV = true; — 바로 위 주석에 "배포할 때 DEV = false 로 바꾸면 오프라인 PWA 캐시가 켜집니다"라고 직접 쓰여 있다. 즉 배포 직전 수동으로 바꿔야 하는 플래그를 깜빡한 것으로 보인다.
HIGH마을 주민이 앱을 재시작할 때마다 전부 사라짐

홈 화면 스크린샷을 보면 마을(성·집 앞)에 걸어다니는 주민이 한 명도 없다. 코드를 보니 이유가 있었다 — 캐릭터는 owned(보유 목록)에 저장되지만, 마을에 실제로 "등장"한 주민(villagers 배열)은 어디에도 저장되지 않는다. 주민은 오직 세트 완성 순간의 가챠 연출로만 등장하고, 앱을 껐다 켜면 보유 캐릭터가 50개든 5개든 상관없이 마을은 매번 빈 마을로 시작한다.

① 잘하고 있는 것

가챠 리빌 화면
가챠 리빌 — 2버튼
컬렉션 화면
컬렉션 진행률
스토어 화면
스토어 — 시간제한 특가

② 리텐션에 직접 영향 — 승리 화면 CTA 과부하

승리 화면
현재 승리 화면 — 버튼 6개
실측: 승리 직후 화면에 위에서부터 ①오늘의 미션 보상 받기 ②광고보고 +20골드 ③무료선물 ④경품뽑기 ⑤Play Again ⑥Keep Watching ⑦공유 순서로 버튼 7개(탭 가능한 영역)가 세로로 쌓여 있다. 정작 핵심 순환 고리인 "Play Again"은 5번째에 있다.

③ 리텐션에 직접 영향 — 정보 밀도는 높은데 위계가 없는 화면들

화면실측문제제안
설정3열×6행, 16개 타일이 전부 동일 크기자주 쓰는 것(언어·오디오)과 거의 안 쓰는 것(크레딧·커뮤니티·개인정보)이 시각적으로 구분 안 됨상단에 "자주 쓰는 설정" 3~4개만 크게, 나머지는 접히는 "더보기" 섹션으로 분리
기록도넛차트 2개 + 동일한 스타일의 통계 행 11개 이상 연속 스크롤"Wins Without Undo"·"Min Moves (Win)"처럼 하드코어 유저용 지표까지 전부 같은 비중으로 노출 — 귀엽고 캐주얼한 게임 톤과 안 맞는 스프레드시트 느낌상위 3~4개(승률·최고점수·연승)만 카드로 강조, 나머지는 "상세 기록 보기" 뒤로
미션완료 전 목표는 보상(+N골드)이 안 보이고, 완료된 것만 보상이 보임플레이어가 "이걸 깨면 뭘 주는지" 미리 알 수 없어 목표 우선순위를 못 정함진행 중 미션도 항상 "+N🪙" 아이콘을 목표 텍스트 옆에 상시 노출

④ IAP/수익화에 영향 — 스토어 화면 세부 문제

스토어 스크롤2
Featured Characters 헤더 위치
버그 확인: "Special Characters" 섹션 안의 3종 캐릭터(₩1,200 각각) 카드 아래에 "Featured Characters"라는 섹션 제목이 붙어있는데, 실제 화면에서는 제목이 상품 3개보다 아래에 렌더링된다. index.html을 보면 원인이 명확하다 — .store-feat-row(상품 목록)가 .store-sec-feat(제목) 요소보다 DOM 순서상 먼저 온다. 스토어의 다른 모든 섹션(Hot Stuff·Special Characters·Missions)은 제목이 먼저 오는데 이 섹션만 반대다.

⑤ 컬렉션 화면 — 가챠 미스터리 약화

컬렉션 화면에서 미보유 캐릭터도 이름이 이미 다 보인다("Breadog", "Cat", "Spider", "Duck Family"…). 대부분의 성공한 가챠 게임(원신 등)은 미공개 항목을 실루엣+물음표로 가리는데, 이 게임은 흑백 실루엣은 쓰지만 이름은 공개해버려서 "이게 뭘까?" 하는 궁금증의 절반이 이미 해소된 상태다. 이름을 가리는 게 정답은 아니지만(오히려 수집 목표를 명확히 하는 효과도 있음), 의도한 선택인지 확인이 필요 — 신비감을 원한다면 이름도 "???"로 가리는 걸 고려.

⑥ 쉬운데 효과 큰 수정 (Quick Win)

항목문제수정노력
설정 > "Detail Items"실제 기능은 "점수/시간/이동 표시 여부" 토글인데, i18n 라벨이 "Detail Items"(EN)/"세부항목"(KO)로 나가 있어 기능을 전혀 설명 못 함. index.html 원본 텍스트는 정확히 "Score/Time/Moves"인데 i18n이 이걸 덮어씀i18n 키 detailItems의 값을 "Score/Time/Moves"·"점수·시간·이동"으로 교체(15개 언어)1시간 이내
스토어 "Featured Characters" 헤더섹션 제목이 콘텐츠 아래에 위치(DOM 순서 문제)index.html에서 .store-sec-feat div를 .store-feat-row 위로 이동5분
승리 화면 CTA 위계7개 버튼이 동일한 시각적 무게"Play Again"만 강조 스타일 유지, 나머지는 톤 다운(무채색/아웃라인)CSS만, 반나절

부록 — 화면별 스크린샷 기록

홈 화면
홈(빈 마을)
플레이 화면
플레이(빈 하단 공간)
설정 화면
설정(16타일)
미션 화면
미션(보상 미표시)
기록 화면
기록(통계 벽)
갓모드 패널
⚠ 노출된 갓모드

부록 — 근거 자료

주제출처
단일 주 CTA로 좁히면 전환율 최대 266% 상승Learning Loop — Analysis Paralysis: Cut choices to drive action
모바일 CTA 배치·대비·스캐폴딩 기준Design Studio UI/UX — CTA Button Design Best Practices
온보딩 품질이 리텐션을 최대 50%까지 좌우Hubapps — Ultimate Guide to Mobile Game Retention Strategies
2025년 캐주얼 장르 D1/D7 리텐션 벤치마크(평균 26%/10%, 상위권 35%+/12%+)GameAnalytics 2025 데이터(AppSamurai 인용)
디버그 메뉴 실배포 노출 사례(Marvel's Spider-Man 2, 2023)Grokipedia — Debug menu; Wikipedia — Debug menu

조사 방법: 에뮬레이터(WebView, Chrome DevTools Protocol)로 현재 배포 빌드를 직접 조작해 홈·플레이·설정·컬렉션·미션·스토어·기록·승리·가챠리빌·갓모드 화면 스크린샷 확보 → www/game.js·index.html 코드 대조로 각 관찰의 원인(코드 위치)까지 확인. 외부 UX 리서치는 웹서치로 교차검증.

Ssoly Town · Magpies Studio · 내부 의사결정 문서 · noindex