RunMap
본 문서는 텍스투라의 진행 척추인 RunMap을 정의한다. Cell 타입과 상태가 한눈에 구분되는 것이 가장 중요하다.
핵심 원칙
섹션 제목: “핵심 원칙”| 원칙 | 의미 |
|---|---|
| 척추 | RunMap은 게임의 진행 중심. 모든 Cell 선택이 여기서 일어난다. |
| 한눈에 식별 | 4 타입 × 4 상태 = 16종 비주얼이 즉시 구분되어야 한다. |
| 가변 분기 | 한 층의 Cell 수와 경로는 가변. 시드 기반. |
| 보스 정렬 | 시작 Cell과 보스 Cell은 가운데 정렬. |
| 보스 직전 상점 | 보스 직전 층에는 반드시 Shop이 1개 이상 존재. |
Cell 타입 (4종)
섹션 제목: “Cell 타입 (4종)”코드의 RunMapNodeData 기준. 아이콘과 색감으로 한눈에 구분되어야 한다.
| 코드 | 한글 | 의미 |
|---|---|---|
| Stage | 일반 전투 | 가장 많이 등장하는 기본 전투 노드. 매치-3 보드 전투 시작. |
| Shop | 상점 | Gold로 아이템 구매. 보스 직전 층 1개 이상 보장. |
| Elite | 엘리트 전투 | 일반 전투보다 어려움. 더 좋은 보상. |
| Boss | 보스 전투 | Run의 마지막 노드. 처치 시 Run 클리어. |
Cell 상태 (4종)
섹션 제목: “Cell 상태 (4종)”각 Cell은 진행 상황에 따라 다음 네 상태 중 하나. 색감·채도·글로우 유무로 명확히 구분.
| 상태 | 의미 | 비주얼 방향 |
|---|---|---|
| Available | 지금 클릭해서 진입 가능 | 밝은 색 + 글로우 + 약한 펄스 애니메이션 |
| Completed | 이미 통과한 노드 | 채도 낮춤, 어둡지 않게 (잠긴 것과 구분되어야 함) |
| Locked | 현재 도달할 수 없음 | 전체적으로 어둡고 흐림 |
| Skipped | 도달 가능했으나 다른 길을 택해 못 가게 됨 (예정 기능) | 점선 테두리 등으로 “갈 수 있었으나 지나친” 느낌 |
경로 (Route)
섹션 제목: “경로 (Route)”코드의 nextNodeIds로 표현. UI 규칙:
- 경로는 Cell 뒤로 깔리며, Cell 정보를 가리지 않아야 함.
- “길”처럼 읽히도록 (직선 화살표보다는 자연스러운 곡선/덩굴/실 등).
- 이미 지나온 경로 / 앞으로 갈 수 있는 경로 / 못 가는 경로의 3종 구분이 있어야 함.
맵 구조 규칙
섹션 제목: “맵 구조 규칙”- 기본 10층 구조.
- 각 층마다 2~4개의 실제 Cell (가변).
- 시작 Cell과 보스 Cell은 가운데 정렬.
- 보스 직전 층에는 반드시 Shop Cell이 1개 이상 존재.
- 스크롤은 아래 → 위 방향 (시작이 아래, 보스가 위).
UI 동작
섹션 제목: “UI 동작”- 화면은 화면 §4-1 RunMap에서 정의.
- 와이어프레임은 비주얼 — 와이어프레임 §RunMap 참조.
- 현재 선택 가능한 Cell은 화면 하단부에 위치하도록 카메라가 따라옴 (아래에서 위로 스크롤).
디자이너 작업 체크리스트 (RunMap)
섹션 제목: “디자이너 작업 체크리스트 (RunMap)”- Cell 타입 4종 아이콘 (Stage / Shop / Elite / Boss).
- Cell 상태 4종 비주얼 변형 (각 타입에 대해) → 총 16종.
- 경로 표현 자산 (지나옴 / 가능 / 불가).
- 맵 배경 (연금술 분위기, 세로 스크롤 가능한 길이).
- 상단 HUD 영역 (Gold, 진행도 표시).
데이터 / 코드 연결
섹션 제목: “데이터 / 코드 연결”| 영역 | 코드 식별자 |
|---|---|
| 맵 데이터 | RunMapData / RunMapView |
| Cell 노드 | RunMapNodeData |
| 층 | RunMap row (Floor) |
| 경로 | nextNodeIds |
용어 전체 표는 용어 정책 참조.
열린 질문
섹션 제목: “열린 질문”- 한 층의 Cell 수 분포 규칙 (단순 균등? 가중치?).
- Skipped 상태의 정식 도입 시점.
- 맵 시드의 결정 시점 (Run 시작 시 1회 / 매 층 진행 시 lazy).
- 분기에서 갈 수 없는 Cell을 시각적으로 어떻게 구분할지 (Locked vs Skipped 차이).