만든 날 2026-10-14 · 고친 날 2026-10-15 — 깃 이력에서 자동으로 박혀요
원칙 · 토큰 · 부품 · 화면 이동 · 화면 65개 배치 · 첫 30분 · 알림 점 · 과금 화면 · 접근성
| 항목 | 내용 |
|---|---|
| 기준 문서 | game-design/uiux/uiux-bible.md(2026-10-14) 1~4장 전부 · 상위 기준 game-design/bible.md · 화면 명세서 screens(65화면 · 70쪽) |
| 장르 | 키우기·방치형 + 수집형 RPG(원래 기획 확정) |
| 기준 캔버스 | 세로 720×1280 · Godot canvas_items · keep_width |
| 그림 결 | 코드로 그린 SVG(gen_svg.py · bruni_v2.py) — 외곽선 #3a2a33 굵기 4 |
| 레퍼런스 | 24게임 237장 App Store KR 스크린샷(iTunes Lookup API, 2026-10-14 두 차례 수집 — 전부는 레퍼런스 보드). 내부 참고용 · 재배포 금지 · 그림은 베끼지 않고 배치만 봅니다 |
| 함께 읽을 문서 | UI 에셋 목록 · 레퍼런스 보드 · 용어 개정안 · 화면 시안 8개 |
이 문서는 「브루니 키우기: 바랜 섬」의 화면을 만드는 사람이 같은 판단을 내리도록 하는 기준입니다. 색과 크기는 숫자로, 화면 배치는 「주 버튼 하나 · 핵심 정보 · 참고 그림」으로, 온보딩과 과금 화면은 단계와 금지 목록으로 적었습니다.
값은 모두 UI 바이블(uiux-bible.md)에서 왔고, 표는 생성기가 바이블에서 직접 읽어 만듭니다. 이 문서가 새로 정한 것은 온보딩 문구 개정(06장)·튜토리얼 뒤 단계·안내 미션 순서·다크패턴 금지 목록의 화면 적용(08장)·접근성 세부(09장)입니다.
brush·drop·stardust·s###)는 그대로입니다. 전체 대조는 용어 개정안에 있습니다.| 장 | 수록 내용 |
|---|---|
| 01 원칙 | 디자인 원칙 5개와 우선순위, 레퍼런스에서 본 근거 |
| 02 토큰 | 색 칩 · 글자 단계 · 간격 · 모서리 · 그림자 · 외곽선 견본 · 세로 확장 규칙(720×1600 · 안전 영역) |
| 03 공통 부품 | 버튼·카드·팝업·점·막대·칩·폼 컨트롤·튜토리얼 상태별 견본과 규칙 28종 · 화면별 재화 알약 |
| 04 화면 이동 | 공통 틀 · 탭 구조 · 루프별 흐름도 · 화면 65개 들고 나는 길 |
| 05 화면별 배치 | 65개 화면 + 보조 화면 2개 — 배치 원칙과 개정 좌표(x·y·w·h), 96 미만 버튼 57개 고친 값, 레퍼런스 그림 |
| 06 첫 30분 | 튜토리얼 17단계 개정 문구 · 튜토리얼 뒤 8단계 · 안내 미션 첫 10개와 해금 대조 |
| 07 알림 점 | 켬 조건 확정표 · 명세 대비 바뀐 것 · 운영 규칙 · 평범한 하루 표본 |
| 08 과금 화면 | 정직한 과금 원칙 · 다크패턴 13유형 금지 · 게임 고유 금지 8 · 화면별 체크리스트 · 광고 자리 6곳 |
| 09 접근성 | 글자 3단 · 움직임 줄이기 · 색약 · 대비 · 누르는 영역 |
| 10 남은 일 | 레퍼런스에서 가져온 것 · 바이블 추가 제안 · 열린 문제 · 출처 |
원칙은 다섯 개입니다. 화면 하나를 그릴 때 이 다섯을 순서대로 대 보고, 둘이 부딪히면 아래 우선순위로 정합니다.
| # | 원칙 | 뜻 | 지키는 방법 | 근거 |
|---|---|---|---|---|
| P1 | 엄지는 아래, 정보는 위 | 자주 누르는 것은 화면 아래 1/3, 읽기만 하는 것은 위 | 주 버튼·항아리·받기는 y ≥ 840. 재화 막대·설정·우편처럼 드물게 누르거나 잘못 누르면 안 되는 것은 위. 결제로 이어지는 버튼은 아래 탭과 24px 이상 띄움 | 한 손 49%·받쳐 쥐기 36%(Hoober 2013, ux.md §1) · 홈 아래 55% 가 조작부(legend-of-slime/06 · seven-knights-idle/05) |
| P2 | 한 화면에 주인공 행동 하나 | 화면마다 「지금 누를 것」은 주 버튼(청록) 한 개 | 주 버튼은 화면당 1개. 둘 이상 같은 무게가 필요하면 둘 다 보조 버튼으로. 홈은 항아리가 주인공이고, 스테이지 도전은 보조 무게 | 키우기 3종 홈의 「다음 할 일」 카드 하나(legend-of-slime/06 · seven-knights-idle/05 · cookierun-crumble/01) |
| P3 | 색만으로 말하지 않는다 | 색 + 모양 + 글자 셋 중 둘 이상 | 속성 = 색 칩 + 상징 아이콘(불씨·새순·물방울·번개·초승달 — 5-1) + 이름. 등급 = 틀 색 + 글자(R·SR·SSR). 판정 = 사각 배지(judge.* — 속성색과 다른 값) + 낱말(충분·아슬·부족). warn(#D93A3F) 색은 얻을 것(점)·경고에만 — 속성 빨강(#F07A6A)과 다른 값이다 | 속성 색 글자는 크림 위 4.5:1 미달(ux.md §4) · WCAG 1.4.1 |
| P4 | 그림책 스티커 결 | UI 는 SVG 캐릭터와 같은 선·면을 쓰되, 캐릭터보다 조용하다 | 외곽선 #3a2a33(검정 아님), 납작한 채움, 번짐 없는 아래 그림자, 둥근 모서리. UI 면은 크림·흰색, 채도 높은 색은 캐릭터·속성·보상에 양보 | gen_svg.py 1~6행(LINE #3a2a33, W 4) · bruni_v2.py |
| P5 | 정직한 과금 화면 | 사게 만들지 말고 고르게 한다 | 「결제/취소」「광고 보고 받기/괜찮아요」 같은 크기·같은 모양(채움만 다름) · 원화 가격 · 확률 버튼은 구매 버튼과 같은 화면 · 상품 팝업은 「7일간 보지 않기」 · 빨간 점을 판매·광고 권유에 쓰지 않음 · 죄책감 문구 금지 | 공정위 다크패턴 가이드라인 2026-10-06(ux.md §6-1, [U8]) · 시행령 제27조의2 · AdMob 보상형 정책([U17]) · App Store 3.1.1 |
P1·P2 는 키우기 장르 홈 화면의 공통 배치에서 왔습니다. 아래 두 장은 화면 위쪽을 자동 전투에, 아래쪽을 조작부에 쓰고, 그 사이에 「다음 할 일」 카드를 한 장 둡니다. 우리는 이 구조를 가져오되, 조작부의 주인공을 강화 목록이 아니라 물감 항아리 하나로 좁힙니다.




| 원칙 | 하지 않는 것 | 대신 |
|---|---|---|
| P1 | 「받기」를 팝업 위쪽에 두기 · 결제 버튼을 아래 탭 바로 위에 붙이기 | 받기는 y ≥ 840 · 결제 버튼과 아래 탭 사이 24px 이상 |
| P2 | 한 화면에 청록 버튼 둘 | 둘 다 필요하면 둘 다 보조 버튼으로(D06 스킬 탭은 주 버튼이 없습니다) |
| P3 | 속성 색 글자 · 빨강/초록만으로 판정 표시 | 속성 칩 + 상징 아이콘 + 이름 · 판정 배지에 「충분」「아슬」「부족」 |
| P4 | 번짐 그림자 · 검정 외곽선 · 그러데이션 남발 | 번짐 0 그림자 · <code>#3a2a33</code> 외곽선 · 그러데이션은 SSR 카드에만 |
| P5 | 작은 회색 「닫기」 · 판매 빨간 점 · 「평생」 · 죄책감 문구 | 같은 크기 버튼 · NEW 꼬리표 · 범위 문장 · 「괜찮아요」 |
모든 색은 이 칩이 기준입니다. 칩 위 글자색은 생성기가 대비가 큰 쪽(자두 #3A2A33 또는 흰색)을 골라 칠했습니다. 칩 아래 숫자는 바이블의 대비 값입니다.
#FFF7EF#F7F1E6#FFFFFF#ECE6E9 · 글자 #3a2a33 10.94#0B2947 · 흰 글자 14.76#3A2A33#3A2A33 · bg.base 12.70 · 흰 13.47 · bg.sunken 11.98#7A6870 · bg.base 4.90 · 흰 5.20 · surface.dim 4.22(큰 글자만)#FFFFFF · 14.76#FFD166 · 10.24#9FB3C8 · 6.86#0B0910 · 흰 글자 19.80#3A2A33| 토큰 | hex | 쓰는 곳 | 대비(계산) |
|---|---|---|---|
bg.base | #FFF7EF | 모든 화면 바탕(크림) — SVG 미리보기 바탕과 같다 | — |
bg.sunken | #F7F1E6 | 목록 바탕·입력 칸·비교 카드 안쪽 | — |
surface | #FFFFFF | 카드·팝업·버튼(보조) 면 | — |
surface.dim | #ECE6E9 | 비활성 버튼 면·빈 칸 | 글자 #3a2a33 10.94 |
surface.night | #0B2947 | 아래 탭 바탕·팝업 제목 띠·컷인 띠(브루니 목수건 남색 — art-dir) | 흰 글자 14.76 |
line | #3A2A33 | 모든 외곽선·구분선(진한 자두색) | — |
text.main | #3A2A33 | 본문·숫자·라벨 | bg.base 12.70 · 흰 13.47 · bg.sunken 11.98 |
text.sub | #7A6870 | 보조 설명·비활성 글자 | bg.base 4.90 · 흰 5.20 · surface.dim 4.22(큰 글자만) |
text.onNight | #FFFFFF | 남색 위 글자 | 14.76 |
text.onNight.on | #FFD166 | 남색 위 「지금 탭」 글자 | 10.24 |
text.onNight.off | #9FB3C8 | 남색 위 꺼진 탭 글자 | 6.86 |
bg.sleep | #0B0910 | 절전 화면(K04) 바탕 — 화면 밝기를 낮추려는 것 | 흰 글자 19.80 |
dim | #3A2A33 60% | 팝업 뒤 어둡게(명세의 검정 60% 를 자두색으로) | — |
#2BB3A3#D9F3EE#FFCF4A| 토큰 | hex | 쓰는 곳 | 대비(계산) |
|---|---|---|---|
accent.primary | #2BB3A3 | 주 버튼 면(브루니 목수건 청록 — gen_svg.py) | 위 글자 #3a2a33 5.18. 글자색으로 쓰지 않는다(크림 위 2.45) |
accent.primary.soft | #D9F3EE | 선택된 목록 행·선택된 칩 바탕 | 글자 11.55 |
accent.reward | #FFCF4A | 받기 버튼 면·보상 빛남·SSR | 위 글자 9.16 |
속성 색은 브루니 v2 몸색(bruni_v2.py VARIANTS)을 그대로 씁니다. 바탕으로만 쓰고 위 글자는 늘 text.main 입니다. 아이콘은 견본용으로 이 문서에서 단순하게 그린 것이고, 실제 에셋은 UI 에셋 목록의 ico_attr_* 입니다.
#F07A6A 면 · #C9473A 짙음 · 불씨#4FD18B 면 · #2FA86A 짙음 · 새순#5AA9E6 면 · #2F78C0 짙음 · 물방울#F5C84C 면 · #C99A1C 짙음 · 번개#A98AF0 면 · #7357C9 짙음 · 초승달| 속성(확정 이름 — 5장) | 데이터 id | 면 | 짙음(아이콘 선·작은 표식) | 상징 아이콘 | 면 위 #3a2a33 대비 |
|---|---|---|---|---|---|
| 빨강 | red | #F07A6A | #C9473A | 불씨 | 4.94 |
| 초록 | green | #4FD18B | #2FA86A | 새순 | 6.94 |
| 파랑 | blue | #5AA9E6 | #2F78C0 | 물방울 | 5.29 |
| 노랑 | yellow | #F5C84C | #C99A1C | 번개 | 8.50 |
| 보라 | ink | #A98AF0 | #7357C9 | 초승달 | 4.86 |
#9AA3AD#B48CFF#FFCF4A#C3C0C6#8FD06B#6AA8F0#B48CFF#FFA64D#FF7A7A| 구분 | 등급 | hex | 대비 | 비고 |
|---|---|---|---|---|
| 동료 | R | #9AA3AD | 5.27 | 은회색 |
| 동료 | SR | #B48CFF | 5.22 | 보라 속성 칩과 색이 가깝다 → 등급은 사각 띠 + 글자, 속성은 원형 칩 + 아이콘으로 모양이 다르다(P3) |
| 동료 | SSR | #FFCF4A | 9.16 | 금. 카드에만 위→아래 #FFCF4A→#FFA64D 그러데이션 허용 |
| 장비 1 | 일반 | #C3C0C6 | 7.49 | |
| 장비 2 | 고급 | #8FD06B | 7.31 | |
| 장비 3 | 희귀 | #6AA8F0 | 5.43 | |
| 장비 4 | 영웅 | #B48CFF | 5.22 | 4등급부터 틀에 빛(fx) |
| 장비 5 | 전설 | #FFA64D | 6.94 | |
| 장비 6 | 신화 | #FF7A7A | 5.34 | |
| 장비 7 | 찬란 | 무지개 — 속성 5색 면을 45° 줄무늬로 | — | 글자는 흰 바탕 띠 위에 |
#D93A3F#B8352F#9ED9B5#F2E2A0#F2B8A8#8C5A44#2BB3A3#7A4E5C#C3C0C6| 토큰 | hex | 쓰는 곳 | 대비 |
|---|---|---|---|
warn | #D93A3F | 알림 점 면·경고 팝업 띠·「가득 찼어요」 테두리 | 흰 글자 4.54 · 크림 위 비글자 4.28 |
warn.text | #B8352F | 크림 위 경고 글자(「골드가 모자라요」) | 5.52 |
judge.ok / close / low | #9ED9B5 / #F2E2A0 / #F2B8A8 | 전투력 판정 배지 — 사각(r.s) + stroke.m 테두리 + 낱말(「충분」「아슬」「부족」) 필수. 속성 5색(원형 칩)과 hex 를 겹치지 않게 채도를 낮춘 별도 3색이다(2026-10-14 바꿈 — 예전 값은 속성 초록·노랑·빨강과 같아 보스 노드의 속성 칩과 한 덩어리로 읽혔다) | 8.37 / 10.37 / 7.82 |
bar.stamp | #8C5A44 | 모집 도장 막대 채움(E01·E04·E05) — 인장 손잡이 갈색. 빨강 계열(warn·속성 빨강)을 쓰지 않는다 | 바탕 bg.sunken 위 5.0 대 |
st.buff / st.debuff | #2BB3A3 / #7A4E5C | 상태 효과 아이콘 바탕 — 버프 둥근 바탕 ▲ · 디버프 각진 바탕 ▼(색 + 모양). 위 그림은 버프 text.main, 디버프 흰색 | 그림 5.18 / 6.84 |
faded | #C3C0C6 | 잠긴 칸·미보유 동료(빛바램 표현 — 회색 + 50% 채도) | 위 글자 7.49 |
바이블의 대비 값을 이 생성기 안에서 WCAG 2.x 상대 휘도 공식으로 다시 계산했습니다. 같은 표를 두 번 옮겨 적는 것은 검증이 아니라서, 색 값만 가져와 숫자를 새로 냈습니다. 허용 오차는 ±0.02 입니다.
| 쌍 | 글자 / 바탕 | 바이블 | 재계산 | 판정 |
|---|---|---|---|---|
| 본문 글자 / 크림 | #3A2A33 / #FFF7EF | 12.70 | 12.70 | 일치 |
| 보조 글자 / 크림 | #7A6870 / #FFF7EF | 4.90 | 4.90 | 일치 |
| 보조 글자 / 비활성 면 | #7A6870 / #ECE6E9 | 4.22 | 4.22 | 일치 |
| 흰 글자 / 남색 탭 | #FFFFFF / #0B2947 | 14.76 | 14.76 | 일치 |
| 지금 탭 글자 / 남색 | #FFD166 / #0B2947 | 10.24 | 10.24 | 일치 |
| 꺼진 탭 글자 / 남색 | #9FB3C8 / #0B2947 | 6.86 | 6.86 | 일치 |
| 글자 / 청록 주 버튼 | #3A2A33 / #2BB3A3 | 5.18 | 5.18 | 일치 |
| 청록 글자 / 크림(금지) | #2BB3A3 / #FFF7EF | 2.45 | 2.45 | 일치 |
| 글자 / 받기 노랑 | #3A2A33 / #FFCF4A | 9.16 | 9.16 | 일치 |
| 글자 / 빨강 속성 | #3A2A33 / #F07A6A | 4.94 | 4.94 | 일치 |
| 글자 / 초록 속성 | #3A2A33 / #4FD18B | 6.94 | 6.94 | 일치 |
| 글자 / 파랑 속성 | #3A2A33 / #5AA9E6 | 5.29 | 5.29 | 일치 |
| 글자 / 노랑 속성 | #3A2A33 / #F5C84C | 8.50 | 8.50 | 일치 |
| 글자 / 보라 속성 | #3A2A33 / #A98AF0 | 4.86 | 4.86 | 일치 |
| 흰 글자 / 경고 점 | #FFFFFF / #D93A3F | 4.54 | 4.54 | 일치 |
| 경고 글자 / 크림 | #B8352F / #FFF7EF | 5.52 | 5.52 | 일치 |
| 흰 글자 / 절전 바탕 | #FFFFFF / #0B0910 | 19.80 | 19.80 | 일치 |
| 글자 / SR 보라 | #3A2A33 / #B48CFF | 5.22 | 5.22 | 일치 |
| 글자 / 판정 충분 | #3A2A33 / #9ED9B5 | 8.37 | 8.37 | 일치 |
| 글자 / 판정 아슬 | #3A2A33 / #F2E2A0 | 10.37 | 10.37 | 일치 |
| 글자 / 판정 부족 | #3A2A33 / #F2B8A8 | 7.82 | 7.82 | 일치 |
| 그림 / 버프 바탕 | #3A2A33 / #2BB3A3 | 5.18 | 5.18 | 일치 |
| 흰 그림 / 디버프 바탕 | #FFFFFF / #7A4E5C | 6.84 | 6.84 | 일치 |
견본은 화면 폭 360 기준(720 캔버스의 절반)으로 그렸습니다 — 폰에서 보이는 실제 크기와 비슷합니다. 제목·버튼 글자는 Jua(굵기 하나 — 「굵게」를 주지 않습니다), 본문과 모든 숫자는 Pretendard(숫자는 Bold + tnum)입니다. 둘 다 SIL OFL 이고, 갈무리(픽셀 글꼴)는 쓰지 않습니다.
t.captiont.bodyt.longt.labelt.title.st.titlet.numt.display| 단계 | px(720) | 360dp 기기 | 줄 간격 | 쓰는 곳 |
|---|---|---|---|---|
t.caption | 24 | 12sp | 1.25 | 꼬리표·시간·각주(최소값 — 이보다 작게 쓰지 않는다) |
t.body | 28 | 14sp | 1.5 | 목록·설명·버튼 보조 줄 |
t.long | 32 | 16sp | 1.6 | 이야기 대화창·도움말·법정 고지 |
t.label | 28 Jua(보통 — 굵기 하나) | 14sp | 1.25 | 버튼 글자·탭 글자 |
t.title.s | 32 Jua | 16sp | 1.25 | 팝업 제목·카드 제목 |
t.title | 40 Jua | 20sp | 1.2 | 화면 제목 |
t.num | 36 Pretendard Bold(700) + tnum | 18sp | 1.0 | 재화·전투력·가격(가격 버튼 안 숫자 포함). 작은 숫자(비용 칩·n/n)는 같은 글꼴 24·28 |
t.display | 56 Jua | 28sp | 1.1 | 「승리!」·SSR 이름 공개 |
autowrap_mode = WORD) — 「항아/리야」처럼 끊지 않습니다.common).tnum) — 매 초 바뀌는 큰 수가 좌우로 흔들리지 않게 합니다.| 자리 | 글꼴 | 설정 |
|---|---|---|
기본(default_font) | Pretendard Regular | 본문 t.body 28 · t.long 32 |
Button/fonts/font · 제목 라벨 | Jua | 굵기 하나뿐 — t.label 28 · t.title.s 32 · t.title 40 · t.display 56 |
숫자 라벨 변형 NumLabel | FontVariation — base_font = Pretendard-Bold | opentype_features = { tnum: 1 }(스크립트 키는 TextServerManager.get_primary_interface().name_to_tag("tnum")). 가격 버튼은 Button 글자 대신 HBox(Jua 라벨 + NumLabel) |
| ▶ 표시 | 아이콘 ico_sys_play 24 | Jua 에 U+25B6 글리프가 없습니다(2026-10-14 Jua-Regular.ttf cmap 확인) — 글자로 넣으면 대체 글꼴로 튑니다 |
Jua-Regular.ttf 의 hmtx 를 파이썬으로 읽어 계산했습니다(2026-10-14).| 토큰 | px | 쓰는 곳 |
|---|---|---|
sp.1~sp.8 | 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64 | 4 의 배수만 쓴다 |
margin.screen | 24 | 화면 좌우 바깥 여백(명세 x=24 와 같다) |
margin.popup | 48 | 팝업 좌우(팝업 폭 624) |
gap.touch | 16 | 누를 것 사이 최소 간격(360dp 에서 8dp — WCAG 2.5.8 간격 예외, ux.md §2) |
touch.min | 96×96 | 누르는 영역 최소(48dp — Android 48dp [U2]). 그림이 작아도 누르는 영역은 96. 목록 행 높이도 96 이상 |
h.topbar | 96 | 재화 막대(2026-10-14 88 → 96 — 막대 안 누를 것이 96 이 되게). 알약은 보이는 면 52 + 누름 영역 96(막대 높이 전체, 위아래 22 투명). 「+」는 따로 누르지 않고 빛구슬 알약 전체가 누름 영역 |
h.header | 96 | 하위 전체 화면 머리줄 — 왼쪽 「←」 96×96 · 가운데 화면 이름 t.title · 오른쪽 「?」 96×96 |
h.tabbar | 120 | 아래 탭(5칸 × 144) |
h.btn.l / m / s | 120 / 96 / 96(폭만 좁음) | 큰 버튼(도전·10회) / 보통 / 작은 |
| 토큰 | 값 | 쓰는 곳 |
|---|---|---|
r.s | 12 | 꼬리표·작은 배지 |
r.m | 20 | 버튼·칩·목록 행 |
r.l | 28 | 카드 |
r.xl | 36 | 팝업 패널 |
r.pill | 999 | 재화 알약·속성 칩·진행 막대 |
shadow.btn | 아래로 6px, 번짐 0, #3A2A33 25% | 버튼·카드. 번짐 없는 그림자 — SVG 의 납작한 면과 맞춘다 |
shadow.pressed | 아래로 2px + 본체 4px 내려앉음 | 눌림 상태(명세의 90% 축소 대신 — 결이 「도장 찍힘」이 된다) |
shadow.popup | 아래로 12px, 번짐 0, 18% | 팝업 패널 |
stroke.l | 4 #3A2A33 | 팝업·카드·버튼 테두리(SVG 캐릭터 W=4 와 같다) |
stroke.m | 3 | 칩·배지·막대 |
stroke.s | 2 | 48px 이하 아이콘의 외곽선·속 선(면이 있는 아이콘) |
stroke.icon | 3 | 선 자체가 그림인 48 시스템 글리프(ico_sys_* — ✕ ← ▾ ✓ …). 2 면 360dp 기기에서 1dp 라 글리프가 가늘어 안 읽힌다 |
hilite | 위쪽 30% 흰색 35% 타원 | 버튼·보석 아이콘 윗면 반사(bruni_v2.py 머리 반사 opacity .35 와 같다) |
gen_svg.py LINE #3a2a33, W 4). UI 가 흐릿한 그림자를 쓰면 캐릭터만 종이 위에 붙은 것처럼 겉돕니다. 눌림도 크기를 90%로 줄이는 대신 4px 내려앉혀 「도장 찍힘」처럼 보이게 합니다.세로가 긴 기기(20:9 → 720×1600)에서는 keep_width 가 화면을 아래로 늘립니다. 그 남는 높이를 어느 구역이 먹는지, 노치·제스처 막대 자리를 어떻게 빼는지를 정한 규칙입니다(UI 바이블 2-5). 화면 명세서 common 「안전 영역」 줄을 UI 쪽으로 받아 온 것입니다.
var safe := DisplayServer.get_display_safe_area() # 화면 픽셀 var win := DisplayServer.window_get_size() var k := 720.0 / win.x # 화면 픽셀 → 캔버스 inset_top = safe.position.y * k inset_bottom = (win.y - safe.end.y) * k E = H - inset_top - inset_bottom - 1280 # 늘어나는 구역이 먹는 높이
| 층 | 무엇 | 세로 위치(기준 좌표 y 는 1280 캔버스 · 안전 영역 안) |
|---|---|---|
| 바탕 | 화면 바탕 · 전투·이야기 배경 · 팝업 dim · 남색 몰입 바탕 | 0 ~ H 전체 — 안전 영역 밖(노치 뒤·제스처 막대 뒤)까지 칠한다 |
| 위 앵커 | 재화 막대 96 · 머리줄 96 · 화면 안 탭 줄 · B06 위 띠 | inset_top + y |
| 늘어나는 구역 | 아래 표 — 화면마다 하나 | 위끝 inset_top + y, 높이 h + E |
| 아래 앵커 | 아래 탭 120 · 아래 행동 줄(주 버튼) · B06 조작 줄·초상·전투 기록 · 안내 미션 카드부터 아래(B01) | H − inset_bottom − (1280 − y) |
| 팝업 | 패널은 늘리지 않는다 | 세로 가운데 = inset_top + (H − inset_top − inset_bottom) ÷ 2 |
| 화면 | 늘어나는 구역(기준 좌표) | 그 안의 것 |
|---|---|---|
| 홈 B01 | 전투 영역 160~624 | 유닛은 영역 가운데 기준으로 퍼진다. 옆줄 아이콘 8개는 영역 위끝에 붙는다(위 앵커) |
| 전투 B06 | 전장 160~880 | 유닛 가운데 기준. 초상·기록은 아래 앵커 — 전투 기록이 제스처 막대와 겹치지 않는다 |
| 목록 화면(D01 · I01 · J01 · J03 · J07 · C08 · F01 · G04 · H02 · I05 · I06 · E02 · E06 · F03) | 스크롤 영역 | 내용은 위에서부터. 한 화면에 보이는 행·카드가 늘어날 뿐 크기는 그대로 |
| 상세·성장(D02 · C04 · C05 · G03) | 그림 영역(D02 서 있는 그림 · C04 브루니 · C05 지금 장비 · G03 보스) | 그림은 영역 아래끝(발밑)에 붙인다 |
| 모집 E01 | 배너 그림 192~624 | 동료 그림은 배너 아래끝에 붙인다. 이름·확률·기간은 배너 위끝 |
| 몰입(A01 · A02 · E03 · E04 · F02 · K04) | 가운데 연출 | 위 요소(제목·넘기기)는 위 앵커, 버튼 줄은 아래 앵커 |
| 팝업 27개 · X01 · X02 | 늘지 않음 | 가운데 |
화면 시안(시안 문서)의 마크업을 그대로 가져와 위 규칙으로 늘린 뒤 헤드리스 크롬으로 찍었습니다(uiux/gen/tall_shots.py, 배율 2 → 720×1600 PNG). 위 64(상태 표시줄)·아래 48(제스처 막대)은 가정값이라 빗금으로 표시했고, 청록 점선이 늘어난 구역(+208)입니다. 전투 화면의 전투 기록 줄은 아래 앵커라 제스처 막대 위에 남습니다.









python3 game-design/uiux/gen/tall_shots.py 를 다시 돌립니다. 실기기 안전 영역 값은 아직 재지 않았습니다(10장 열린 문제).상태 이름은 보통 · 눌림 · 비활성 · 빛남 · 선택 · 잠김 여섯으로 고정합니다. 비활성 버튼도 누를 수 있고, 누르면 이유 토스트(「골드가 모자라요」)를 띄웁니다 — 왜 안 되는지 모르는 회색 버튼을 만들지 않습니다.
cmp_btn_primarycmp_btn_secondarycmp_btn_rewardaccent.reward 1.2초 숨쉬기입니다. 화면당 빛나는 것은 하나만 둡니다 — 여러 개가 빛나면 알림 점 남발과 같은 문제가 됩니다. 「움직임 줄이기」를 켜면 숨쉬기 대신 고정 고리입니다.cmp_cardbar.stampcmp_guide_card (신설)SR(보라 띠)과 보라 속성은 색이 가깝습니다. 그래서 등급은 사각 띠 + 글자, 속성은 원형 칩 + 아이콘으로 모양부터 다르게 둡니다(P3).
부품 id 는 코드·에셋 이름과 같습니다. 화면 명세에서 새 부품이 필요하면 여기서 먼저 정의하고 쓰입니다.
| id | 부품 | 생김 | 상태 | 규칙 |
|---|---|---|---|---|
cmp_topbar | 재화 막대 | 높이 96, bg.base. 왼쪽 브루니 초상 64(SVG)·Lv·전투력(누름 영역 0~240 × 96 → C04), 오른쪽 재화 알약 3개(골드 · 빛구슬「+」 · 화면별 세 번째) — 알약은 보이는 면 52(y 22~74) + 누름 영역 96(막대 높이 전체) | 보통 · 값 변화(숫자 0.4초 굴림 + 늘면 초록 「+n」 떠오름) · 눌림 | 하위 화면에도 남는다(princess-connect/03·05). 하위 화면은 아래 머리줄(h.header 96)에 「← 화면 이름」을 둔다(D02 만 머리줄 없이 막대 왼쪽이 「← 동료」). 세 번째 알약은 아래 「화면별 세 번째 알약」 표. 골드·빛구슬 알약을 누르면 X02(얻는 곳), 빛구슬은 I01 빛구슬 탭 |
cmp_tabbar | 아래 탭 | 높이 120, surface.night, 5칸 144 — 모험 · 브루니 · 동료 · 모집 · 상점 | 보통(아이콘 text.onNight.off) · 선택(아이콘 위로 8px + text.onNight.on + 크림 반달 받침) · 잠김(자물쇠 + 「스테이지 1-5에서 열려요」 토스트) · 점 | 탭 루트 화면(B01·C04·D01·E01·I01)에만. 그 밖 전체 화면은 탭을 숨기고 뒤로 |
cmp_btn_primary | 주 버튼 | accent.primary 면 + stroke.l + shadow.btn, 글자 t.label | 보통 · 눌림 · 비활성(surface.dim·text.sub) · 빛남(테두리 바깥 accent.reward 고리 1.2초 숨쉬기) | 화면당 1개(P2) |
cmp_btn_secondary | 보조 버튼 | surface 면 + stroke.l | 보통 · 눌림 · 비활성 · 재화 부족 | 「취소」「괜찮아요」「판매」. 결제·광고 팝업에서는 주 버튼과 같은 크기(P5). 값이 다른 두 결제 버튼(1회/10회)은 둘 다 보조, 같은 채움 — 비싼 쪽만 주 버튼으로 채우지 않는다(uiux 08장 2.2) |
| (변형) | 가격 버튼 | 보조 버튼 면 + 가운데 원화 가격 t.num(Pretendard Bold tnum) — 빛구슬 값이면 ico_cur_gem 32 + 수 + 아래 줄 「보유 1,230」 t.caption | 보통 · 눌림 · 비활성(「품절」·「내일 04:00」) | 카드가 여럿인 화면(I01 · H02 · I05)의 가격 버튼. 카드마다 같은 무게라 주 버튼(청록)을 쓰지 않는다(P2). 누르면 I02 구매 확인 |
cmp_btn_reward | 받기 버튼 | accent.reward 면 + stroke.l | 보통 · 눌림 · 빛남 · 비활성(「받았어요」) | 「받기」「모두 받기」 전용. 팝업 아래쪽(P1) |
| (변형) | 광고 버튼 | 보조 또는 받기 버튼 앞에 ▶ 아이콘 + 「(1/2)」 남은 횟수 | 다 쓰면 숨기지 않고 비활성 + 「내일 04:00에 채워져요」 | 생략권 보유자는 「광고 없이 받기」로 바뀐다(「바로 받기」는 쓰지 않는다 — 5-1 #72·#78) |
cmp_card | 카드 | surface + stroke.l + r.l + shadow.btn | 보통 · 선택(accent.primary.soft 바탕 + 청록 4px) · 잠김(faded + 자물쇠 + 열리는 조건) · 미보유(faded 면 + 회색 실루엣 + 「아직 못 만났어요」 + 「얻는 곳 ›」 → X02, 얻는 배너 이름) | 동료 카드는 아래 등급 띠 + 왼쪽 위 속성 칩 + ★ 줄. 미보유 카드에 동료 조각 수(「12/30」)를 띄우지 않는다 — growth.json 에 조각으로 동료를 얻는 규칙이 없다(동료 조각은 중복분 승급 재료 — star 표 shards). 조각 소환을 넣으려면 growth.json 규칙부터 정한다 |
cmp_popup | 팝업 | 폭 624, surface + r.xl + shadow.popup. 위 제목 띠(surface.night 높이 88, 흰 t.title.s) → 내용 → 아래 버튼 줄. 오른쪽 위 ✕(96 누름 영역), 필요하면 왼쪽 위 「?」 | 열림 0.12초 0.9→1.0 · 닫기 금지형(✕ 없음) | 최대 2겹(명세 common). 바깥 누르면 닫힘(닫기 금지형 제외). 구조는 cookierun-crumble/03 · survivor-io/02 |
cmp_toast | 토스트 | 화면 위 1/3, line 바탕 90% + 흰 글자 t.body, r.pill | 2.5초, 최대 2개 쌓임 | 문구는 해요체 한 줄. 같은 문구 연속은 시간만 늘림 |
cmp_dot | 알림 점 | 지름 24, warn 면 + 흰 3px 테두리, 아이콘 오른쪽 위 | 점 · 숫자(「3」, 숫자는 놓치면 손해인 것만) | 「3초 안에 해결되는 얻을 것」에만. 판매·광고·새 배너에 쓰지 않는다(4-3 표) |
cmp_bar | 진행 막대 | 높이 24(작음 16), r.pill, 바탕 bg.sunken + stroke.m, 채움 종류별(체력 초록 · 적 체력 빨강 · 보스 체력 속성 짙음 · 경험치 청록 · 우정 분홍 #F59AB8 · 방치 노랑 · 모집 도장 bar.stamp #8C5A44) | 보통 · 가득(빛남) · 넘침(가득 막대 위 「가득 찼어요」 warn.text) | 숫자는 막대 오른쪽 위 t.caption(n/n) |
cmp_chip_reward | 보상 칩 | 96×96 surface 카드 + 아이콘 64 + 오른쪽 아래 수량 t.caption 굵게 + 아래 등급 띠(있으면) | 보통 · 처음 얻음(「NEW」 꼬리표) · 보너스(「+20%」 노랑 꼬리표) | 누르면 이름·획득처 말풍선 |
cmp_tabs | 화면 안 탭 | 높이 96 가로 줄, 선택 칸 surface + 청록 밑줄 6, 나머지 bg.sunken | 보통 · 선택 · 점 · 잠김 | 5칸 넘으면 가로 스크롤 + 오른쪽 그림자로 「더 있음」 |
cmp_row | 목록 행 | 높이 ≥ 96(내용 많으면 128), 왼쪽 아이콘 64 · 가운데 제목 t.body 굵게 + 설명 t.caption · 오른쪽 버튼(가기 보조 / 받기 받기) | 보통 · 완료(회색 + ✓, 맨 아래로) · 받을 것 있음(받기 버튼) · 잠김 | 「가기」는 screens.json mission_go 이동표 |
| id | 부품 | 생김 | 상태 | 규칙 |
|---|---|---|---|---|
cmp_attr_chip | 속성 칩 | 원형 48(작음 32), 속성 면 + 상징 아이콘 + stroke.m | — | 글자 이름은 칩 옆에 t.caption(카드 안처럼 좁으면 생략 가능, 상세 화면에는 필수) |
cmp_grade_badge | 등급 배지 | 사각 띠 96×40, 등급색 면 + 글자(R·SR·SSR / 장비 등급명) | — | 모양으로 속성 칩과 구분(P3) |
cmp_tag | 꼬리표 | 높이 40 r.s: 「NEW」(청록) · 「한정」+남은 시간(노랑) · 「확률형」(흰 + stroke.m) · 「리더」(남색) | — | 기간 한정은 아이콘 아래에 남은 시간(seven-knights-idle/05 · cookierun-crumble/01). 라벨·아이콘과 겹치지 않는다 — 칸 오른쪽 위 모서리에 걸고, 글자 상자와 겹치면 글자를 12 내린다(화면 시안 E01 「픽업」 · B01 「무료 1」. 결과 카드처럼 그림이 칸을 채우면 꼬리표를 아래 글자 칸으로 옮긴다) |
cmp_guide_card | 안내 미션 카드 | 홈 전투 화면 아래 폭 672 높이 112(y 632~744): 「안내」 꼬리표 + 과제 문구 + n/n 막대 + 보상 칩 96 + 오른쪽 「가기」/「받기」 104×96 | 진행 중 · 받을 것 있음(받기 버튼 + 빛남) | 키우기 3종 공통(patterns.md §3 빈 곳 1). 튜토리얼 뒤 길잡이. 해금 안 된 과제는 건너뛰고 다음 과제를 보인다(기획서 06장) |
cmp_judge | 판정 배지 | 숫자 옆 사각 배지 높이 40 r.s(judge.* 면 + stroke.m + 「충분」「아슬」「부족」) | — | 전투력 숫자는 늘 text.main(ux.md §4). 원형 속성 칩과 모양·색 둘 다 다르다 |
cmp_sheet | 아래 시트 | 아래에서 올라오는 패널(높이 최대 70%), 위 손잡이 | — | 동료·장비·유물 상세 미리보기. 팝업 2겹 제한에 세지 않는다(전체 화면 위 1겹) |
cmp_coach | 튜토리얼 안내 | 4겹: ① 강조 구멍(fxu_highlight 셰이더 — 강조 구역 둘레 8px 밝은 테두리, 나머지 dim) ② 브루니 초상 128(SVG, 말풍선 쪽 끝) ③ 말풍선 frm_bubble(폭 최대 512, t.body 28, 2줄까지, 꼬리가 초상을 가리킴) ④ 손가락 ico_tut_hand 96(구멍 가운데에서 오른쪽 아래 24, 0.8초 누르기 반복) | 강제(구멍만 누름 · 뒤로 키 무시) · 안내만(아무 곳이나 누르면 넘어감) · 시스템 문구(초상 없이 말풍선만) | 말풍선은 강조 구멍 반대쪽 절반(구멍이 y < 640 이면 아래, 아니면 위). 구멍과 말풍선이 겹치면 말풍선을 옮긴다. 「움직임 줄이기」면 손가락은 멈춘 그림 |
cmp_confirm | 2겹 확인 팝업 | cmp_popup 축소형 — 폭 624 높이 408 고정: 제목 띠(질문 한 줄) → 무엇을 잃는지 t.body → 버튼 줄(왼 되돌릴 수 없는 쪽 보조 · 오른 안전한 쪽 주, 같은 크기 280×96) | 보통 · 위험(왼쪽 버튼 글자 warn.text + 3초 뒤 활성 — K02 계정 삭제만) | 아래 팝업 위 2겹째(최대 2겹). 바깥 눌러도 닫히지 않는다. A04 「이 저장으로 할까요?」· B07 「정말 포기할까요?」· K02 「계정을 지울까요?」. 좌표는 layout.json extra cmp_confirm |
cmp_check | 체크 상자 | 상자 48(stroke.m, r.s) + 오른쪽 글자 t.body, 행 전체가 누름 영역(높이 96) | 꺼짐 · 켜짐(청록 면 + 흰 ✓) · 비활성 · 필수 꼬리표 | 기본은 꺼짐(미리 켜지 않는다 — 다크패턴 1.2). A02 · A05 「오늘 다시 보지 않기」· X01 「7일간 보지 않기」· C03 |
cmp_switch | 스위치 | 길이 96 × 높이 48 알약 + 손잡이 40, 오른쪽 끝에 놓고 행 전체가 누름 영역(96) | 꺼짐(surface.dim) · 켜짐(accent.primary) · 비활성 | 바로 적용되는 설정(K01 소리·알림·움직임 줄이기, C03 자동 장착). 켜짐/꺼짐 글자를 옆에 같이(「켜짐」) — 색만으로 말하지 않는다 |
cmp_slider | 슬라이더 | 막대 높이 16 + 손잡이 48, 누름 영역 높이 96 · 양끝 아이콘 48 | 보통 · 끄는 중(손잡이 1.2배) · 비활성 | K01 소리 크기 3줄. 값을 숫자로 옆에(「70」). 0 이면 음소거 아이콘 |
cmp_dropdown | 고르기 상자 | 높이 96, surface + stroke.m + r.m, 글자 t.body + 오른쪽 ▾ | 닫힘 · 열림(아래 시트 cmp_sheet 로 목록, 행 96) · 선택값 있음(청록 테두리) | D01 「역할 ▾」「등급 ▾」「정렬 ▾」 · B05 필터. 펼침 목록은 화면 안 작은 상자가 아니라 아래 시트(엄지 영역, P1) |
cmp_segment | 세그먼트 | 높이 96, 2~3칸 같은 폭, 바깥 stroke.m r.m | 보통 · 선택(accent.primary.soft + 청록 글자 대신 굵은 text.main + 밑줄 6) | B04 보통/어려움 · B05 편성 1/2/3 · B06 배속 ×1/×2 · 글자 크기 3단. 탭(cmp_tabs)과 달리 화면 내용을 갈아 끼우지 않고 값 하나를 고른다 |
cmp_stepper | 수량 −/+ | 한 줄: 「−」 96×96 · 수량 t.num 칸(폭 ≥ 200) · 「+」 96×96 · 「최대」 보조(폭 ≥ 120), 간격 16 | 보통 · 끝(최소 1 에서 −, 최대에서 + 비활성 + 이유 토스트) · 길게 누름(0.1초마다 1) | J08 정수 합성 · I05·H02 수량 고르기. 수량 칸을 누르면 숫자 키패드 |
cmp_dialog | 대화창 | 아래 폭 672 높이 280, surface + stroke.l, 왼쪽 위 이름표(남색) | 글자 나오는 중 · 다 나옴(▼ 깜빡임) · 선택지(세로 버튼 96, 보조 버튼 모양) | 본문 t.long |
에셋 목록에만 있던 체크·스위치·슬라이더·고르기 상자·세그먼트·수량 −/+ 를 부품으로 올리고, 튜토리얼 안내(cmp_coach)와 2겹 확인 팝업(cmp_confirm)을 새로 정했습니다. 모두 행 전체 또는 칸 하나가 96이고, 기본값을 미리 켜지 않습니다. 상태·크기는 위 부품 표에 있습니다.
cmp_check 꺼짐(기본)cmp_switchcmp_slidercmp_dropdown → 아래 시트cmp_segmentcmp_stepper 96 · 간격 16cmp_coach — 구멍 · 초상 · 말풍선 · 손가락cmp_confirm 2겹째 · 같은 크기t.num골드 · 빛구슬은 모든 화면에 같고, 세 번째 알약만 화면 문맥을 따릅니다. 상점 화면은 그 상점의 주화가 세 번째입니다. 알약은 보이는 면 52 · 누름 영역 96(재화 막대 높이 전체)입니다.
| 화면 | 세 번째 알약 | 이유 |
|---|---|---|
| B01 모험(홈) · B04 지도 · B05 파티 편성 · C01·C02·C03(홈 위 팝업) | 물감 | 항아리를 여는 재화 |
| C04 브루니 · C05 장비 강화 · C06 장비 제작 | 강화석 | 장비 강화·제작 재료(5-2 유지 용어) |
| C08 유물 | 유물 가루 | 유물 레벨업 재료 |
| D01 동료 목록 · D02 동료 상세 · D08 동료 이야기 목록 | 열매 | 동료 레벨업 재료 |
| E01 모집 | 모집권 | 1회 모집에 먼저 쓴다 |
| F01 이야기 | 물감 | 탭 문맥이 없어 홈 값을 따른다 |
| G01 원정 · G03 주간 토벌 · G04 시련의 등대 | 던전 열쇠 | 원정 입장 재화 |
| H01 이벤트 · H02 이벤트 상점 | 이벤트 주화 | 그 상점 돈(5-3 「○○ 주화」) |
| I01 상점 | 모집권 · 원정 탭을 고르면 원정 주화 | 탭 문맥 |
| I04 정기권·성장 패스 · I06 결제 내역 | (없음 — 알약 2개) | 유료 빛구슬 잔액을 화면 본문에 따로 보인다 |
| I05 원정 상점 | 원정 주화 | 그 상점 돈 |
| J01 미션 · J03 우편함 · J07 가방 · K01 설정 · K02 계정·저장 | 물감 | 홈 값을 따른다 |
화면은 네 가지 틀 중 하나에 들어갑니다. 탭 루트 다섯 화면에만 아래 탭이 있고, 하위 화면은 탭을 숨기고 왼쪽 위 「← 이름」으로 돌아갑니다. 점선은 엄지 영역 경계(y 840)입니다.
| 종류 | 틀 |
|---|---|
| 탭 루트 전체 화면 (B01·C04·D01·E01·I01) | 위 재화 막대 96 → 내용(늘어나는 구역 하나 — 2-5) → 아래 탭 120 |
| 하위 전체 화면 | 위 재화 막대 96 → 머리줄 96(「←」 96×96 · 화면 이름 · 「?」 96×96) → 내용 → 아래 행동 줄(주 버튼). 탭 없음. D02 만 머리줄 없이 막대 왼쪽이 「← 동료」(그림 영역을 넓게) |
| 팝업 | 폭 624 · x 48. 제목 띠 → 내용 → 아래 버튼 줄(오른쪽이 주 버튼, 같은 높이 96~120). 2겹째 확인은 cmp_confirm |
| 탭(D03~D07) | D02 「탭 내용」(y 616~1160 — layout.json) 안에서 바뀐다. 탭마다 「지금 → 다음」 미리보기 + 필요 재료 칩 + 주 버튼 하나 |
| 몰입 화면 (A01·A02·B06·E03·E04·F02·K04) | 재화 막대·아래 탭 없음. 바탕은 안전 영역 밖까지(2-5) |
| 탭 | 루트 | 딸린 화면 |
|---|---|---|
| 모험 | B01 모험(홈) | B02 방치 보상 · B03 즉시 보상 · B04 지도 · B05 파티 편성 · B06 전투 · C01 항아리 결과 · 홈 옆줄 아이콘 8개(왼 미션 J01 · 출석 J02 · 우편 J03 · 이벤트 H01 / 오른 이야기 F01 · 원정 G01 · 꾸러미 I01 · 설정 K01) |
| 브루니 | C04 브루니 | C05 장비 강화 · C06 장비 제작 · C07 색 바꾸기 · C08 유물 · J07 가방(메뉴 칸 「가방」) · C02 항아리 정보 · C03 자동 판매 |
| 동료 | D01 동료 목록 | D02 동료 상세 → D03~D07 탭 · D08 동료 이야기 목록 |
| 모집 | E01 모집 | E02 확률 정보 · E03 연출 · E04 결과 · E05 도장 교환 · E06 모집 기록 |
| 상점 | I01 상점 | I02 구매 확인 · I03 결제 결과 · I04 정기권·성장 패스 · I05 원정 상점 · I06 결제 내역 |
화면 명세서(screens.json)의 버튼 이동을 세어 만든 표입니다. 화면 65개 사이에 이동이 124개 있습니다. 탭 루트 다섯은 「아래 탭」에서도 들어옵니다. 「들어오는 곳」이 비어 있는 화면은 버튼이 아닌 길(부팅·팝업 줄·시스템)로 열리는 화면입니다: A03, K05, K06. * 표는 UI 바이블이 더한 길 3개입니다 — B01 물감 0 광고 → J05 · I05 광고 새로고침 → J05 · C04 메뉴 「가방」 → J07(screens.json 반영은 바이블 9장 ⑭). 이로써 J05 로 들어오는 곳이 광고 자리 6곳(B01 · B02 · B03 · E01 · G02 · I05)과 맞습니다.
| no | 화면 | 들어오는 곳 | 나가는 곳 |
|---|---|---|---|
| A01 | 부팅 | A04 · K02 | A02 · B01 · F02 |
| A02 | 약관 동의 | A01 | F02 |
| A03 | 업데이트 필요 | — | — |
| A04 | 저장 고르기 | K02 | A01 · B01 |
| A05 | 공지 | K01 | B01 · J02 |
| B01 | 모험 | 아래 탭 · A01 · A04 · A05 · B07 · B08 · C01 · K04 | B02 · B03 · B04 · B06 · C01 · C02 · C03 · C04 · F01 · G01 · H01 · I01 · J01 · J02 · J03 · J05* · K01 · K04 |
| B02 | 방치 보상 | B01 | B05 · J04 · J05 |
| B03 | 즉시 보상 | B01 · J07 | J04 · J05 |
| B04 | 지도 | B01 · B08 | B05 · B06 |
| B05 | 파티 편성 | B02 · B04 · B08 · D01 · G03 | D02 |
| B06 | 전투 | B01 · B04 · B07 · B08 · G02 · G03 · G04 · H01 | B07 · B08 |
| B07 | 일시정지 | B06 | B01 · B06 |
| B08 | 전투 결과 | B06 | B01 · B04 · B05 · B06 · C04 · D01 · J06 |
| C01 | 항아리 결과 | B01 | B01 |
| C02 | 항아리 정보 | B01 | E02 |
| C03 | 자동 판매·자동 열기 | B01 | — |
| C04 | 브루니 | 아래 탭 · B01 · B08 · J07 | C05 · C06 · C07 · C08 · J07* |
| C05 | 장비 강화 | C04 | J07 |
| C06 | 장비 제작 | C04 | J04 |
| C07 | 색 바꾸기 | C04 | — |
| C08 | 유물 | C04 | — |
| D01 | 동료 목록 | 아래 탭 · B08 | B05 · D02 |
| no | 화면 | 들어오는 곳 | 나가는 곳 |
|---|---|---|---|
| D02 | 동료 상세 | B05 · D01 · E04 | D03 · D04 · D05 · D06 · D07 · D08 |
| D03 | 레벨업 | D02 | — |
| D04 | 승급 | D02 | J04 |
| D05 | 각성 | D02 | J04 · J08 |
| D06 | 스킬 | D02 | — |
| D07 | 우정 | D02 | D08 |
| D08 | 동료 이야기 목록 | D02 · D07 · F01 | F02 |
| E01 | 모집 | 아래 탭 · E04 | E02 · E03 · E05 · E06 · J05 |
| E02 | 확률 정보 | C02 · E01 · J07 · K01 | — |
| E03 | 모집 연출 | E01 · E04 | E04 |
| E04 | 모집 결과 | E03 | D02 · E01 · E03 |
| E05 | 모집 도장 교환 | E01 | J04 |
| E06 | 모집 기록 | E01 | — |
| F01 | 이야기 | B01 | D08 · F02 |
| F02 | 이야기 보기 | A01 · A02 · D08 · F01 · H01 | F03 · F04 |
| F03 | 대사 기록 | F02 | — |
| F04 | 이야기 넘기기 | F02 | — |
| G01 | 원정 | B01 | G02 · G03 · G04 · I05 |
| G02 | 일일 던전 입장 | G01 | B06 · J05 |
| G03 | 주간 토벌 | G01 | B05 · B06 |
| G04 | 시련의 등대 | G01 | B06 |
| H01 | 이벤트 | B01 | B06 · F02 · H02 · J01 |
| no | 화면 | 들어오는 곳 | 나가는 곳 |
|---|---|---|---|
| H02 | 이벤트 상점 | H01 | J04 |
| I01 | 상점 | 아래 탭 · B01 | I02 · I04 · I05 · I06 |
| I02 | 구매 확인 | I01 · I04 | I03 |
| I03 | 결제 결과 | I02 | J03 |
| I04 | 정기권·성장 패스 | I01 | I02 · J04 |
| I05 | 원정 상점 | G01 · I01 | J04 · J05* |
| I06 | 결제 내역 | I01 · K01 | K03 |
| J01 | 미션 | B01 · H01 | J04 |
| J02 | 출석 | A05 · B01 | J04 |
| J03 | 우편함 | B01 · I03 | J04 |
| J04 | 보상 획득 | B02 · B03 · C06 · D04 · D05 · E05 · H02 · I04 · I05 · J01 · J02 · J03 · J05 · J07 | — |
| J05 | 광고 보상 확인 | B01* · B02 · B03 · E01 · G02 · I05* | J04 |
| J06 | 새 기능 열림 | B08 | — |
| J07 | 가방 | C04* · C05 | B03 · C04 · E02 · J04 · J08 |
| J08 | 정수 합성 | D05 · J07 | — |
| K01 | 설정 | B01 | A05 · E02 · I06 · K02 · K03 |
| K02 | 계정·저장 | K01 | A01 · A04 |
| K03 | 고객 문의 | I06 · K01 · K05 | — |
| K04 | 절전 | B01 | B01 |
| K05 | 공통 오류 | — | K03 |
| K06 | 종료 확인 | — | — |
화면 명세(screens.json, 2026-10-13 버전)의 구역 좌표는 터치 88 · 재화 막대 88 · 머리줄 80 기준이었습니다. UI 바이블이 터치 최소를 96, 재화 막대를 96 으로 올렸으므로 65화면 422개 구역을 다시 계산해 game-design/uiux/data/layout.json 에 남겼습니다(생성기 uiux/gen/layout.py). Godot 로 옮길 때는 명세 좌표가 아니라 이 파일의 new 값을 씁니다. 아래 각 묶음 쪽의 화면 칸에 같은 값이 붙어 있습니다.
| 규칙 | 내용 |
|---|---|
| R1 | 재화 막대 88 → 96 (h.topbar) |
| R2 | 머리줄 80 → 96 (h.header) |
| R3 | 버튼 높이·폭 < 96 → 96 (touch.min) |
| R4 | 화면 안 탭 높이 < 96 → 96 (cmp_tabs) |
| R5 | 팝업 패널 x 48 · 폭 624 (margin.popup), 안 구역은 같은 비율 |
| R6 | 늘어난 만큼 아래 구역을 민다 — 원래 간격 유지, 누를 것끼리 16 이상(gap.touch) |
| R7 | 전체 화면은 늘어나는 구역(flex) 하나가 밀린 만큼 줄어든다 — 위·아래 앵커는 제자리 |
| R8 | 팝업 패널은 늘어난 만큼 위아래로 반씩 |
| R9 | 모든 값 4 의 배수 |
| R10 | 시안 8개 좌표가 정한 값은 시안을 따른다 |
첫 실행은 A01 → A02 → F02(이야기 1화)로 곧장 들어갑니다. 계정 선택·닉네임 입력이 없습니다 — 버섯커 키우기도 닉네임이 자동이라 바로 튜토리얼로 들어갑니다(ux.md §7, [U16] 2024-02-04). 공지(A05)는 부팅 팝업 줄의 첫 칸이고, 상품 팝업을 이 줄에 넣더라도 「7일간 보지 않기」가 붙습니다.
| no | 화면 | 배치 원칙 — 주 버튼 · 핵심 정보 · 참고 |
|---|---|---|
| A01 | 부팅scr_boot | 로고 위 1/3, 가운데 걷는 브루니(SVG), 아래 진행 막대+문구. 누를 곳은 화면 전체 하나 개정 좌표 x·y·w·h (720×1280, 계산)배경 0·0·720·1280제목 112·300·500·200 ← 110·300·500·200걷는 브루니 296·720·128·128진행 막대 112·900·500·24 ← 110·900·500·24단계 문구 112·940·500·48 ← 110·940·500·48시작 문구 112·1040·500·60 ← 110·1040·500·60버전 520·1220·192·40 ← 520·1220·190·40 |
| A02 | 약관 동의scr_terms | 명세(screens.json) 배치로 확정: 맨 위 「모두 동의해요」 행(y 240) → 동의 행 96 × 3(필수 꼬리표 2·선택 1, cmp_check, 미리 켜지 않음) → 안내 상자 → 맨 아래 「시작할게요」 주(필수 전엔 비활성 + 이유 토스트). 바꾼 이유: 「모두 동의」를 개별 행 위에 두면 「한 번에 켜고 → 아래에서 무엇이 켜졌는지 확인」 순서로 읽히고, 시작 버튼과 떨어져 있어 「모두 동의」를 시작으로 잘못 누르지 않는다. 버튼 글자는 다음 일(1화 시작)을 말하는 「시작할게요」. 좌표는 layout.json A02개정 좌표 x·y·w·h (720×1280, 계산)제목 40·120·640·80모두 동의 40·240·640·96 ← 40·240·640·100이용약관 40·360·640·96 ← 40·360·640·90개인정보 40·472·640·96 ← 40·460·640·90알림 40·584·640·96 ← 40·560·640·90안내 상자 40·712·640·268 ← 40·680·640·300시작 160·1060·400·112 ← 160·1060·400·110 |
| A03 | 업데이트 필요scr_update | 닫기 금지형. 주 버튼 「업데이트하러 가기」 하나 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·416·624·448 ← 80·420·560·440문구 92·468·536·200 ← 120·470·480·200스토어로 136·736·444·96 ← 160·740·400·90 |
| A04 | 저장 고르기scr_restore | 두 저장을 좌우 같은 크기 카드(최고 스테이지·동료 수·저장 시각). 고르면 확인 팝업(2겹) 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·260·624·760 ← 40·260·640·760제목 88·300·544·72 ← 80·300·560·70이 기기 88·400·264·380 ← 80·400·270·380서버 백업 368·400·264·380 ← 370·400·270·380이 기기로 88·820·264·100 ← 80·820·270·100서버로 368·820·264·100 ← 370·820·270·100 |
| A05 | 공지scr_notice | 위 공지 종류 탭, 본문 스크롤 t.long. 아래 「오늘 다시 보지 않기」(체크 꺼짐 기본) + 「닫기」개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·184·624·912 ← 40·200·640·880탭 48·184·624·96 ← 40·200·640·80본문 88·300·544·620 ← 80·300·560·620오늘 그만 88·960·272·96 ← 80·960·280·80닫기 380·960·252·96 ← 380·960·260·80 |
가장 오래 머무는 화면 묶음입니다. 홈(B01)은 위 45% 자동 전투 · 아래 55% 조작부로 나누고, 아래 1/3 가운데를 물감 항아리에 줍니다(P1·P2). 스테이지 도전은 보조 무게로 둡니다 — 항아리를 열어 강해진 뒤에 도전하는 순서가 키우기 루프의 결입니다.
| no | 화면 | 배치 원칙 — 주 버튼 · 핵심 정보 · 참고 |
|---|---|---|
| B01 | 모험 (홈) (사냥)scr_home | 위 45% 자동 전투(재화 막대 아래 「1-7 · 웨이브 2/3」 정보 띠 64 + 「지도」 칩 96), 옆줄 아이콘 8개 — 왼쪽 미션·출석·우편·이벤트 / 오른쪽 이야기·원정·꾸러미·설정(96, 간격 16, 점). 옆줄 아이콘은 받침 없이 그림 56 + 글자이고, 전장 유닛은 x 124~596 안에서만 움직여 옆줄에 가리지 않는다(legend-of-slime/06 도 아이콘이 전장 안 하늘 쪽에 받침 없이 떠 있고 유닛은 가운데 땅 띠를 걷는다). 가방은 홈에 없고 C04 메뉴 칸에 있다. 전투 바로 아래 안내 미션 카드 112(신설). 그 아래 방치 상자 · 즉시 보상 · 「도전 ▶ 1-8」(+판정 배지). 아래 1/3 가운데 물감 항아리(주인공, 400×264) + 좌 「자동」 우 「판매」. 물감 0 상태: 항아리 위에 「▶ 물감 +30 (5/5)」 광고 버튼(보조 + 광고 변형, 256×96 — 광고 자리 ad_brush)이 겹쳐 나오고, 누르면 J05. 5회를 다 쓰면 숨기지 않고 비활성 「내일 04:00 에 채워져요」. 「보스 도전 ▶ 8-50」은 Jua 32 에서 231px(×1.15 261 · ×1.3 292, 2026-10-14 Jua-Regular.ttf 글자 폭 계산, ▶ 는 아이콘 28)이라 288 버튼 안쪽 256 에 ×1.0 만 들어간다 — ×1.15 부터는 「보스」를 버튼 왼쪽 위 꼬리표로 빼고 글자는 「도전 ▶ 8-50」(192 · 213). 참고 legend-of-slime/06 · seven-knights-idle/05 · cookierun-crumble/01 · bussukeo/04개정 좌표 x·y·w·h (720×1280, 시안 좌표 + 계산)재화 막대 0·0·720·96 ← 0·0·720·88스테이지 띠(명세 「판 정보」) 0·96·720·64 ← 0·88·720·72전투 화면 0·160·720·464 ← 0·160·720·560왼쪽 줄 12·176·96·432 ← 12·180·96·430오른쪽 줄 612·176·96·432 ← 612·180·96·430방치 상자 24·752·192·112 ← 24·730·200·120즉시 보상(명세 「빠른 방치」) 232·752·160·112 ← 236·730·160·120도전(명세 「판 도전」) 408·752·288·112 ← 408·730·288·120자동 열기 24·944·120·104 ← 24·880·120·100물감 항아리 160·880·400·264 ← 160·870·400·270판매 설정 576·944·120·104 ← 576·880·120·100아래 탭 0·1160·720·120지도 칩 500·96·96·96 신설광고 물감 232·1032·256·96 신설 |
| B02 | 방치 보상scr_idle_claim | 제목 「방치 보상」 → 「7시간 12분 쉬었어요」 + 막대(상한 24시간) → 보상 칩 4 → 「1-9까지 가면 더 많이 받아요」 힌트 줄(신설, cookierun-crumble/03) → 아래 「받기」(받기 버튼) · 「▶ 2배로 받기 (1/1)」 같은 크기 개정 좌표 x·y·w·h (720×1280, 시안 좌표 + 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·280·624·760 ← 60·300·600·700시간 80·392·560·56 ← 100·340·520·90막대 96·464·528·28 ← 100·440·520·30진행 요약 88·480·540·112 ← 100·480·520·110멈춘 이유 88·596·540·60 ← 100·595·520·60보상 목록 96·560·528·164 ← 100·660·520·160받기 72·880·280·120 ← 100·840·250·110광고 2배 368·880·280·120 ← 370·840·250·110 |
| B03 | 즉시 보상 (빠른 방치)scr_quick_idle | 제목 「즉시 보상」 + 「2시간 치를 받아요」 + 보상 미리보기 칩. 무료 버튼 글자는 「2시간 치 받기」. 버튼 한 줄 3칸 — 무료(1) · ▶ 광고(2) · 빛구슬 50. 빛구슬 버튼 아래 「보유 1,230」(가격비교 방해 회피) 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·296·624·688 ← 60·320·600·640미리보기 88·336·540·260 ← 100·360·520·260무료 88·624·540·96 ← 100·650·520·80광고 88·736·540·96 ← 100·745·520·80빛구슬 88·848·540·96 ← 100·840·520·80 |
| B04 | 지도 (판 지도)scr_stage_map | 위 장 칩 줄 + 「어려움」 토글. 세로 스크롤 길 위 노드 「1-8」, 보스 노드 크게 + 보스 이름. 지금 위치에 브루니 SVG. 아래 「도전」 주 버튼 + 추천 전투력·판정 배지. 아래 가운데 별/보물 진행(battle-cats/01 · cookierun-kingdom/19) 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80장 탭 0·192·720·96 ← 0·168·720·90난이도 520·304·180·96 ← 520·268·180·64스테이지 길(명세 「판 길」) 0·408·720·436 ← 0·340·720·520고른 스테이지 정보(명세 「선택 판 정보」) 24·856·672·192 ← 24·870·672·190편성 24·1056·200·96 ← 24·1070·200·80도전 240·1056·456·96 ← 240·1070·456·80 |
| B05 | 파티 편성scr_party | 위 반 5칸(앞줄 2 · 뒷줄 3, 브루니 칸 「리더」 꼬리표). 아래 반 필터 칩(속성·역할) + 보유 격자 4열. 끌어 놓기 + 눌러 넣기 둘 다. 아래 「저장」. 참고 cookierun-crumble/05 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80프리셋 24·200·672·96 ← 24·176·672·70앞줄(명세 「전열」) 24·308·672·200 ← 24·260·672·200뒷줄(명세 「후열」) 24·520·672·200 ← 24·470·672·200전투력 24·728·672·60 ← 24·680·672·60필터 24·800·672·96 ← 24·750·672·60동료 목록 24·904·672·144 ← 24·820·672·260추천 24·1056·220·96 ← 24·1090·220·64저장 476·1056·220·96 ← 476·1090·220·64 |
| B06 | 전투 (판 도전 전투)scr_battle | 위 띠 「1-8 · 웨이브 2/3 · 0:43」 + 보스 체력. 가운데 전장. 아래 엄지 영역에 초상 5칸(120×200, 간격 16 · 좌우 28 — (720 − margin.screen 24×2 − gap.touch 16×4) ÷ 5 = 121.6 → 120. 1차 시안 144×210 × 5 = 720 은 간격이 0 이라 필살 수동 때 옆 칸을 누른다. 필살 게이지 가득 → 빛남). 초상 위 줄에 배속 · 필살 자동 · Ⅱ. 맨 아래 전투 기록 2줄(아래 앵커 — 안전 영역 안에 두어 제스처 막대와 겹치지 않는다, 2-5). 참고 princess-connect/07 · cookierun-kingdom/07개정 좌표 x·y·w·h (720×1280, 시안 좌표 + 계산)위 막대 0·0·720·100보스 체력 60·112·600·48 ← 60·110·600·50전장 0·168·720·676 ← 0·170·720·700배속 24·880·120·96 ← 24·880·120·70자동 필살 160·880·200·96 ← 160·880·160·70일시정지 576·880·120·96 ← 576·880·120·70동료 초상 0·984·720·212 ← 0·970·720·210전투 기록 0·1196·720·84 ← 0·1190·720·90 |
| B07 | 일시정지scr_pause | 「계속하기」 주 · 「포기하기」 보조. 포기는 확인 한 번 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·408·624·464 ← 120·420·480·440제목 100·436·520·60 ← 160·450·400·60계속 100·528·520·96 ← 160·540·400·90다시 100·640·520·96 ← 160·645·400·90포기 100·756·520·96 ← 160·750·400·90 |
| B08 | 전투 결과scr_battle_result | 승리: 「승리!」 t.display + 보상 칩 줄 + 「다음 ▶ 1-9」 주 · 「다시」 보조. 실패: 원인 1줄(「전투력이 1,200 모자라요」) + 성장 바로가기 카드 3(레벨업·장비·편성)개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·240·624·800 ← 40·240·640·800제목 88·272·544·100 ← 80·270·560·100보상 88·392·544·300 ← 80·390·560·300원인 88·700·544·180 ← 80·700·560·180왼쪽 88·912·264·100 ← 80·910·270·100오른쪽 368·912·264·100 ← 370·910·270·100 |






브루니 한 명의 장비·색·유물을 다루는 묶음입니다. 모든 화면이 「지금 → 다음」 비교를 먼저 보이고 주 버튼을 하나 둡니다. 장비 등급은 틀 색 + 글자, 능력치 차이는 ▲▼ 기호 + 색으로 나타냅니다(P3).
| no | 화면 | 배치 원칙 — 주 버튼 · 핵심 정보 · 참고 |
|---|---|---|
| C01 | 항아리 결과scr_pot_result | 좌우 비교 카드(지금 ↔ 새 장비), 능력치 차이 ▲▼(색 + 기호). 아래 「장착」 「판매」 같은 크기, 더 좋은 쪽에 빛남만 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·260·624·760 ← 40·260·640·760새 장비 88·300·264·420 ← 80·300·270·420장착 중 368·300·264·420 ← 370·300·270·420차이 88·728·544·80 ← 80·730·560·80판매 88·840·264·112 ← 80·840·270·110장착 368·840·264·112 ← 370·840·270·110 |
| C02 | 항아리 정보scr_pot_level | 레벨 + 경험치 막대. 등급 확률표 7행 × (지금 · 다음 레벨) 2열 — 사용 화면 표시. 아래 「레벨업」 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·144·624·996 ← 40·160·640·960레벨 88·176·544·80 ← 80·190·560·80확률표 88·264·544·460 ← 80·280·560·460아이템별 88·736·544·96 ← 80·750·560·60비용 88·840·544·100 ← 80·820·560·100레벨업 88·960·264·112 ← 80·940·270·110즉시 368·960·264·112 ← 370·940·270·110 |
| C03 | 자동 판매·자동 열기scr_autosell | 등급 기준 7칸 선택 줄 + 체크 행(공격형만 남기기 등). 아래 「저장」 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·216·624·868 ← 40·220·640·860판매 기준 88·256·544·200 ← 80·260·560·200예외 88·468·544·100 ← 80·470·560·100자동 장착 88·584·544·100 ← 80·580·560·100자동 열기 88·692·544·200 ← 80·690·560·200확인 164·944·392·100 ← 160·940·400·100 |
| C04 | 브루니scr_bruni | 가운데 브루니 SVG(지금 속성 몸색) + 발밑 그림자, 좌우 장비 칸 3개씩(96 + 등급 틀 + +강화 수치). 위 Lv·전투력, 능력치 접이 목록, 아래 메뉴 칸 5개(강화 · 제작 · 색 바꾸기 · 유물 · 가방 — 각 124×152, 가방 → J07). 강화 가능 칸은 칸 오른쪽 위 ▲ 꼬리표(점 아님 — 4-3) 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88레벨 24·108·672·72 ← 24·100·672·70왼쪽 장비 24·200·152·512 ← 24·190·150·520브루니 192·200·340·512 ← 190·190·340·520오른쪽 장비 544·200·152·512 ← 546·190·150·520세트 24·720·672·60능력치 24·792·672·180 ← 24·790·672·180메뉴 24·988·672·152 ← 24·990·672·150아래 탭 0·1160·720·120 |
| C05 | 장비 강화scr_gear_enhance | 위 칸 6 탭. 가운데 「+7 → +8」 능력치 비교. 비용 칩 + 보유. 아래 「강화」 주(길게 누르면 연속) 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80칸 목록 24·200·672·140 ← 24·176·672·140지금 장비 24·352·672·204 ← 24·330·672·260변화 24·568·672·200 ← 24·600·672·200비용 24·776·672·120 ← 24·810·672·120강화 24·920·328·120 ← 24·950·330·1205회 368·920·328·120 ← 366·950·330·120모두 24·1056·672·96 ← 24·1080·672·70 |
| C06 | 장비 제작scr_craft | 위 등급 탭(영웅~찬란), 목록 행(재료 n/n). 아래 「제작」 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80등급 24·200·672·96 ← 24·176·672·80부위·계열 24·304·672·200 ← 24·266·672·200결과 미리보기 24·520·672·220 ← 24·480·672·260재료 24·752·672·220 ← 24·750·672·220제작 160·1000·400·112 ← 160·1000·400·110 |
| C07 | 색 바꾸기 (색 전환)scr_color | 5색 원형 칩 한 줄 + 상성 그림(아이콘만 — 불씨·새순·물방울·번개·초승달 칩을 화살표로 잇는다). 문구는 색 이름으로 「빨강 → 초록 → 파랑 → 빨강, 노랑 ↔ 보라 서로 강해요」(원소 이름 「불·물」을 화면에 쓰지 않는다). 미리보기 브루니 몸색이 즉시 바뀜. 「바꾸기」 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·260·624·760 ← 40·260·640·760색 고리 128·300·468·400 ← 120·300·480·400미리보기 88·712·544·140 ← 80·710·560·140바꾸기 164·880·392·100 ← 160·880·400·100 |
| C08 | 유물scr_relic | 위 보유 효과 합계 고정. 격자 4열(미보유 faded). 누르면 아래 시트 + 「레벨업」(유물 가루)개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80합계 24·200·672·100 ← 24·176·672·100격자 24·312·672·520 ← 24·290·672·560선택 24·844·672·200 ← 24·860·672·200강화 160·1056·400·96 ← 160·1070·400·80 |


수집 루프의 끝입니다. 목록(D01)은 4열 격자, 상세(D02)는 위 반 그림 · 아래 반 탭입니다. 탭 다섯(D03~D07)은 같은 틀 — 「지금 → 다음」 미리보기 + 재료 칩 + 주 버튼 하나 — 을 공유합니다.
| no | 화면 | 배치 원칙 — 주 버튼 · 핵심 정보 · 참고 |
|---|---|---|
| D01 | 동료 목록scr_roster | 필터 칩 줄(속성·역할·등급) + 정렬 + 「보유만」. 카드 격자 4열 156×224(그림 칸 112 고정 · 비율 유지 contain, ★ · Lv · 등급 띠 40 은 카드 아래에서부터 고정 자리로 쌓아 띠가 카드 밖으로 밀리지 않는다 + 속성 칩). 그림이 없거나 못 읽으면 속성색 원 + 첫 글자. 보유 수 「10/15」의 분모는 그 시점 공개된 동료 수다 — 출시 W0 = 15, W5 공개 뒤 53. characters.json 전체 60 을 쓰지 않는다(공개 전 동료가 분모에 들어가면 영영 못 채운다). 미보유는 faded + 회색 실루엣 + 「아직 못 만났어요」 + 「얻는 곳 ›」(누르면 X02 — 그 동료가 나오는 배너). 조각 수는 띄우지 않는다(cmp_card 미보유). 필터 줄은 속성 칩 5 × 96 + 간격 16 + 「보유만」, 다음 줄에 「역할 ▾」「등급 ▾」「정렬 ▾」(cmp_dropdown). 참고 seven-knights-idle/02 · princess-connect/05개정 좌표 x·y·w·h (720×1280, 시안 좌표 + 계산)재화 막대 0·0·720·96 ← 0·0·720·88필터 24·104·544·96 ← 24·100·672·70정렬 360·216·256·96 ← 24·180·420·60보유 토글 584·104·112·96 ← 456·180·240·60카드 24·328·672·704 ← 24·250·672·830편성 24·1048·672·96 ← 24·1090·672·60아래 탭 0·1160·720·120 |
| D02 | 동료 상세scr_char | 위 반 서 있는 그림(SVG) + 이름·★·등급·속성·역할. 가운데 탭 줄(레벨 · 승급 · 각성 · 스킬 · 우정 · 이야기). 아래 탭 내용. 맨 아래 ◀ ▶ 넘기기 개정 좌표 x·y·w·h (720×1280, 시안 좌표 + 계산)재화 막대 0·0·720·96 ← 0·0·720·88그림 0·96·720·296 ← 0·88·720·420이름 24·392·672·112 ← 24·400·672·100탭 0·512·720·96 ← 0·510·720·80탭 내용 24·616·672·544 ← 24·600·672·470넘기기 0·1176·720·96 ← 0·1080·720·70 |
| D03 | 레벨업 (탭)scr_char_level | 「Lv 12 → 13」 능력치 ▲, 열매·골드 칩, 「레벨업」 주(길게 누르면 연속) + 「최대로」 보조 개정 좌표 x·y·w·h (720×1280, 시안 좌표 + 계산)탭 영역 24·616·672·544 ← 24·600·672·470레벨 24·628·672·64 ← 48·620·624·80능력치 24·704·672·240 ← 48·710·624·160비용 24·960·672·80 ← 48·880·624·60+1 24·1048·416·112 ← 48·960·190·90456·1048·240·112 ← 462·960·210·90 |
| D04 | 승급 (탭)scr_char_star | ★ 줄 미리보기, 동료 조각 n/n(+만능 조각 쓰기 토글), 「승급」 개정 좌표 x·y·w·h (720×1280, 계산)탭 영역 24·616·672·544 ← 24·600·672·470별 48·636·624·88 ← 48·620·624·90조각 48·736·624·100 ← 48·720·624·100무지개 48·848·624·96 ← 48·830·624·80비용 48·952·624·48 ← 48·920·624·50승급 160·1012·400·96 ← 160·980·400·80 |
| D05 | 각성 (탭)scr_char_awaken | 각성 0~5 칸 줄, 깨움돌·정수·골드 칩, 「각성」 개정 좌표 x·y·w·h (720×1280, 계산)탭 영역 24·616·672·544 ← 24·600·672·470단계 48·636·624·120 ← 48·620·624·120효과 48·768·624·88 ← 48·750·624·90비용 48·864·624·112 ← 48·850·624·110각성 48·992·300·96 ← 48·975·300·88정수 만들기 372·992·300·96 ← 372·975·300·88 |
| D06 | 스킬 (탭)scr_char_skill | 스킬 3행(기본 공격 · 필살기 · 패시브), 행마다 Lv + 스킬북 칩 + 「강화」 보조. 주 버튼 없음(행이 셋이라) 개정 좌표 x·y·w·h (720×1280, 계산)탭 영역 24·616·672·544 ← 24·600·672·470스킬 3줄 48·636·624·300 ← 48·620·624·300비용 48·944·624·48 ← 48·930·624·50강화 160·1008·400·96 ← 160·990·400·70 |
| D07 | 우정 (탭) (인연)scr_char_bond | 우정 Lv 막대(분홍) + 선물 격자 + 「이야기 2화 열림까지 Lv5」 개정 좌표 x·y·w·h (720×1280, 계산)탭 영역 24·616·672·544 ← 24·600·672·470우정(명세 「인연」) 48·636·624·88 ← 48·620·624·90이야기 48·736·624·80 ← 48·720·624·80선물 48·824·624·180 ← 48·810·624·180주기 160·1016·400·96 ← 160·1000·400·60 |
| D08 | 동료 이야기 목록scr_char_story_list | 3화 세로 카드, 잠긴 카드에 「우정 Lv3에 열려요」 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80화 3줄 24·224·672·576 ← 24·200·672·600우정(명세 「인연」) 24·820·672·80 |


돈과 직접 닿는 화면이라 P5 가 가장 먼저 적용됩니다. 확률 버튼은 모집 버튼과 같은 화면 · 같은 높이(96)이고, 1회·10회는 같은 크기로 나란히 둡니다. 새 배너는 빨간 점 대신 「NEW」 꼬리표입니다.
| no | 화면 | 배치 원칙 — 주 버튼 · 핵심 정보 · 참고 |
|---|---|---|
| E01 | 모집scr_recruit | 배너 탭 줄(첫걸음 · 픽업 · 상시 · 색 축제 · 광고) — 새 배너는 점 대신 「NEW」 꼬리표. 배너 그림 432(화면 명세 520 에서 줄임 — 520 이면 1280 안에 아래가 다 안 들어간다, 화면 시안 E01. 재화 막대가 96 이 되며 440 → 432). 그 아래 확률 · 기록 · 「모집 도장 132/200」 버튼 한 줄(「모집 도장」은 줄이지 않는다 — 5-1 #16)(전부 높이 96, 도장 막대 bar.stamp). 보장 문구. 「1회」 「10회」 같은 크기 나란히(120), 둘 다 보조 버튼 · 같은 채움 · 주 버튼 없음(비싼 10회만 청록으로 채우면 uiux 08장 2.2 잘못된 계층구조). 재화가 모자란 버튼만 「재화 부족」 상태(3장). 법정 문구 3문장은 t.body(캡션 크기로 줄이지 않는다) — 폭 640 에서 4줄, 상자 높이(위아래 여백 16 포함) ×1.0 184 · ×1.15 209 · ×1.3 234. 글자를 키우면 늘어난 만큼 배너가 줄어든다(×1.15 432 · ×1.3 400) — 픽업 동료 얼굴·이름·남은 기간은 배너 위 400 안에 둔다. 참고 capybara-go/03개정 좌표 x·y·w·h (720×1280, 시안 좌표 + 계산)재화 막대 0·0·720·96 ← 0·0·720·88배너 목록 0·96·720·96 ← 0·88·720·110배너 그림 0·192·720·432 ← 0·198·720·520확률 24·636·200·96 ← 24·730·200·64기록 240·636·200·96 ← 240·730·200·64모집 도장(명세 「별가루」) 456·636·240·96 ← 456·730·240·64확정 안내 24·744·672·64 ← 24·806·672·601회 24·816·324·120 ← 24·880·330·13010회 372·816·324·120 ← 366·880·330·130법정 문구 24·952·672·196 ← 24·1020·672·130아래 탭 0·1160·720·120 |
| E02 | 확률 정보scr_rates | 등급 머리 + 동료·아이템마다 한 줄(개별 확률 누락 금지 — ux.md §6-2). 아래 「홈페이지에서 보기」 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·88·624·1104 ← 20·100·680·1080제목 72·108·568·72 ← 50·120·620·70탭 68·188·588·96 ← 40·200·640·70표 68·292·588·760 ← 40·280·640·760홈페이지(명세 「누리집」) 68·1060·368·100 ← 40·1050·400·100닫기 452·1060·200·100 ← 460·1050·220·100 |
| E03 | 모집 연출scr_recruit_anim | 오른쪽 위 「넘기기」 늘(0.5초 뒤 나타남). SSR 은 속성색 컷인 띠 개정 좌표 x·y·w·h (720×1280, 계산)배경 0·0·720·1280항아리 208·420·300·300 ← 210·420·300·300건너뛰기 520·40·180·96 ← 520·40·180·80 |
| E04 | 모집 결과scr_recruit_result | 1회 = 카드 하나 크게. 10회 = 2×5 격자, SSR 금빛·새 동료 「NEW」·중복은 「도토 조각 +n」(동료 조각). 아래 「한 번 더 10회」 보조 · 「확인」 주 — 빛구슬이 모자라면 「한 번 더」는 「재화 부족」(3장). 「NEW」는 모집 전 보유 목록에 없던 동료에만 개정 좌표 x·y·w·h (720×1280, 시안 좌표 + 계산)배경 0·0·720·1280카드 24·204·672·640 ← 24·120·672·760모집 도장(명세 「별가루」) 24·868·672·96 ← 24·900·672·60한 번 더 24·1000·324·120 ← 24·1000·330·120확인 372·1000·324·120 ← 366·1000·330·120 |
| E05 | 모집 도장 교환 (별가루 교환)scr_stardust | 「모집 도장 200개를 모으면 원하는 동료 1명」 + 막대. 고를 동료 격자. 「교환」(200 미만 비활성) 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·200·624·880 ← 40·200·640·880보유 88·232·544·72 ← 80·230·560·70후보 88·312·544·560 ← 80·310·560·560교환 164·900·392·112 ← 160·900·400·110 |
| E06 | 모집 기록scr_recruit_log | 목록 행(시각 · 배너 · 결과 등급 띠) 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·116·624·1048 ← 20·120·680·1040목록 68·196·588·820 ← 40·200·640·820닫기 248·1036·220·96 ← 240·1040·240·90 |

읽는 화면이라 글자는 t.long(32px, 줄 간격 1.6)을 씁니다. 넘기기·자동·기록은 늘 오른쪽 위에 같은 순서로 둡니다.
| no | 화면 | 배치 원칙 — 주 버튼 · 핵심 정보 · 참고 |
|---|---|---|
| F01 | 이야기scr_story_hub | 위 탭(본편 · 동료 이야기). 장 카드 세로, 펼치면 화 목록, 안 본 화에 점 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80탭 0·192·720·96 ← 0·168·720·80장 카드 24·300·672·300 ← 24·260·672·300화 목록 24·608·672·540 ← 24·570·672·580 |
| F02 | 이야기 보기scr_story_view | 서 있는 그림 좌우, 아래 대화창(t.long). 오른쪽 위 「기록」「자동」「넘기기」. 선택지는 세로 보조 버튼개정 좌표 x·y·w·h (720×1280, 계산)배경 0·0·720·1280메뉴 0·0·720·88 ← 0·0·720·90인물 60·300·600·576선택지 80·560·560·260이름표 40·900·260·60대사 상자 20·960·680·280 |
| F03 | 대사 기록scr_story_log | 이름 + 대사 행 스크롤, 최신이 아래 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·72·624·1136 ← 20·80·680·1120목록 68·92·588·980 ← 40·100·640·980닫기 248·1092·220·96 ← 240·1100·240·80 |
| F04 | 이야기 넘기기scr_story_skip | 줄거리 3~5줄 + 「넘기기」 주 · 「계속 보기」 보조 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·360·624·560 ← 60·360·600·560요약 88·400·540·300 ← 100·400·520·300넘기기 88·740·256·100 ← 100·740·250·100계속 368·740·256·100 ← 370·740·250·100 |

모드 허브는 큰 타일 + 작은 타일 구성입니다(princess-connect/03). 잠긴 타일은 숨기지 않고 자물쇠 + 열리는 조건을 보입니다. 원정 알림 점은 첫 진입 뒤 끄고 타일의 「남은 열쇠 n」 꼬리표로 넘깁니다.
| no | 화면 | 배치 원칙 — 주 버튼 · 핵심 정보 · 참고 |
|---|---|---|
| G01 | 원정scr_expedition | 큰 타일 3(일일 던전 · 주간 토벌 · 시련의 등대) + 가로 타일(원정 상점). 타일에 남은 열쇠·횟수 꼬리표, 잠긴 타일은 자물쇠 + 조건. 참고 princess-connect/03 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80열쇠 24·200·672·60 ← 24·176·672·60골드 동굴 24·272·672·152 ← 24·250·672·150열매 숲(명세 「물감 샘」) 24·440·672·152 ← 24·410·672·150스킬북 서고(명세 「비결 서고」) 24·608·672·152 ← 24·570·672·150주간 토벌 24·776·672·152 ← 24·730·672·150시련의 등대(명세 「시련의 탑」) 24·944·672·152 ← 24·890·672·150원정 상점 24·1112·672·100 ← 24·1050·672·100 |
| G02 | 일일 던전 입장scr_dungeon | 위 탭(골드 동굴 · 열매 숲 · 스킬북 서고), 단계 목록, 보상 칩, 「입장」 주 · 「소탕」 보조 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·220·624·840 ← 40·220·640·840그림 88·248·544·260 ← 80·250·560·260규칙 88·520·544·140 ← 80·520·560·140보상 88·672·544·140 ← 80·670·560·140입장 88·840·264·112 ← 80·840·270·110광고 368·840·264·112 ← 370·840·270·110 |
| G03 | 주간 토벌scr_raid | 보스 그림 위, 누적 피해 단계 막대 + 단계 보상 칩. 「도전 (남은 2)」 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80보스 0·200·720·396 ← 0·176·720·420기록 24·608·672·100 ← 24·610·672·100단계 보상 24·720·672·300편성 24·1040·200·100도전 240·1040·456·100 |
| G04 | 시련의 등대 (시련의 탑)scr_tower | 세로 층 목록(아래가 1층), 지금 층 강조 + 불 켜진 층. 「도전」 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80층 목록 24·200·672·712 ← 24·176·672·760층 정보 24·928·672·120 ← 24·950·672·120도전 160·1056·400·96 ← 160·1080·400·70 |

남은 시간 꼬리표는 실제 종료 시각과 같아야 합니다. 끝난 같은 구성을 곧바로 다시 「한정」으로 올리지 않습니다(다크패턴 2.3 거짓 할인 쪽).
| no | 화면 | 배치 원칙 — 주 버튼 · 핵심 정보 · 참고 |
|---|---|---|
| H01 | 이벤트scr_event | 위 배너 + 남은 시간 꼬리표, 이벤트 미션 목록, 「이벤트 스테이지」「이벤트 상점」 타일. 참고 cookierun-kingdom/10 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80이벤트 탭 0·192·720·96 ← 0·168·720·80배너 0·288·720·300 ← 0·248·720·300주화 24·600·672·60 ← 24·560·672·60이벤트 스테이지(명세 「이벤트 판」) 24·672·672·320 ← 24·630·672·360버튼 줄 24·1000·672·152 ← 24·1000·672·150 |
| H02 | 이벤트 상점scr_event_shop | 위 주화 잔액, 상품 격자 3열(남은 교환 수) 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80주화 24·200·672·60 ← 24·176·672·60품목 24·272·672·876 ← 24·250·672·900 |

상점 본화면은 레퍼런스 수집본에 없습니다(patterns.md §0). 그래서 배치는 규정에서 거꾸로 짰습니다 — 원화 가격, 같은 크기의 결제·취소, 결제 버튼 바로 위 청약철회 한 줄, 「확률형」 꼬리표.
| no | 화면 | 배치 원칙 — 주 버튼 · 핵심 정보 · 참고 |
|---|---|---|
| I01 | 상점scr_shop | 위 탭(추천 · 빛구슬 · 꾸러미 · 정기권 · 일반 · 원정). 「추천」 탭은 지금 받을 수 있는 무료 것만 — 즉시 보상 무료 · 한 달 정기권 오늘분 · 성장 패스 받을 칸 · ▶ 광고 보고 받기(유료 상품은 빛구슬 · 꾸러미 · 정기권 · 일반 탭에만, uiux 08장 2.4). 상품 카드 2열 — 이름 · 구성 칩 · 남은 기간(실제 종료 시각) · 가격 버튼 = 보조 버튼(흰 면 + t.num 원화 가격)(cmp_btn_secondary 가격 변형 — 카드가 여럿이라 주 버튼 청록을 쓰지 않는다, P2). 「확률형」 꼬리표. 아래 「결제 내역 · 청약철회 안내 ›」개정 좌표 x·y·w·h (720×1280, 시안 좌표 + 계산)재화 막대 0·0·720·96 ← 0·0·720·88탭 0·96·720·96 ← 0·88·720·90상품 목록 24·204·672·876 ← 24·190·672·900하단 안내 24·1088·672·64 ← 24·1100·672·50아래 탭 0·1160·720·120 |
| I02 | 구매 확인scr_purchase | 구성 목록 → 원화 가격 → 결제 버튼 바로 위 청약철회 한 줄 → 「결제」 주 · 「취소」 보조 같은 크기. 체크박스 미리 선택 없음 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·180·624·920 ← 40·180·640·920상품 88·208·544·200 ← 80·210·560·200구성 88·420·544·220 ← 80·420·560·220고지 88·648·544·260 ← 80·650·560·260결제 88·952·544·112 ← 80·950·560·110 |
| I03 | 결제 결과scr_purchase_result | 성공(보상 칩) / 지연(「우편함으로 보내 드려요」) / 실패(이유 + 문의). 주 버튼 「확인」 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·376·624·528 ← 60·380·600·520상태 그림 256·416·208·160 ← 260·420·200·160문구 88·596·540·160 ← 100·600·520·160버튼 152·788·416·96 ← 160·790·400·90 |
| I04 | 정기권·성장 패스scr_pass | 위 한 달 정기권 카드(남은 일수 · 오늘 받기 · 다음 결제일·금액). 아래 성장 패스 두 줄(무료/유료) 가로 스크롤 + 「모두 받기」. 광고 생략권 카드(범위 문장) 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80정기권 24·200·672·220 ← 24·176·672·220패스 머리 24·432·672·88 ← 24·410·672·90패스 칸 24·536·672·496 ← 24·510·672·520모두 받기 24·1040·328·100 ← 24·1040·330·100패스 구매 368·1040·328·100 ← 366·1040·330·100 |
| I05 | 원정 상점scr_seal_shop | 위 원정 주화 잔액 + 새로고침 남은 시간. 고정 6 + 무작위 6 격자. 맨 아래 새로고침 줄 두 칸 같은 크기 — 왼 「▶ 새로고침 (2/2)」 광고(ad_shop → J05) · 오른 「새로고침」(무료 1 → 다 쓰면 빛구슬 30 + 「보유 n」). 수량은 cmp_stepper개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80원정 주화(명세 「증표」) 24·200·672·60 ← 24·176·672·60고정 24·272·672·356 ← 24·250·672·380무작위 24·640·672·380새로고침 368·1040·328·100 ← 24·1040·672·100광고 새로고침 24·1040·328·100 신설 |
| I06 | 결제 내역scr_paid_history | 유료 빛구슬 잔액 위, 결제 목록 행, 아래 청약철회 안내 문단 t.long개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80잔액 24·200·672·120 ← 24·176·672·120목록 24·336·672·592 ← 24·310·672·640안내 24·936·672·120 ← 24·960·672·120문의 160·1064·400·96 ← 160·1090·400·70 |
미션·출석·우편·보상 획득·광고 확인·새 기능 열림·가방이 모인 묶음입니다. 「받기」류는 늘 화면 아래쪽(P1), 광고 확인은 두 버튼 같은 크기(P5), 새 기능 열림은 한 번에 하나(4-4)입니다.
| no | 화면 | 배치 원칙 — 주 버튼 · 핵심 정보 · 참고 |
|---|---|---|
| J01 | 미션scr_mission | 위 탭(일일 · 주간 · 업적), 활동 점수 상자 막대, 목록 행(과제 · n/n · 보상 칩 · 가기/받기). 아래 고정 「모두 받기」 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80탭 0·192·720·96 ← 0·168·720·80진행 상자 24·300·672·128 ← 24·260·672·130목록 24·440·672·600 ← 24·400·672·650모두 받기 160·1052·400·96 ← 160·1060·400·90 |
| J02 | 출석scr_attendance | 7열 × 4행 = 28칸, 오늘 칸 크게 빛남, 받은 칸은 「받음」 체크(도장 그림·글자를 쓰지 않는다 — 화면의 「도장」은 모집 도장 하나). 「받기」 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·180·624·940 ← 20·180·680·940제목 84·208·552·72 ← 60·210·600·70칸 68·288·588·640 ← 40·290·640·640받기 176·960·368·112 ← 160·960·400·110 |
| J03 | 우편함scr_mail | 목록 행(보낸 이 · 내용 · 만료 「2일 남음」), 만료 1일 전 숫자 점. 아래 「모두 받기」 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80탭 0·192·720·96 ← 0·168·720·80목록 24·300·672·744 ← 24·260·672·790모두 받기(명세 「모두 수령」) 160·1052·400·96 ← 160·1060·400·90 |
| J04 | 보상 획득scr_reward | 보상 칩 격자 가운데(5열), 「확인」. 처음 얻은 것 「NEW」 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·396·624·488 ← 60·400·600·480제목 88·428·540·72 ← 100·430·520·70아이콘 88·508·540·240 ← 100·510·520·240확인 152·764·416·96 ← 160·770·400·90 |
| J05 | 광고 보상 확인scr_ad_confirm | 받을 보상 칩 + 「짧은 광고를 보면 받아요」 + 「오늘 남은 2/3」. 「▶ 광고 보고 받기」 · 「괜찮아요」 같은 크기. 실패 문구 「지금은 광고를 불러올 수 없어요. 잠시 뒤 다시 해 주세요.」(횟수 안 깎음) 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·440·624·400 ← 80·440·560·400문구 92·480·536·160 ← 120·480·480·160보기 92·680·260·100 ← 120·680·230·100취소 368·680·260·100 ← 370·680·230·100 |
| J06 | 새 기능 열림scr_unlock | 기능 아이콘 크게 + 한 줄 설명(20자 안팎) + 「가 보기」 주 · 「나중에」 보조. 한 번에 하나만(ux.md §7) 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·340·624·600 ← 60·340·600·600그림 216·380·292·200 ← 220·380·280·200문구 88·600·540·160 ← 100·600·520·160가기 88·800·256·100 ← 100·800·250·100닫기 368·800·256·100 ← 370·800·250·100 |
| J07 | 가방scr_bag | 들어오는 곳 C04 메뉴 「가방」 · C05. 위 탭(장비 · 재료 · 소모품), 격자 5열 + 칸 수 n/60, 누르면 아래 시트 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80탭 0·192·720·96 ← 0·168·720·80격자 24·300·672·636 ← 24·260·672·700선택 24·944·672·112 ← 24·970·672·110버튼 24·1064·672·96 ← 24·1090·672·70 |
| J08 | 정수 합성scr_essence_merge | 하 → 중 → 상 세 칸 화살표, 수량 cmp_stepper(− · 수량 · + · 최대), 「합성」개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·140·624·1000 ← 40·160·640·960제목 88·160·488·80 ← 80·180·500·80닫기 576·140·96·96 ← 592·160·88·88속성 칩 88·260·544·96 ← 80·270·560·88단계 탭 88·372·544·96 ← 80·370·560·88재료 칸 88·492·240·200 ← 80·480·250·200결과 칸 392·492·240·200 ← 390·480·250·200필요 줄 88·712·544·60 ← 80·700·560·60빼기 88·792·96·96 ← 80·780·88·88수량 200·792·216·96 ← 180·780·240·88더하기 432·792·96·96 ← 432·780·88·88최대 544·792·128·96 ← 532·780·108·88상태 문구 88·908·544·60 ← 80·890·560·60합성 164·988·392·100 ← 160·970·400·100 |
설정에 접근성 항목(글자 크기 3단 · 움직임 줄이기)과 알림 분리(정보 / 이벤트·상품)를 둡니다. 계정 삭제는 설정에서 두 번 안에 닿습니다(공정위 가이드라인 3.1 취소·탈퇴 방해).
| no | 화면 | 배치 원칙 — 주 버튼 · 핵심 정보 · 참고 |
|---|---|---|
| K01 | 설정scr_settings | 묶음 목록 행: 소리 · 알림(정보 / 이벤트·상품 따로) · 전투 · 화면(글자 크기 3단 · 움직임 줄이기) · 계정 · 고객 지원 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80소리 24·200·672·152 ← 24·176·672·150알림 24·360·672·112 ← 24·336·672·110전투 24·480·672·112 ← 24·456·672·110화면 24·600·672·112 ← 24·576·672·110언어 24·720·672·96 ← 24·696·672·70계정 24·832·672·112 ← 24·776·672·110지원 24·952·672·124 ← 24·896·672·180버전 24·1088·672·60 ← 24·1090·672·60 |
| K02 | 계정·저장scr_account | 백업 상태·시각, 「지금 백업」 주, Play 게임즈 연동, 맨 아래 「계정 삭제」(설정에서 두 번 안에 닿음) 개정 좌표 x·y·w·h (720×1280, 계산)재화 막대 0·0·720·96 ← 0·0·720·88머리줄 0·96·720·96 ← 0·88·720·80연동 24·200·672·128 ← 24·176·672·160백업 24·336·672·160 ← 24·346·672·160복원 24·508·672·120 ← 24·516·672·120계정 ID 24·640·672·100 ← 24·646·672·100탈퇴 24·1032·672·96 ← 24·1040·672·90 |
| K03 | 고객 문의scr_support | 계정 번호 복사 + 「메일로 문의하기」 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·320·624·640 ← 60·320·600·640분류 88·360·540·300 ← 100·360·520·300자동 첨부 88·680·540·120 ← 100·680·520·120메일 152·832·416·100 ← 160·830·400·100 |
| K04 | 절전scr_sleep | 검정에 가까운 #0B0910 바탕, 가운데 경과 시간 · 얻은 골드, 「두 번 누르면 깨어나요」개정 좌표 x·y·w·h (720×1280, 계산)검정 0·0·720·1280시각 160·420·400·120획득 160·560·400·160풀기 112·1000·500·120 ← 110·1000·500·120 |
| K05 | 공통 오류scr_error | 이유 한 줄 + 「다시 시도」 주 · 「닫기」 보조 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·440·624·400 ← 80·440·560·400문구 92·480·536·180 ← 120·480·480·180다시 92·688·260·100 ← 120·690·230·100닫기 368·688·260·100 ← 370·690·230·100 |
| K06 | 종료 확인scr_quit | 「게임을 끌까요? 방치 모험은 계속돼요」 + 「끄기」 보조 · 「계속하기」 주 개정 좌표 x·y·w·h (720×1280, 계산)어둡게 0·0·720·1280패널(명세 「판」) 48·476·624·328 ← 120·480·480·320문구 100·508·520·120 ← 160·510·400·120예 100·668·248·96 ← 160·670·190·90아니요 372·668·248·96 ← 370·670·190·90 |
문서가 요구하는데 화면 명세(screens.json 65개)에 id 가 없던 것입니다. 상품 팝업(4-4 「7일간 보지 않기」)과 재화 부족 공통의 「얻는 곳」 팝업을 보조 화면 X01 · X02 로, A04 · B07 · K02 의 두 번째 확인을 공용 부품 cmp_confirm 으로 두었습니다. 좌표는 uiux/data/layout_extra.json 입니다.
| no | 화면 | 배치 원칙 · 좌표 |
|---|---|---|
| X01 | 상품 팝업(부팅 팝업 줄)scr_offer | 공지(A05) 다음 칸에서 하루 1번까지. 튜토리얼 동안은 띄우지 않는다. 제목 띠 → 상품 그림 → 구성 칩 → 원화 가격 · 실제 종료 시각 → 「7일간 보지 않기」(cmp_check, 꺼짐 기본) → 「괜찮아요」 보조 · 「상점에서 보기」 주 같은 크기. 결제로 바로 가지 않고 I01 그 카드로 간다(결제는 늘 I02). 거절한 상품은 7일간 배너로만들어오는 곳 — 부팅 팝업 줄 — 공지(A05) 다음 칸. 튜토리얼(T01~T17) 동안은 띄우지 않는다어둡게 0·0·720·1280 cmp_popup — dim 60%패널 48·220·624·840 cmp_popup 폭 624제목 띠 48·220·624·88 surface.night 88 + t.title.s닫기 576·216·96·96 ✕ 96 — 닫기 금지형 아님상품 그림 96·332·528·256 그림 + 「확률형」 꼬리표(해당 상품만)구성 96·604·528·112 cmp_chip_reward — 누르면 이름·얻는 곳가격·기간 96·728·528·64 원화 가격 t.num + 실제 종료 시각(4-4)7일간 보지 않기 96·808·528·96 cmp_check — 꺼짐이 기본(미리 켜지 않음). 켜고 닫으면 7일간 이 상품은 배너로만닫기 버튼 72·936·280·96 cmp_btn_secondary — 오른쪽과 같은 크기(P5)상점에서 보기 368·936·280·96 cmp_btn_primary — 결제로 바로 가지 않고 I01 그 카드로. 결제는 늘 I02 를 지난다 |
| X02 | 얻는 곳(획득처) 팝업scr_source | 재화 부족 토스트의 「얻는 곳」·보상/비용 칩 누름·D01 미보유 카드에서 열린다(screens.json common 「재화 부족 공통」). 제목 「○○을 얻는 곳」 → 보유/필요 → 얻는 곳 행 96(cmp_row — 아이콘 · 이름 · 「가기」). 잠긴 곳은 자물쇠 + 「스테이지 1-15 에서 열려요」, 「가기」 없음. 판매 상품(꾸러미)은 맨 아래 행에만, 점·빛남 없이. 주 버튼 없음들어오는 곳 — 재화·재료 부족 토스트의 「얻는 곳」 · 보상 칩·비용 칩 누름 · D01 미보유 카드 「얻는 곳 ›」 (screens.json common 「재화 부족 공통」)어둡게 0·0·720·1280 2겹째가 될 수 있다 — 아래가 팝업이면 그 위 1겹(최대 2겹)패널 48·340·624·600 cmp_popup제목 띠 48·340·624·88 「○○을 얻는 곳」닫기 576·336·96·96 ✕ 96보유 96·444·528·56 t.num — 모자란 쪽만 warn.text얻는 곳 목록 72·512·576·336 cmp_row — 아이콘 64 · 이름 · 「가기」 보조 104×96. 잠긴 곳은 자물쇠 + 「스테이지 1-15 에서 열려요」, 「가기」 없음확인 200·868·320·96 cmp_btn_secondary — 이 팝업엔 주 버튼이 없다(고를 것이 목록 행이라) |
| cmp_confirm | 2겹 확인 팝업(공용)ui/popup_confirm2 | A04 저장 고르기 확인 · B07 포기 확인 · K02 계정 삭제 확인 — 아래 팝업 위 2겹째 들어오는 곳 — A04 저장 고르기 확인 · B07 포기 확인 · K02 계정 삭제 확인 — 아래 팝업 위 2겹째어둡게 0·0·720·1280 아래 팝업까지 덮는다패널 48·436·624·408 cmp_confirm — 높이 408 고정, 바깥 눌러도 닫히지 않음제목 띠 48·436·624·88 질문형 한 줄문구 96·548·528·152 t.body — 무엇을 잃는지 한 줄 이상되돌릴 수 없음 쪽 72·724·280·96 cmp_btn_secondary — 왼쪽. K02 는 글자 warn.text + 3초 뒤 활성안전한 쪽 368·724·280·96 cmp_btn_primary — 오른쪽(팝업 버튼 줄 규칙). 두 버튼 같은 크기 |
명세에서 kind = btn 인데 높이나 폭이 96 미만이던 버튼입니다. 왼쪽이 명세 좌표, 오른쪽이 개정 좌표(x·y·w·h)입니다.
| 화면 | 버튼 | 명세 글자 | 명세 | 개정 | 이유 |
|---|---|---|---|---|---|
| A02 | 이용약관 | ☐ (필수) 이용약관 보기 › | 40·360·640·90 | 40·360·640·96 | R3 높이 96 |
| A02 | 개인정보 | ☐ (필수) 개인정보 처리방침 보기 › | 40·460·640·90 | 40·472·640·96 | R3 높이 96 |
| A02 | 알림 | ☐ (선택) 방치 가득·이벤트 알림 받기 | 40·560·640·90 | 40·584·640·96 | R3 높이 96 |
| A03 | 스토어로 | 스토어에서 업데이트 | 160·740·400·90 | 136·736·444·96 | R3 높이 96 · R5 가로 ×1.11 |
| A05 | 오늘 그만 | ☐ 오늘 다시 보지 않기 | 80·960·280·80 | 88·960·272·96 | R3 높이 96 · R5 가로 ×0.97 |
| A05 | 닫기 | 닫기 | 380·960·260·80 | 380·960·252·96 | R3 높이 96 · R5 가로 ×0.97 |
| B03 | 무료 | 무료로 받기 (1/1) | 100·650·520·80 | 88·624·540·96 | R3 높이 96 · R5 가로 ×1.04 |
| B03 | 광고 | ▶ 광고 보고 받기 (2/2) | 100·745·520·80 | 88·736·540·96 | R3 높이 96 · R5 가로 ×1.04 |
| B03 | 빛구슬 | 빛구슬 50 으로 받기 (0/3) | 100·840·520·80 | 88·848·540·96 | R3 높이 96 · R5 가로 ×1.04 |
| B04 | 난이도 | 보통 | 어려움 | 520·268·180·64 | 520·304·180·96 | R3 높이 96 |
| B04 | 편성 | 편성 | 24·1070·200·80 | 24·1056·200·96 | R3 높이 96 |
| B04 | 도전 | 도전 ▶ | 240·1070·456·80 | 240·1056·456·96 | R3 높이 96 |
| B05 | 추천 | 추천 편성 | 24·1090·220·64 | 24·1056·220·96 | R3 높이 96 |
| B05 | 저장 | 저장 | 476·1090·220·64 | 476·1056·220·96 | R3 높이 96 |
| B06 | 배속 | ×1 / ×2 | 24·880·120·70 | 24·880·120·96 | 시안 B06 |
| B06 | 자동 필살 | 필살 자동 | 160·880·160·70 | 160·880·200·96 | 시안 B06 |
| B06 | 일시정지 | Ⅱ | 576·880·120·70 | 576·880·120·96 | 시안 B06 |
| B07 | 계속 | 계속하기 | 160·540·400·90 | 100·528·520·96 | R3 높이 96 · R5 가로 ×1.30 |
| B07 | 다시 | 처음부터 | 160·645·400·90 | 100·640·520·96 | R3 높이 96 · R5 가로 ×1.30 |
| B07 | 포기 | 그만두기 | 160·750·400·90 | 100·756·520·96 | R3 높이 96 · R5 가로 ×1.30 |
| C02 | 아이템별 | 아이템별 확률 보기 › | 80·750·560·60 | 88·736·544·96 | R3 높이 96 · R5 가로 ×0.97 |
| C05 | 모두 | 6칸 고르게 강화 | 24·1080·672·70 | 24·1056·672·96 | R3 높이 96 |
| C08 | 강화 | 강화 (중복 1 · 숫돌 10 · 골드) | 160·1070·400·80 | 160·1056·400·96 | R3 높이 96 |
| D01 | 정렬 | 정렬: 전투력 ▾ | 24·180·420·60 | 360·216·256·96 | 시안 D01 — 2줄째(역할·등급 고르기 상자 다음) |
| D01 | 보유 토글 | 미보유도 보기 | 456·180·240·60 | 584·104·112·96 | 시안 D01 — 1줄째 오른쪽 끝 |
| D01 | 편성 | 편성으로 | 24·1090·672·60 | 24·1048·672·96 | 시안 D01 — 아래 탭과 16 띄움 |
| D02 | 넘기기 | ◀ 이전 동료 | 다음 동료 ▶ | 0·1080·720·70 | 0·1176·720·96 | 시안 D02 — 아래 탭이 없어진 자리 |
| E01 | 확률 | 확률 | 24·730·200·64 | 24·636·200·96 | 시안 E01 |
| E01 | 기록 | 기록 | 240·730·200·64 | 240·636·200·96 | 시안 E01 |
| 화면 | 버튼 | 명세 글자 | 명세 | 개정 | 이유 |
|---|---|---|---|---|---|
| E01 | 모집 도장 | 별가루 132/200 | 456·730·240·64 | 456·636·240·96 | 시안 E01 — 「도장 132/200」 |
| E03 | 건너뛰기 | 건너뛰기 ▶▶ | 520·40·180·80 | 520·40·180·96 | R3 높이 96 |
| E06 | 닫기 | 닫기 | 240·1040·240·90 | 248·1036·220·96 | R3 높이 96 · R5 가로 ×0.92 |
| F03 | 닫기 | 닫기 | 240·1100·240·80 | 248·1092·220·96 | R3 높이 96 · R5 가로 ×0.92 |
| G04 | 도전 | 도전 | 160·1080·400·70 | 160·1056·400·96 | R3 높이 96 |
| I03 | 버튼 | 우편함으로 / 확인 | 160·790·400·90 | 152·788·416·96 | R3 높이 96 · R5 가로 ×1.04 |
| I06 | 문의 | 결제 문의하기 | 160·1090·400·70 | 160·1064·400·96 | R3 높이 96 |
| J01 | 모두 받기 | 모두 받기 | 160·1060·400·90 | 160·1052·400·96 | R3 높이 96 |
| J03 | 모두 받기 | 모두 수령 (보상 탭만) | 160·1060·400·90 | 160·1052·400·96 | R3 높이 96 |
| J04 | 확인 | 확인 | 160·770·400·90 | 152·764·416·96 | R3 높이 96 · R5 가로 ×1.04 |
| J07 | 버튼 | 사용 · 판매 · 일괄 판매 · 합성 | 24·1090·672·70 | 24·1064·672·96 | R3 높이 96 |
| J08 | 닫기 | ✕ | 592·160·88·88 | 576·140·96·96 | cmp_popup ✕ 96 — 패널 오른쪽 위 |
| J08 | 빼기 | − | 80·780·88·88 | 88·792·96·96 | cmp_stepper — − · 수량 · + · 최대 한 줄, 간격 16 |
| J08 | 더하기 | + | 432·780·88·88 | 432·792·96·96 | cmp_stepper |
| J08 | 최대 | 최대 | 532·780·108·88 | 544·792·128·96 | cmp_stepper — 패널 안쪽 끝(672)까지 |
| K01 | 언어 | 언어: 한국어 | 24·696·672·70 | 24·720·672·96 | R3 높이 96 |
| K02 | 탈퇴 | 계정 삭제 | 24·1040·672·90 | 24·1032·672·96 | R3 높이 96 |
| K06 | 예 | 그만하기 | 160·670·190·90 | 100·668·248·96 | R3 높이 96 · R5 가로 ×1.30 |
| K06 | 아니요 | 계속 | 370·670·190·90 | 372·668·248·96 | R3 높이 96 · R5 가로 ×1.30 |
| D03 | +1 | +1 | 48·960·190·90 | 24·1048·416·112 | 시안 D02 — 「레벨업」 주 버튼(길게 누르면 연속). +10 은 길게 누르기로 합침 |
| D03 | +10 | +10 | 255·960·190·90 | 삭제 | 시안 D02 — 「레벨업」 길게 누르기로 합침(구역 삭제) |
| D03 | 최대 | 할 수 있는 만큼 | 462·960·210·90 | 456·1048·240·112 | 시안 D02 — 「최대로」 보조 |
| D04 | 무지개 | ☐ 모자란 2개를 무지개 조각으로 | 48·830·624·80 | 48·848·624·96 | R3 높이 96 · D02 탭 칸 이동 +16 |
| D04 | 승급 | 승급 | 160·980·400·80 | 160·1012·400·96 | R3 높이 96 · D02 탭 칸 이동 +16 |
| D05 | 각성 | 각성 | 48·975·300·88 | 48·992·300·96 | R3 높이 96 · D02 탭 칸 이동 +16 |
| D05 | 정수 만들기 | 정수 만들기 › | 372·975·300·88 | 372·992·300·96 | R3 높이 96 · D02 탭 칸 이동 +16 |
| D06 | 강화 | 강화 | 160·990·400·70 | 160·1008·400·96 | R3 높이 96 · D02 탭 칸 이동 +16 |
| D07 | 주기 | 선물하기 | 160·1000·400·60 | 160·1016·400·96 | R3 높이 96 · D02 탭 칸 이동 +16 |
첫 30분의 목표는 두 루프를 한 바퀴씩 돌게 하는 것입니다 — 성장 루프(항아리 → 장착 → 도전)와 수집 루프(모집 → 편성 → 레벨업). 설명을 앞에 몰아 보여 주지 않고, 그 행동을 처음 하는 순간에 한 줄로 알립니다(NN/g 2020-06-21, ux.md [U15]).
| 규칙 | 값 | 근거 |
|---|---|---|
| 강제 단계 말풍선 | 한 줄 20자 안팎 | UI 바이블 4-4 · ux.md §7 |
| 덧말 | 그 행동을 처음 할 때 맥락 도움말로(예: 첫 「판매」 때 「약한 장비는 팔면 골드가 돼요」) | NN/g [U15] |
| 새 기능 열림(J06) | 한 번에 한 장. 두 기능이 같은 스테이지에서 열려도 사이에 전투 한 번 | UI 바이블 4-4 |
| 상품 팝업 | 튜토리얼 안에서는 없음. 상점은 1-5에 열리지만 강조하지 않습니다 | UI 바이블 4-4 · ux.md §7 |
| 잠긴 기능 | 숨기지 않고 자물쇠 + 「스테이지 1-5에서 열려요」 | patterns.md §1 · cmp_tabbar |
| 건너뛰기 | T07 이후 설정 › 「튜토리얼 건너뛰기」 — 보상은 그대로 | screens.json tutorial_rules |
| 강제 단계 강조 | 강조 구역 둘레 8px 밝은 테두리 + 손가락 0.8초 주기, 말풍선은 강조 구역 반대쪽, 나머지는 dim | screens.json tutorial_rules |
| 말하는 이 | 브루니 초상 + 말풍선(브루니 말투). 시스템 문구는 해요체 | screens.json tutorial_rules |
위 줄(취소선)이 지금 명세의 말풍선, 아래 굵은 줄이 바꾼 말풍선입니다. 괄호 속 글자 수는 생성기가 띄어쓰기와 「브루니:」를 빼고 센 값입니다(「바꾼 이유」 칸에는 글자 수를 손으로 적지 않습니다). 20자를 넘는 말풍선: 없음.
| 단계 | 시작 조건 | 화면 | 말풍선 | 방식 | 바꾼 이유 |
|---|---|---|---|---|---|
| T01 | 약관 동의 끝 | F02 이야기 보기 | 1장 1화 「초록곶의 아침」 재생(넘기기 가능) (1장 1화 「초록곶의 아침」) | 넘기기만 | 장면 수를 3장면 이하로 줄이거나 1화 중간에 항아리 한 번을 끼운다(내부 판단 — 첫 탭에서 손맛) |
| T02 | 1화 끝 | B01 모험 | 브루니: 할매가 준 항아리야. 붓으로 톡 치면 물감이 굳어서 장비가 돼! 항아리를 톡 눌러 봐요 (26자 → 9자) | 강제 | 붓 → 물감. 「붓으로 톡 치면 물감이 굳어서 장비가 돼」(28자)의 원리 설명은 C01 첫 결과 화면의 한 줄로 옮깁니다 |
| T03 | 첫 장비 | C01 항아리 결과 | 브루니: 무기가 생겼어! 끼워 볼까? 무기가 생겼어! 장착해 볼까? (12자 → 13자) | 강제 | 브루니 말투 유지. 「끼워 볼까?」의 「끼다」는 반지·장갑에 쓰는 동사라 무기에는 어색해서, 버튼 이름과 같은 「장착」으로 맞췄습니다 |
| T04 | 장착 끝 | B01 모험 | 4번 더 열어 봐요. 약한 장비는 팔아서 골드로 바꿔요. 4번 더 열어 봐요 (23자 → 7자) | 강제 | 판매 설명은 첫 「판매」 누름 때 맥락 도움말 「약한 장비는 팔면 골드가 돼요」로 옮겼습니다 |
| T05 | 항아리 5회 | B01 모험 | 브루니: 저 언덕까지 가 보자. 길에 바랜것이 있어. 저 언덕까지 가 보자! (18자 → 9자) | 강제 | 「다음 판 도전」 → 「도전 ▶ 1-1」, 「바랜것」 낱말 삭제(잿빛 무리는 전투 화면에서 처음 보입니다) |
| T06 | 1-1 전투 시작 | B06 전투 | 게이지가 차면 필살기가 저절로 나가요. 게이지가 차면 필살기가 나가요 (17자 → 13자) | 강제 | 「저절로」 삭제 — 필살 자동 버튼이 따로 있어 헷갈립니다 |
| T07 | 1-1 결과 | B08 전투 결과 | 판을 지키면 그 판에서 방치 사냥을 해요. 이긴 곳에서 방치 모험을 해요 (17자 → 12자) | 안내만 | 「판을 지키면 그 판에서 방치 사냥」 → 스테이지·모험 용어로 |
| T08 | 1-3 클리어 | F02 이야기 보기 | 1장 2화 「색이 빠진 마을」 — 도토 합류 (1장 2화 「색이 빠진 마을」 — 도토 합류) | 건너뛰기 가능 | — |
| T09 | 2화 끝 | B05 파티 편성 | 도토를 후열에 넣어 봐요. 사격은 뒤에서 쏘는 게 좋아요. 도토를 뒷줄에 넣어 봐요 (24자 → 10자) | 강제 | 후열 → 뒷줄, 「사격은 뒤에서 쏘는 게 좋아요」는 역할 칩(원거리)을 누르면 나오는 말풍선으로 |
| 단계 | 시작 조건 | 화면 | 말풍선 | 방식 | 바꾼 이유 |
|---|---|---|---|---|---|
| T10 | 편성 끝 | D03 레벨업 | 물감 방울로 동료 레벨을 올려요. 열매로 레벨을 올려요 (14자 → 9자) | 강제 | 물감 방울 → 열매. 보상 「열매 2,000」 |
| T11 | 1-5 클리어 | J02 출석 | 출석이 열렸어요. 하루 한 칸씩 받아요. 하루 한 칸씩 받아요 (17자 → 8자) | 안내만 | 「출석이 열렸어요」는 J06 대신 이 말풍선 하나로 |
| T12 | 출석 닫음 | J01 미션 | 미션을 이루면 빛구슬을 받아요. 미션을 깨면 빛구슬을 받아요 (14자 → 12자) | 안내만 | 「이루면」 → 「깨면」 — 「하면」은 미션을 시작만 해도 받는 것처럼 읽힙니다 |
| T13 | 미션 닫음 | B02 방치 보상 | 꺼 둔 동안에도 사냥하고 다음 판에 도전해요. 최대 24시간까지요. 게임을 꺼도 모험은 계속돼요 (29자 → 12자) | 안내만 | 무엇을 끄는지 목적어를 넣었습니다(K06 「게임을 끌까요?」와 같은 말). 「최대 24시간」은 막대 끝 「24:00」 눈금이 대신 말합니다 |
| T14 | 1-7 클리어 + 3화 끝 | E01 모집 | 모집이 열렸어요. 처음 10회는 무료예요. 처음 10회는 무료예요 (19자 → 10자) | 강제 | 입문 모집 → 첫걸음 모집. 강제 단계지만 결제·광고가 아닌 무료 10회 한 번이라 P5 와 부딪히지 않습니다 |
| T15 | 모집 결과 | B05 파티 편성 | 새 동료를 넣어요. 「추천 편성」이 알아서 골라 줘요. 「추천 편성」을 눌러 봐요 (23자 → 11자) | 안내만 | 「새 동료를 넣어요」는 강조 버튼과 따로 놀아, 누를 버튼 이름 하나만 남겼습니다 |
| T16 | 1-9 클리어 | B04 지도 | 보스 판이에요. 90초 안에 쓰러뜨려야 해요. 상대는 녹 속성이에요. 90초 안에 보스를 쓰러뜨려요 (30자 → 13자) | 안내만 | 「보스는 …」이면 보스가 주어로 읽혀 뜻이 뒤집힙니다 — 목적격 「보스를」로. 「상대는 녹 속성이에요」는 보스 노드의 속성 칩(초록 · 새순)과 판정 배지가 대신 말합니다 |
| T17 | 1-10 클리어 | J06 새 기능 열림 | 빠른 방치·배속·이벤트가 열렸어요. 즉시 보상이 열렸어요 (17자 → 9자) | 안내만 | 세 기능 묶음 → 즉시 보상 하나만. 배속·이벤트는 아래 U01·U02 로 나눕니다. 보상 빛구슬 100 은 그대로 |
지금 명세는 T17(1-10 클리어)에서 즉시 보상·배속·이벤트를 한 장에 열고 끝납니다. 세 개를 한 팝업에 넣으면 셋 다 기억하지 못하므로(ux.md §7) 나눠서 열고, 그 뒤 해금(screens.json unlock)을 아래 순서로 하나씩 엽니다.
| 단계 | 시작 조건 | 화면 | 보이는 것 | 규칙 |
|---|---|---|---|---|
| U01 | T17 뒤 첫 전투(B06) 시작 | B06 | 배속 버튼 테두리 빛남 1회 + 말풍선 「눌러서 2배로 빨라져요」 | J06 을 띄우지 않습니다 — 전투 중이라 팝업은 흐름을 끊습니다 |
| U02 | U01 뒤 홈(B01) 복귀 | J06 → H01 | J06 「이벤트가 열렸어요」 한 장 → 「가 보기」면 H01 | 이벤트 상점·상품 팝업은 같이 띄우지 않습니다 |
| U03 | 홈 안내 미션 카드 시작 | B01 | cmp_guide_card 가 길잡이를 맡는다(아래 표 「안내 미션 첫 10개」) | 카드는 하나만. 다 받으면 다음 과제로 즉시 바뀝니다 |
| U04 | 브루니 Lv7 | C04 → C05 | 브루니 탭 점 + C04 강화 가능 칸 빛남 1회 | J06 없음 — 이미 아는 화면 안의 새 버튼은 맥락 강조로 충분합니다 |
| U05 | 1-13 클리어(1장 5화) | J06 → D07 | J06 「동료에게 선물을 줄 수 있어요」 → 선물 1번 손가락 안내 | 한 번에 하나. J06 설명은 「무엇이 열렸다」가 아니라 「무엇을 할 수 있다」로(4-4 · J06 한 줄 설명) |
| U06 | 1-15 클리어 | J06 → G01 → G02 | J06 「원정이 열렸어요」 → 골드 동굴 입장 손가락 안내 | 원정 알림 점은 첫 진입 뒤 끈다(4-3) |
| U07 | 1-20 클리어 | D04 · C03 | 승급 탭 빛남 1회. 같은 시점에 열리는 「항아리 자동 열기」는 다음 홈 복귀 때 따로 자동 버튼 빛남 1회 | 두 기능이 같은 스테이지에서 열려도 J06 은 하나씩, 사이에 전투 한 번 |
| U08 | 1-25 클리어 | G02 | 열매 숲 탭에 「NEW」 꼬리표만 | J06 없음 — 이미 연 화면(G02)의 새 탭입니다 |
튜토리얼이 끝난 뒤 길잡이는 홈의 안내 미션 카드 한 장이 맡습니다(키우기 3종 공통 — legend-of-slime/06 · seven-knights-idle/05 · cookierun-crumble/01). 「가기」는 screens.json mission_go 이동표를 그대로 씁니다. 순서는 성장(1·2·3·5) → 방치(4·8) → 새 기능(6·7·10) → 다음 고비(9)를 번갈아 두어 한 가지만 반복하지 않게 했습니다. 1번을 1-15 로 둔 까닭은 6번(선물, 1-13 해금)과 7번(골드 동굴, 1-15 해금)이 1번만 깨면 열려 있게 하려는 것입니다.
| # | 과제(화면 문구) | 미션 종류 | 「가기」 이동 |
|---|---|---|---|
| 1 | 스테이지 1-15 깨기 | stage_clear | B04 지도 — 최고 다음 스테이지 선택된 채로 |
| 2 | 항아리 30번 열기 | pot_open | B01 — 항아리 강조 1회 |
| 3 | 아무 동료 Lv10 만들기 | unit_lvup | D01 — 레벨 정렬 |
| 4 | 방치 보상 받기 | idle_claim | B02 |
| 5 | 장비 +1 강화하기 | gear_enh | C05 — 가장 낮은 칸 선택 |
| 6 | 동료에게 선물 1번 주기 | gift | D01 — 우정 정렬 |
| 7 | 골드 동굴 1번 들어가기 | dungeon | G01 |
| 8 | 즉시 보상 1번 받기 | quick_idle | B03 |
| 9 | 스테이지 1-20 깨기 | stage_clear | B04 |
| 10 | 동료 승급 1번 하기 | unit_star5 계열 | D01 — ★ 정렬 |
| # | 과제 | 열리는 조건(screens.json unlock) | 앞 과제까지 보장 | 판정 | 메모 |
|---|---|---|---|---|---|
| 1 | 스테이지 1-15 깨기 | 시작(스테이지 도전) | 1-10(튜토리얼 끝) | 열림 | — |
| 2 | 항아리 30번 열기 | 시작 | 1-10 | 열림 | — |
| 3 | 아무 동료 Lv10 | 1-3(동료 레벨업) | 1-10 | 열림 | — |
| 4 | 방치 보상 받기 | 시작 | 1-10 | 열림 | — |
| 5 | 장비 +1 강화 | 브루니 Lv7 | 1-15(#1) | 미확인 | 브루니 Lv7 도달 스테이지는 economy_sim.json 에 시간별 값이 없어 모른다(첫날 끝 중앙값 Lv16 · 스테이지 19 — f2p day1, 2026-10-14 출력). 못 열렸으면 건너뛰기 규칙 |
| 6 | 선물 1번 | 1-13(우정·선물) | 1-15(#1) | 열림 | 예전 순서(1번 = 1-12)에서는 잠긴 채였다 |
| 7 | 골드 동굴 1번 | 1-15(원정·골드 동굴) | 1-15(#1) | 열림 | 예전 순서에서는 잠긴 채였다 |
| 8 | 즉시 보상 1번 | 1-10(즉시 보상) | 1-10 | 열림 | — |
| 9 | 스테이지 1-20 깨기 | 시작 | 1-15 | 열림 | — |
| 10 | 승급 1번 | 1-20(승급) | 1-20(#9) | 열림 | — |
game-design/data/missions.json 과 경제 명세가 기준입니다. 이 표는 순서와 이동만 정합니다. 카드는 한 번에 하나만 보이고, 받으면 즉시 다음 과제로 바뀝니다.
빨간 점은 「지금 누르면 3초 안에 얻을 것이 있다」는 한 가지 뜻입니다. 판매·광고·새 배너에는 쓰지 않습니다. 점이 늘 켜져 있으면 정말 받을 것이 있을 때도 누르지 않게 됩니다(NN/g 2024-01-17, ux.md [U11]).
| 자리 | 켬 조건 — 확정 | 바뀐 것 |
|---|---|---|
| 모험 탭 · 방치 상자 | 누적 ≥ 상한 90% | 유지 |
| 미션 · 출석 · 우편 · 이벤트 · 이야기 | 명세 그대로 | 유지 |
| 원정 | 열쇠 ≥ 1 또는 토벌 남음 — 첫 진입 뒤 끄고 타일에 「남은 열쇠 n」만 | 하루 종일 켜짐 방지 |
| 브루니 탭 | 강화 비용이 처음으로 충분해진 순간 1회 → 탭에 들어가면 끔(그 뒤는 C04 칸의 ▲ 꼬리표로만) · 새 색 열림 · (자동 장착을 끈 사람만) 더 좋은 장비 | 방치형이라 골드가 계속 쌓여 「강화 가능 칸」은 하루 종일 켜진다 — 운영 규칙 ③·⑤(기획서 07장)와 부딪혀 1회로 줄였다. 항아리 열 때마다 깜빡임도 막는다 |
| 동료 탭 | 승급 가능 · 각성 가능 · 새 동료 | 유지 |
| 모집 탭 | 모집 도장 ≥ 200(교환 가능 = 확정 보상)만 | 「새 배너」 → 배너 「NEW」 꼬리표, 「광고 무료 모집 남음」 → 빼기, 「모집권 ≥ 1」 → 빼기 — 모집권 보유는 확률형 뽑기를 쓰라는 권유라 「3초 안에 해결되는 얻을 것」이 아니다. 보유는 E01 「1회 모집」 버튼 아래 「보유 3」으로만 알린다(P5 · 운영 규칙 ①④ · ux.md §5) |
| 상점 탭 | 정기권 오늘분 · 무료 상품 · 패스 받을 칸 | 유지 |
| # | 규칙 | 예 |
|---|---|---|
| ① | 점은 3초 안에 해결되는 것에만 | 미션 받기 · 출석 · 우편 받기 · 승급 가능 |
| ② | 숫자 점은 놓치면 손해인 것에만 | 우편 만료 1일 전 「3」 |
| ③ | 하루 종일 켜질 조건은 첫 진입 뒤 끄고 꼬리표로 넘김 | 원정 → 타일 「남은 열쇠 2」 · 브루니 탭 강화 가능 → 처음 1회만, 뒤는 C04 칸 ▲ |
| ④ | 판매·광고·뽑기 권유는 점 대신 꼬리표·표기 | 새 배너 → 「NEW」 · 한정 상품 → 「한정 2:15:07」 · 모집권 보유 → E01 「1회 모집」 아래 「보유 3」 |
| ⑤ | QA: 평범한 하루 30분 동안 동시에 켜진 점 4개 이하 | 내부 목표값(외부 근거 없음 — ux.md §5) |
| 자리 | 상태 | 이유 |
|---|---|---|
| 모험 탭 · 방치 상자 | 꺼짐 | 방금 B02 에서 받았다(90% 미만) |
| 미션 | 켜짐 | 받을 일일 미션 보상 |
| 출석 | 꺼짐 | 접속 흐름에서 J02 를 받고 왔다(04장 「매일 들어올 때」) |
| 우편 | 켜짐 | 운영 우편 1통 |
| 이벤트 · 이야기 | 꺼짐 | 새 이벤트 첫 진입 뒤 · 안 본 화 없음 |
| 원정 | 꺼짐 | 첫 진입 뒤 끔(4-3) |
| 브루니 탭 | 꺼짐 | 강화 비용이 처음 충분해진 순간은 이미 지났다 — C04 칸 ▲ 꼬리표만 |
| 동료 탭 | 켜짐 | 승급 가능 1명 |
| 모집 탭 | 꺼짐 | 도장 132/200 |
| 상점 탭 | 꺼짐 | 정기권 없음 · 무료 상품 받음 |
| 자리 | 원래 켬 조건 |
|---|---|
| 사냥 탭 · 방치 상자 | 방치 누적 ≥ 상한의 90% |
| 미션 | 받을 보상 1개 이상 |
| 출석 | 오늘 칸 안 받음 |
| 우편 | 안 받은 우편 1개 이상(만료 1일 전이면 숫자) |
| 이벤트 | 받을 이벤트 미션 보상 · 새 이벤트 시작 후 미진입 |
| 이야기 | 열렸는데 안 본 본편 화 · 개인 이야기 화 |
| 원정 | 남은 던전 열쇠 ≥ 1 또는 주간 토벌 남은 횟수 ≥ 1 |
| 브루니 탭 | 더 좋은 장비가 가방에 있음 · 강화 가능한 칸(재료 충분) · 새 색 해금 |
| 동료 탭 | 승급 가능 · 각성 가능 · 새 동료(안 연 카드) |
| 모집 탭 | 모집권 ≥ 1 · 광고 무료 모집 남음 · 별가루 ≥ 200 · 새 배너 |
| 상점 탭 | 정기권 오늘분 미수령 · 무료 상품 · 성장 패스 받을 칸 |
과금 화면의 원칙은 P5 한 줄입니다 — 사게 만들지 말고 고르게 한다. 근거는 공정거래위원회가 2026-10-06 배포한 「다크패턴 방지를 위한 온라인 인터페이스 운영 가이드라인」(2026.9. 작성, 4개 범주 13개 유형)입니다. 가이드라인 자체는 구속력이 없지만, 근거 조문(전자상거래법 제13조·제21조·제21조의2, 시행령 제20조의2·제27조의2)은 과태료 1천만~2천만원 이하 대상입니다(ux.md §6-1, [U8]).
| 범주 | 유형 | 흔한 모습 | 우리 화면 규칙 |
|---|---|---|---|
| 편취형 | 1.1 숨은갱신 | 정기권 가격을 바꾸면서 동의 없이 다음 결제에 반영 | 한 달 정기권(I04)이 자동 갱신이면 다음 결제일·금액을 카드에 늘 적습니다. 가격을 바꿀 때는 30일 전 동의·고지(시행령 제20조의2). 해지는 스토어 구독 관리로 한 번에 가는 버튼을 둡니다 |
| 편취형 | 1.2 순차공개 가격책정 | 목록엔 싼 값, 결제 단계에서 값이 늘어남 | I01 상품 카드의 원화 가격 = I02 결제 금액. 스토어 결제라 추가 요금이 없으므로 다른 숫자가 나올 자리가 없습니다 |
| 오도형 | 2.1 특정옵션 사전선택 | 「함께 사기」·선택 동의 체크를 미리 켜 둠 | I02 와 A02(약관 선택 항목)에 미리 켜진 체크 없음 |
| 오도형 | 2.2 잘못된 계층구조 | 「사기」는 크게, 「닫기」는 작은 회색 글자 | 결제/취소 · 광고 보고 받기/괜찮아요 · 1회/10회 모두 같은 크기·모양, 채움만 다름(P5) |
| 오도형 | 2.3 거짓 할인 | 실제로 판 적 없는 원가로 「80% 할인」 | 「~% 이득」은 같은 빛구슬 단가를 기준으로만 씁니다. 기준 단가 상품이 실제로 상점에 있어야 합니다 |
| 오도형 | 2.4 거짓 추천 | 인기·추천 표시를 근거 없이 붙임 | 「추천」 탭은 「지금 받을 수 있는 무료·정기권 오늘분」 같은 규칙으로만 채웁니다. 「인기 1위」 표시는 쓰지 않습니다 |
| 오도형 | 2.5 유인 판매 | 싼 상품으로 끌고 품절시켜 비싼 상품으로 유도 | 광고하는 상품은 기간 안에 늘 살 수 있습니다. 수량 제한이면 남은 수량을 카드에 적습니다 |
| 오도형 | 2.6 위장 광고 | 광고를 게임 보상 안내처럼 보이게 함 | 광고 버튼에는 늘 ▶ 아이콘과 「광고」 낱말. J05 에서 광고임을 먼저 말합니다 |
| 오도형 | 2.7 속임수 질문 | 「구매를 취소하지 않으시겠어요?」 같은 이중 부정 | 질문은 긍정형 한 문장, 버튼 글자는 동사(「결제」「취소」) |
| 방해형 | 3.1 취소·탈퇴 방해 | 계정 삭제를 깊이 숨김 | 설정(K01) → 계정·저장(K02) → 「계정 삭제」 — 두 번 안에 닿습니다 |
| 방해형 | 3.2 숨겨진 정보 | 「평생 광고 없음」인데 실제로는 일부만 | 광고 생략권에 「평생」 금지 — 범위 문장 한 가지만: 「광고 자리 6곳(하루 최대 14회)의 보상을 광고 없이 바로 받아요 · 하루 횟수는 그대로예요 · 계정에 남아요 · 서비스가 끝날 때까지」 |
| 방해형 | 3.3 가격비교 방해 | 꾸러미마다 단위가 달라 비교 불가 | 빛구슬을 쓰는 버튼 아래 보유량, 상점 빛구슬 값 옆 원화 환산을 작게 |
| 압박형 | 4.1 반복간섭 | 거절한 상품 팝업을 매번 다시 띄움 | 상품 팝업은 「7일간 보지 않기」 필수, 거절한 상품은 7일간 배너로만(시행령 제27조의2). 튜토리얼 안에서는 상품 팝업 없음 |
가이드라인 13유형 밖에서, 수집형·방치형 게임이 자주 밟는 것들입니다. 스토어 정책과 광고 정책이 근거입니다.
| 금지 | 흔한 모습 | 대신 / 근거 |
|---|---|---|
| 죄책감 문구(confirmshaming) | 「아니요, 보상을 포기할래요」 같은 거절 버튼 글자 | 거절 버튼은 「괜찮아요」「취소」. AdMob 보상형 정책의 오도 문구 금지([U17]) |
| 판매용 빨간 점 | 새 배너·광고 무료 모집·모집권 보유·상품에 빨간 점 | 점은 3초 안에 해결되는 얻을 것에만(4-3). 새 배너는 「NEW」 꼬리표, 모집권 보유는 E01 「1회 모집」 아래 「보유 3」 |
| 거짓 긴급성 | 끝난 「한정」 상품을 같은 구성으로 곧바로 재등록 | 남은 시간 꼬리표 = 실제 종료 시각. 재판매는 구성·이름을 바꾸고 「한정」을 붙이지 않습니다 |
| 확률 개별 누락 | 등급 합계만 보이고 동료별 확률이 없음 | E02 는 동료·아이템마다 한 줄. 위반 사례의 약 51% 가 개별 확률 누락(monetization-law L8) |
| 확률 버튼 멀리 두기 | 확률을 설정 깊은 곳에 | E01 의 확률 버튼은 모집 버튼과 같은 화면 · 같은 높이 96 |
| 알림 켜면 보상 | 「푸시 켜면 빛구슬」 | 금지 — App Store 5.1.1([U12]). 판촉 알림은 정보 알림과 따로 켭니다 |
| 별점 남기면 보상 | 「리뷰 쓰면 빛구슬」 | 금지 — App Store 3.2.2(x)([U12]) |
| 광고 강제 | 전면 광고·끄지 못하는 광고 | 보상형만, 늘 J05 동의 뒤. 광고 자리 6곳 · 하루 합계 14회 상한(bible 9-4 · shop.json ad_slots) |

출시 전 검수 때 화면마다 이 줄을 하나씩 확인합니다. 하나라도 빠지면 그 화면은 통과가 아닙니다.
| 화면 | 있어야 하는 것 |
|---|---|
| I01 상점 | 상품 카드에 이름 · 구성 칩 · 원화 가격 · 남은 기간(실제 종료 시각)/남은 수량. 확률형 상품은 「확률형」 꼬리표. 아래 「결제 내역 · 청약철회 안내 ›」 |
| I02 구매 확인 | 구성 목록 → 원화 가격 → 결제 버튼 바로 위 청약철회 한 줄(전자상거래법 제17조 ⑥) → 「결제」 주 · 「취소」 보조 같은 크기. 미리 켜진 체크 없음 |
| I03 결제 결과 | 성공(보상 칩) · 지연(「우편함으로 보내 드려요」) · 실패(이유 + 문의). 실패를 성공처럼 보이지 않게 색이 아닌 문장으로 먼저 말합니다 |
| I04 정기권·패스 | 남은 일수 · 오늘 받기 · 다음 결제일·금액. 광고 생략권 카드는 범위 문장 「광고 자리 6곳(하루 최대 14회)의 보상을 광고 없이 바로 받아요 · 하루 횟수는 그대로예요 · 계정에 남아요 · 서비스가 끝날 때까지」 |
| I06 결제 내역 | 유료 빛구슬 잔액 · 결제 목록 · 청약철회 안내 문단 t.long |
| E01 모집 | 확률 버튼 높이 96 · 1회/10회 같은 크기 · 법정 문구 3줄 t.body(캡션 크기로 줄이지 않는다) |
| B03 즉시 보상 | 무료 · ▶ 광고 · 빛구슬 50 세 칸. 빛구슬 버튼 아래 「보유 1,230」 |
| J05 광고 보상 확인 | 받을 보상 칩 · 「짧은 광고를 보면 받아요」 · 오늘 남은 횟수 · 같은 크기 두 버튼 · 실패 문구(횟수 안 깎음) |
| 정책(요지) | 우리 화면 |
|---|---|
| 분명한 동의 뒤에만 보여 줌 | 광고 자리 버튼 → J05 확인 → 광고. 바로 재생 없음 |
| 할 행동과 받을 보상을 명확히 | J05 에 보상 칩 · 「짧은 광고를 보면 받아요」 · 오늘 남은 횟수 |
| 건너뛰거나 닫을 수 있음 | J05 「괜찮아요」 같은 크기. 광고 자체의 닫기는 광고망 규칙 |
| 오도 문구·아이콘 금지 | 죄책감 문구 금지 · ▶ 아이콘과 「광고」 낱말 |
| 무작위 보상이면 전부 공개 | 광고 모집도 일반 모집과 같은 확률표(bible 9-4) |
| 다 보면 반드시 지급 | 실패 시 「지금은 광고를 불러올 수 없어요. 잠시 뒤 다시 해 주세요.」 + 횟수 안 깎음 |
근거: Google AdMob 「Policies for ad units that offer rewards」(ux.md [U17], 2026-10-14 열람) · App Store 심사 지침 4.5.4([U12]).
보상형 광고는 아래 6자리에서만 나옵니다(shop.json ad_slots · bible 9-4). 하루 횟수를 모두 더하면 14회입니다. 모든 자리는 같은 규칙을 따릅니다 — 보조 버튼(또는 받기 버튼)에 ▶ 아이콘과 남은 횟수 「(n/n)」, 누르면 J05 확인, 다 쓰면 숨기지 않고 비활성 「내일 04:00 에 채워져요」. 빨간 점은 달지 않습니다(4-3).
| 자리 id | 이름 | 화면 | 버튼 위치 | 남은 횟수 표시 | 다 쓴 상태 | 하루 |
|---|---|---|---|---|---|---|
ad_idle2x | 방치 보상 2배 | B02 방치 보상 | 버튼 줄 오른쪽 — 「받기」와 같은 크기 280×120 | 「▶ 2배로 받기 (1/1)」 | 「내일 04:00 에 채워져요」 비활성(숨기지 않음) | 1 |
ad_quick | 즉시 보상 추가 | B03 즉시 보상 | 세 칸 가운데 — 무료 · ▶ 광고 · 빛구슬 | 「▶ 광고 (2/2)」 | 같음 | 2 |
ad_recruit | 광고 모집 | E01 모집 — 「광고」 배너 탭 | 배너 탭을 골랐을 때만 1회 버튼 자리. 1회·10회 줄에 넣지 않는다 | 「▶ 1회 모집 (1/1)」 | 같음 + 탭에 점 없음 | 1 |
ad_brush | 물감 받기 | B01 모험(홈) — 물감 0 상태 | 항아리 위에 겹쳐 256×96(보조 + 광고 변형). 물감이 1 이상이면 사라진다 | 「▶ 물감 +30 (5/5)」 | 같음 — 그 뒤 물감 0 이면 토스트 「물감이 모자라요」 + 「얻는 곳」(X02) | 5 |
ad_dungeon | 던전 추가 입장 | G02 일일 던전 입장 | 「입장」 · 「소탕」 옆 보조 버튼 — 무료 입장을 다 쓴 뒤 | 「▶ 한 번 더 (3/3)」 | 같음 | 3 |
ad_shop | 원정 상점 새로고침 | I05 원정 상점 | 맨 아래 새로고침 줄 왼쪽 328×100(오른쪽 무료·빛구슬 새로고침과 같은 크기) | 「▶ 새로고침 (2/2)」 | 같음 | 2 |
no_ads.effect 의 「보상형 광고 14자리」는 횟수를 자리로 잘못 적은 것이라, 메인에 고침을 제안했습니다(UI 바이블 9장 ⑫). 바이블 4-4 · 08장 다크패턴 3.2 줄 · I04 체크리스트가 같은 문장을 씁니다.접근성 설정은 설정(K01) › 화면 묶음에 둡니다. 기본값만으로도 아래 기준을 넘게 만들고, 설정은 더 필요한 사람을 위한 것입니다.
| 항목 | 값 | 어떻게 | 근거 |
|---|---|---|---|
| 글자 크기 3단 | K01 화면 › 글자 크기: 보통 ×1.0 · 크게 ×1.15 · 아주 크게 ×1.3 | ×1.3 에서 라벨이 안 잘리게 칸을 잡습니다. 시안 검수 때 세 단계로 다 찍어 봅니다 | Apple Dynamic Type 권장([U1]) · WCAG 1.4.12([U6]) |
| 최소 글자 | 24px(360dp 기기 12sp). 그보다 작은 글자 없음 | t.caption 이 바닥값 | Apple 최소 11pt([U1]) · Material bodySmall 12sp([U3]) |
| 줄 간격 | 본문 1.5 · 긴 글 1.6 · 한 줄 라벨 1.25 | 한글 받침 때문에 1.5 쪽을 택합니다 | WCAG 1.4.12([U6]) · Material 비율 1.43~1.5([U3]) |
| 대비 | 본문 4.5:1 · 큰 글자·아이콘·테두리 3:1 | 2장 토큰 표의 계산값을 쓰고, 새 색을 넣을 땐 같은 공식으로 계산해 표에 더합니다. 청록은 글자색 금지(크림 위 2.45) | WCAG 1.4.3 · 1.4.11([U4]) |
| 색약 | 색 + 모양 + 글자 셋 중 둘 이상(P3) | 속성 = 칩 색 + 상징 아이콘 + 이름 · 등급 = 띠 색 + 글자 · 판정 = 배지 색 + 낱말 · 능력치 = ▲▼ + 색 | WCAG 1.4.1 |
| 누르는 영역 | 96×96 이상, 사이 16px | 그림이 작아도 영역은 96. 목록 행 높이 96 이상 | Android 48dp([U2]) · WCAG 2.5.8([U7]) |
| 움직임 줄이기 | K01 화면 › 움직임 줄이기 | 화면 전환 밀기·팝업 확대 → 페이드만. 빛남 숨쉬기·떠오르는 숫자 끔. 모집 연출(E03)은 정지 카드 한 장으로 | screens.json common 「화면 전환」 |
| 깜빡임 | 1초에 3번 넘게 번쩍이는 효과 없음 | 필살 컷인·SSR 연출의 흰 번쩍임은 1회. 알림 점 맥박(fxu_dot_pulse)은 1.2초 주기 | WCAG 2.3.1(이번 조사에서 원문 열람 안 함 — 기준 이름만 적는다) |
| 한 손 | 주 버튼·받기는 y ≥ 840 | 결제로 이어지는 버튼은 아래 탭과 24px 이상 떨어집니다 | Hoober 2013([U9]) |
| 소리 없이도 | 소리로만 알리는 정보 없음 | 필살 준비·보스 등장은 소리 + 초상 빛남/띠 글자를 같이 씁니다 | 내부 판단(외부 근거 없음) |
| 읽는 속도 | 자동 넘김은 기본 꺼짐 | 이야기 자동 넘김(F02)은 켜야 동작하고 속도 3단. 튜토리얼 말풍선은 시간으로 사라지지 않습니다 | 내부 판단(외부 근거 없음) |
| 언어 | 어절 단위 줄바꿈 | Godot autowrap_mode = WORD — 「항아/리야」처럼 끊지 않습니다 | W3C klreq([U10]) |
t.body, 360 폭 기준)아래 줄은 같은 견본을 흑백으로 바꾼 것입니다(CSS grayscale). 색이 사라져도 ▲▼ 기호와 「아슬」 낱말로 뜻이 남아야 합니다.
| 가져온 구조 | 레퍼런스 | 우리 화면 |
|---|---|---|
| 홈 위 전투 · 아래 조작부 | legend-of-slime/06 · seven-knights-idle/05 | B01 |
| 상시 안내 미션 카드 | legend-of-slime/06 · seven-knights-idle/05 · cookierun-crumble/01 | B01 cmp_guide_card |
| 뽑기 장치를 홈 아래 엄지 영역에 | bussukeo/04·11(DoF 2024-04-15 「nestled down at the bottom」) | B01 물감 항아리 |
| 방치 보상에 「다음 스테이지 가면 더」 힌트 | cookierun-crumble/03 | B02 |
| 「장-순번」 스테이지 표기 | cookierun-crumble/01(「스테이지 84-14」) · legend-of-slime/06(「9-6」) | B01·B04·B06 |
| 팝업 제목 띠 → 내용 → 아래 큰 버튼 | cookierun-crumble/03 · survivor-io/02 | cmp_popup |
| 모드 허브 큰 타일 + 작은 타일 | princess-connect/03 | G01 |
| 잠긴 기능은 자리 + 자물쇠 + 조건 | legend-of-slime/06 · cookierun-kingdom/09·20 | cmp_tabbar 잠김 · G01 |
| # | bible.md 위치 | 지금 | 제안 |
|---|---|---|---|
| ① | 0장 용어 | 판 · 바랜것 · 인연 | 스테이지 · 잿빛 무리 · 우정 (5-1) |
| ② | 4-2 속성 | 홍·녹·청·황·묵 | 빨강·초록·파랑·노랑·보라 + 상징 아이콘(데이터 id 유지) |
| ③ | 4-3 역할 · 전열/후열 | 돌격·타격·사격·술사 | 수호·근접·원거리·마법, 화면은 앞줄·뒷줄 |
| ④ | 5장 재화 | 붓·물감 방울·별가루·원정 증표·기억 조각 | 물감·열매·모집 도장·원정 주화·동료 조각 (+ 무지개 조각 → 만능 조각) |
| ⑤ | 6·7장 | 비결서·유물 숫돌·태초·날/결·시련의 탑·빠른 방치·물빛 정기권·단계 꾸러미 | 스킬북·유물 가루·찬란·공격형/수비형·시련의 등대·즉시 보상·한 달 정기권·돌파 꾸러미 |
| ⑥ | 12-4 아트 고정 | 픽셀 아트(AI 생성 → Pixel Snapper), 외곽선 #16131c | 코드로 그린 SVG(2026-10-14 주인 지시 「이미지는 무료만」 — gen_svg.py 머리말), 외곽선 #3a2a33 |
| ⑦ | 12-4 글꼴 | 갈무리(OFL) | Jua(제목) + Pretendard(본문), 둘 다 OFL |
| ⑧ | screens.json common | 터치 88 · 글자 22/26 · 속성 글자 병기 홍·녹… | 터치 96 · 글자 24/28/32 · 줄 간격 1.5 · 속성 색은 바탕으로만 |
| ⑨ | art_assets.json palette · ui_groups | 픽셀 램프 · ui_nav 변형 6개(hunt·party·pot·recruit·story·shop) | UI 는 2장 토큰, ui_nav 를 아래 탭 5개(adventure·bruni·companion·recruit·shop)로 |
| ⑩ | 1장 핵심 루프 문구 | 「방치 사냥(최고 판 반복) → … 다음 판 돌파」 | 「방치 모험(최고 스테이지 반복) → … 다음 스테이지 돌파」 |
| ⑪ | art_assets.json ui_groups 크기·만드는 법 | 패널·버튼·막대·대화창·등급 띠를 9조각 그림으로 · ui_status 29 · ui_banner(recruit) 720×240 | 평평한 둥근 사각은 StyleBoxFlat(6-1 — 그림 20장이 빠진다) · 상태 아이콘 37(combat.json) · 모집 배너 720×440(4-2 E01) |
| ⑫ | shop.json no_ads.effect | 「보상형 광고 14자리(9-4)에서 시청 없이 바로 보상」 | 「광고 자리 6곳(하루 최대 14회)에서 시청 없이 바로 보상. 하루 한도는 그대로」 — 자리 수와 횟수를 나눈다(4-4) |
| ⑬ | screens.json regions · common | 터치 88 · 재화 막대 88 · 머리줄 80 기준 좌표, 버튼 57개가 96 미만 | uiux/data/layout.json 개정 좌표(65화면 · 재화 막대·머리줄 96 · 버튼 96)로 갈아 끼운다. D02 아래 탭 삭제(4-1) |
| ⑭ | screens.json B01 · C04 버튼 | B01 옆줄 「꾸러미」 · J07 들어오는 곳 C05 하나 | 옆줄 8칸 확정(왼 미션·출석·우편·이벤트 / 오른 이야기·원정·꾸러미·설정), C04 메뉴에 「가방」 → J07, B01 물감 0 광고 → J05, I05 광고 새로고침 → J05 |
| 문제 | 지금 | 다음 할 일 |
|---|---|---|
| 레퍼런스 빈 유형 | 상점 본화면 · 미션 · 출석 · 패스 · 우편 · 설정 · 튜토리얼 · 뽑기 결과는 실화면 자료가 없습니다 | 공개 위키·플레이 영상 캡처를 refs/index.json 형식으로 더 모읍니다(patterns.md §4) |
| 12분 추정 | T01~T17 12분은 스테이지당 30~60초 가정입니다 | 출시 전 테스트에서 단계별 도달 시각·이탈을 이벤트 로그로 잽니다 |
| U 단계 시각 | U01~U08 은 순서만 정했고 몇 분째인지는 모릅니다 | 같은 테스트로 30분 안에 U 몇 번까지 가는지 잽니다. 30분 안에 U06(원정)까지 못 가면 원정 해금을 앞당길지 메인과 정합니다 |
| EU 원화 환산 | CPC 「가상화폐 핵심 원칙」 원문 미열람 | EU 출시 전에 원문 확인 |
| 잿빛 무리 겹침 | 같은 이름의 다른 작품·상표가 있는지 미확인(웹 검색 한도) | 상표 검색 1회 |
| 바이블 반영 | 9장 제안 ①~⑩ 은 아직 bible.md 에 없습니다 | 메인이 반영할 때까지 화면 문구는 UI 바이블을 따릅니다 |
| shop.json no_ads 문구 | effect 「보상형 광고 14자리(9-4)」 — 자리 수(6)와 하루 횟수(14)를 섞어 적었습니다 | 메인이 shop.json 을 「광고 자리 6곳(하루 최대 14회)에서 시청 없이 바로 보상. 하루 한도는 그대로」로 고칩니다(UI 바이블 9장 ⑫) |
| 안전 영역 실측 | 720×1600 시안의 위 64 · 아래 48 은 가정값입니다 | 출시 전 실기기 3대 이상에서 get_display_safe_area() 를 적어 2-5 표를 고칩니다 |
| 브루니 Lv7 시점 | 안내 미션 5번(장비 +1 강화)이 열리는 스테이지를 모릅니다 | 경제 시뮬레이션에 시간별 브루니 Lv 를 내게 하거나 테스트 로그로 잽니다. 그전까지는 「해금 안 된 과제는 건너뛴다」 규칙이 받칩니다 |
| 게임 | 판매사 | 장 | 스토어 |
|---|---|---|---|
| 버섯커 키우기 | JOY MOBILE NETWORK PTE. LTD. | 14 | App Store id6467117398 |
| 쿠키런: 크럼블 | Devsisters Corp. | 10 | App Store id6749251466 |
| 쿠키런: 킹덤 | Devsisters Corp. | 20 | App Store id1509450845 |
| 냥코 대전쟁 | ponos corporation | 10 | App Store id848091833 |
| AFK: 새로운 여정 | FARLIGHT PTE. LTD. | 14 | App Store id1628970855 |
| 레전드 오브 슬라임 | LoadComplete Co., Ltd | 13 | App Store id1618701110 |
| 탕탕특공대 | HABBY PTE. LTD. | 10 | App Store id1528941310 |
| 블루 아카이브 | NEXON Korea Corporation | 16 | App Store id1571873795 |
| 카피바라 GO | HABBY PTE. LTD. | 12 | App Store id6596787726 |
| 세븐나이츠 키우기 | Netmarble Corporation | 10 | App Store id1658717149 |
| 프린세스 커넥트! Re:Dive | Kakao Games Corp. | 14 | App Store id1452123050 |
| 픽셀 히어로 | Ujoy Games Limited | 5 | App Store id1670875186 |
| 궁신 | HongKong XinLe Network Technology Limited | 10 | App Store id6810901891 |
| 심쿵 삼국지 | HONGKONG GAMETREE LIMITED | 7 | App Store id6746790900 |
| 쩔구 키우기 | Mancheolsoft, Inc. | 5 | App Store id6759635723 |
| 던전 크롤러 : 방치형 키우기 | MINJAE KIM | 10 | App Store id6786916826 |
| 웨폰 마스터 키우기 | Supercrack Inc. | 6 | App Store id6737999086 |
| 픽셀몬 키우기 | minchan kim | 6 | App Store id6736725882 |
| 용사가 돌아왔다 키우기 | STUDIO LICO Corp. | 8 | App Store id6758089591 |
| 존나르센 키우기: 성검전설 | STUDIO LICO Corp. | 6 | App Store id6752990168 |
| 999위 용사 | EK GAMES | 8 | App Store id6474533545 |
| 마왕 슬라임 키우기 | Jellygames Inc. | 7 | App Store id6498235179 |
| 변신 키우기 | billionairegames | 6 | App Store id6746192853 |
| 요도봉인기 | Rawhand. Inc | 10 | App Store id6444302102 |
game-design/uiux/uiux-bible.md(2026-10-14) · 조사 uiux/research/patterns.md·ux.md·terms.md(모두 2026-10-14) ·
화면 명세 game-design/data/screens.json(버튼 이동·튜토리얼·알림 점) · 레퍼런스 App Store KR 스크린샷, iTunes Lookup API https://itunes.apple.com/lookup?id=<trackId>&country=kr 2026-10-14 수집(uiux/refs/index.json) — 내부 참고용, 재배포 금지 ·
공정위 다크패턴 가이드라인 2026-10-06 배포([U8]) · NN/g 2020-06-21([U15])·2024-01-17([U11]) · Hoober UXmatters 2013-02([U9]) · W3C WCAG 2.2 1.4.3·1.4.11·1.4.12·2.5.8([U4][U6][U7]) · Apple HIG·심사 지침([U1][U12]) · Android 48dp([U2]) · Google AdMob 보상형 정책([U17]).
대비 값은 이 생성기(game-design/uiux/gen/uiux_doc.py)가 다시 계산했습니다. 표는 bible_tables.json · uiux_plan.json 에서 생성합니다.