From 79416eda0a1b0b05299bf2dbbdeeefa2ae2dde96 Mon Sep 17 00:00:00 2001 From: SilverSupplier <192233040+SilverSupplier@users.noreply.github.com> Date: Sat, 13 Jun 2026 01:07:44 +0900 Subject: [PATCH] docs: revise GAME_DESIGN floors 2-4 to as-built design The two-track personalization pivot changed floors 2-4 from the draft (broken runes / single bridge / spreading cracks) to the shipped design (custom-shape reaction marks / four blocked passages / training targets). Section 9 floor specs, density table, story arc, BGM note, and moment 4 now describe the implementation in ExamGameController.BuildFloorDefinitions. Draft remains in git history. --- docs/GAME_DESIGN.md | 141 +++++++++++++++++--------------------------- 1 file changed, 53 insertions(+), 88 deletions(-) diff --git a/docs/GAME_DESIGN.md b/docs/GAME_DESIGN.md index c4f254a..38017f6 100644 --- a/docs/GAME_DESIGN.md +++ b/docs/GAME_DESIGN.md @@ -169,7 +169,7 @@ ### 시전 위치와 목표 판정 -주문은 문양의 중심이 가까운 목표 오브젝트에 영향을 준다. 즉 같은 `earth + steel_brace`도 3층 다리 영역 근처에서 그리면 다리 지지대로 해석되고, 4층 균열 근처에서 그리면 균열 안정화로 해석된다. 같은 주문이 위치에 따라 다르게 작동한다는 사실 자체가 게임의 한 가지 발견이다. +주문은 문양의 중심이 가까운 목표 오브젝트에 영향을 준다. 즉 같은 사각(rect) 커스텀 도형도 3층 깨진 구멍 근처에서 쓰면 길을 만드는 메움판으로 해석되고, 4층 표적 근처에서 쓰면 엄폐 방벽으로 해석된다. 같은 주문이 위치에 따라 다르게 작동한다는 사실 자체가 게임의 한 가지 발견이다. ## 5. 마법 문법 @@ -285,9 +285,9 @@ NPC가 등장한 발언은 동시에 노트에 자동 기록된다. 1회 실패 | 층 | 역할 | 가장 강하게 가르치는 것 | | --- | --- | --- | | 1층 발착층 | 입장과 첫 시전 | base 5종이 세계에 영향을 준다는 사실 | -| 2층 반응층 | overlay 발견 | 같은 base가 overlay에 따라 다르게 변한다 | -| 3층 흐름층 | 조합 응용 | 한 목표를 여러 방법으로 풀 수 있다 | -| 4층 균열층 | 실시간 위험 | 그리는 동안에도 세계는 움직인다 | +| 2층 반응층 | 커스텀 도형 발견 | 내가 등록한 모양이 인식 기준이 된다 (개인화) | +| 3층 건널목층 | 조합 응용 | 기본 문양 + 커스텀 도형으로 길을 직접 만든다 | +| 4층 타격층 | 조합 실험 | 조합이 표적 반응과 숫자로 즉시 보인다 | | 5층 성좌심 | 자유 조합 | 정답이 없는 큰 마법진을 자기 방식으로 푼다 | 층별 상세는 §9에서 본다. @@ -296,14 +296,16 @@ NPC가 등장한 발언은 동시에 노트에 자동 기록된다. 1회 실패 각 층은 다음 항목으로 정의한다: 들어올 때의 공간, **퍼즐 밀도**, 목표 상태, 가능한 해결 방향, 키 모먼트, 화면 배치, 진행 시간 목표, NPC가 등장하는 자리, 실패 회복 디자인. +> **2026-06-12 as-built 개정** — 커스텀 도형(two-track personalization) 시스템 도입으로 2~4층 디자인이 초안과 달라졌다. 이 절은 실제 구현(`ExamGameController.BuildFloorDefinitions`) 기준으로 개정되었다. 초안(2층 깨진 룬·overlay 복구, 4층 진행형 균열+번개 회로)은 git 이력에서 볼 수 있다. + ### 층별 퍼즐 밀도 요약 | 층 | 풀어야 할 인터랙션 | 통과 기준 | 해결 루트 최소 다양성 | | --- | --- | --- | --- | | 1층 | 인덱스 룬 5개 (base 5종에 1:1 대응) | 1개 이상 작동시키면 승강 룬이 차오름. 권장 3개 이상 | 5 base 각각 | -| 2층 | 깨진 룬 6개 (overlay 6종에 1:1 대응) | 4개 이상 복구 | overlay 6종 중 최소 4종 사용 | -| 3층 | 끊긴 다리 1개 | 어느 방법이든 한 경로로 통과 | 최소 4가지 해결 루트 (아래 목록) | -| 4층 | 균열 3개 + 번개 회로 1개 | 모두 안정화 | base+overlay 조합 최소 3가지 | +| 2층 | 커스텀 반응 표식 5개 (base 5종의 커스텀 도형에 1:1 대응) | 5개 안정화 | 도형 5종 (line/ellipse/arrow/rect/brace) 각각 | +| 3층 | 끊긴 구간 4개 (강물·깨진 구멍·낭떠러지·빈 공간) | 4구간 모두 개통 | 구간별 커스텀 스펠 4종 | +| 4층 | 훈련 표적 4개 | 4표적 모두 반응 | 효과 4종 (얼음·번개·정화·안정) | | 5층 | 슬롯 6개 (상태 요구) | **5개 만족 = 통과 엔딩 / 6개 만족 = 진엔딩** | 슬롯당 만족 방법 최소 2종 | 밀도는 "이 정도가 한 층에서 무리 없이 발견될 분량"의 잠정 값이다. 사용자 테스트에서 조정한다. @@ -354,129 +356,92 @@ ghost gesture는 1층에서만 1회 재생된다. 한 번 본 사람은 다음 ### 2층 반응층 -**공간** — 벽화가 가득한 둥근 방. 가운데에 6개의 깨진 룬이 원형으로 배치돼 있다. - -**목표 상태** — 6개 깨진 룬 중 4개 이상이 복구된다. +**공간** — 벽화가 가득한 둥근 방. 좌측에 커스텀 레퍼런스 책장이 있고, 방 안에 5개의 반응 표식이 배치돼 있다. -**가능한 해결 방향** — 깨진 룬은 각각 다른 overlay에 반응한다. 플레이어는 base를 먼저 그린 뒤 overlay를 그려야 룬이 복구된다. overlay는 처음부터 모두 그릴 수 있지만, 어떤 overlay가 어떤 룬과 맞는지는 시도로만 알 수 있다. +**목표 상태** — 커스텀 반응 표식 5개(불꽃 직선·물 보호막·바람 화살표·사각 방벽·생명 연결선)가 모두 안정화된다. -**키 모먼트** — overlay가 처음 base seal 위에 붙는 순간. 룬 가장자리에 작은 마크가 추가되며 라벨이 `불꽃 + 집중` 같은 형태로 변한다. 이 순간이 "base 위에 무언가를 더 올릴 수 있다"는 발견이다. +**가능한 해결 방향** — 좌측 책장에 가까이 가면 base별 커스텀 레퍼런스를 도형 슬롯으로 들여올 수 있다. 표식은 저장된 커스텀 도형의 gold capture를 기준으로 반응한다 — 즉 플레이어가 등록한 그 모양이 인식 기준이 된다. 각 표식은 요구 도형 토큰(line/ellipse/arrow/rect/brace)이 다르다. -**화면 배치** - -``` - [노트] [층 라벨] - - 깨진룬1 깨진룬2 - - 깨진룬6 [PLAYER] 깨진룬3 - - 깨진룬5 깨진룬4 - - [벽화 — overlay 형태 힌트] -``` - -벽화는 클릭하지 않아도 자연스럽게 시야에 들어오게 한다. 정답이 아니라 "이런 모양도 있다"는 단서. +**키 모먼트** — 자기가 등록한 커스텀 도형이 처음 표식을 깨우는 순간. "시스템이 내 모양을 기억한다"는 개인화의 발견이다. **진행 시간 목표** — 평균 8~12분. **환경이 먼저 가르치는 것** -- 첫 overlay 성공 시 룬 가장자리에 작은 마크가 추가되고 라벨이 `불꽃 + 집중` 형태로 변한다. NPC 등장 없음. -- `martial_axis` 의존성 부족 시 시도 자체가 잠긴 듯한 `cast_dependency_missing` SFX로 처리되고, 룬 라벨 위에 "축이 설 자리가 없음" 한 줄이 1초 표시. NPC 등장 없음. -- 벽화는 6 overlay의 실루엣 단서를 정적 배경으로 제공한다. +- 책장 접근 시 레퍼런스가 자연스럽게 보인다. 정답 강요가 아니라 "이런 모양을 등록할 수 있다"는 단서. +- 표식에서 먼 곳에 그린 커스텀 도형은 발동하지 않고 근접 안내 말풍선이 뜬다 (위치 의존 규칙 학습). +- 이전 seal이 활성인 상태에서도 다음 커스텀 base 목표를 이어서 진행할 수 있다. **NPC가 등장하는 자리** -- 같은 깨진 룬에 같은 base로 3회 실패 시 (escalator 2단계). family 체크리스트 한 번. -- 6개 룬 중 4개를 복구해 층 완료 시 한 줄 마무리. +- 같은 표식에 반복 실패 시 escalator 단계에 따라 등장. family 체크리스트 한 번. +- 5개 표식을 안정화해 층 완료 시 한 줄 마무리. 2층은 발견 위주 층이라 NPC 출연이 매우 드물다. 환경 자체가 단서다. -**실패 회복** — 같은 깨진 룬에 같은 base를 두 번 실패하면 그 룬이 5초간 살짝 진동한다. 비언어적 단서로 끝. 세 번째부터 escalator가 NPC로 넘어간다. - -### 3층 흐름층 +**실패 회복** — 표식 근처 재시도는 비용이 없고, 실패가 쌓이면 escalator가 단계적으로 개입한다. -**공간** — 끊어진 공중 다리. 플레이어와 다음 구역 사이에 빈 공간이 있다. +### 3층 건널목층 -**목표 상태** — 플레이어가 건너편으로 이동할 수 있는 경로가 만들어진다. +**공간** — 강물, 깨진 바닥 구멍, 낭떠러지, 빈 공간 네 구간이 길을 끊고 있다. 시작 구간 책장에서 3층 프리셋 도형을 가져올 수 있다. -**가능한 해결 방향** — 의도된 네 가지 + 발견 가능한 변주. +**목표 상태** — 네 구간의 길이 모두 열린다. -- `earth + steel_brace` — 빈 공간에 단단한 지지대가 솟아 다리가 됨. 가장 직관적인 해법. -- `wind + martial_axis` — 떠 있는 발판이 일직선으로 정렬되어 건널 수 있음. 발판이 보일 때만 가능. -- `life + soul_dot` — 한쪽 끝에서 덩굴이 자라 반대편에 닿음. 닿을 거리가 짧을 때만 충분. -- `water + ice_bar` — 임시 얼음 다리. 일정 시간 후 녹으니 그 안에 건너야 함. -- (선택적 변주) `earth` 단독으로도 짧은 발판은 가능하지만 길이가 부족함. 두 번 그어 연결해야 함. -- (선택적 변주) `electric_fork`로 끊긴 회로를 잇고 그 위를 건너는 변형도 가능 (성공 시 NPC가 "내가 고른 길이 나의 답이다" 발화). +**가능한 해결 방향** — 구간별로 의도된 커스텀 스펠이 하나씩 있다. 먼저 기본 문양으로 seal을 만들고, 그 빛나는 원 안쪽이나 가장자리에 요구 도형을 얹으면 발동한다. -같은 목표를 다른 방법으로 풀 수 있다는 것을 처음 명시적으로 알려주는 층이다. +- 강물 — `water` + 육각(hexagon) 결정: 강물이 얼어 안전한 얼음길이 됨. +- 깨진 구멍 — `earth` + 사각(rect) 메움판: 구멍이 메워져 지나갈 길이 생김. +- 낭떠러지 — `life` + 화살표/사각(arrow·rect): 덩굴 다리가 낭떠러지를 이음. +- 빈 공간 — `wind` + 사각(rect) 발판: 바람 발판이 마지막 빈 공간을 건너게 함. -**키 모먼트** — 플레이어가 만든 경로 위로 처음 한 발을 내딛는 순간. 카메라가 살짝 줌인된다. +base를 먼저 만들고 그 위에 도형을 얹는 2단 시전이 이 층의 핵심 학습이다. 표식에서 먼 곳에 그리면 발동하지 않는다 — 위치 의존 규칙을 여기서 체화한다. (초안의 "한 다리에 4가지 해법" 다양성은 5층의 자유 조합으로 옮겨졌다.) -**화면 배치** - -``` - [층 라벨] - - [건너편 — 다음 층 입구] - ────────────── - - ──────── - (빈 공간) - ────── - - [PLAYER] - ───────── -``` - -빈 공간은 의도적으로 시야 한가운데에 둔다. 플레이어 시선이 자연스럽게 "여기를 메워야 한다"로 향하게. +**키 모먼트** — 자기가 만든 길(얼음길·메움판·덩굴 다리) 위로 처음 한 발을 내딛는 순간. **진행 시간 목표** — 평균 6~10분. **환경이 먼저 가르치는 것** -- 빈 공간이 시야 한가운데 — "여기를 메우면 된다"는 비언어적 단서. -- 가까운 영역에 base/overlay 시전 시 그 효과가 빈 공간에서 한 번씩 미리 잠깐 비치는 시각 힌트 (예: `earth` 시전 시 작은 돌 부스러기가 빈 공간 가장자리에 잠깐 솟음). +- 끊긴 구간이 시야에 들어오는 배치 — "여기를 메우면 된다"는 비언어적 단서. +- 장애물 아트가 깊이 단서(수직 단면·원근)를 제공해 어디가 막혀 있는지 보인다. +- 키보드만으로도 발판 이동이 가능하다 (접근성 fallback). **NPC가 등장하는 자리** -- 층 완료 시 한 줄 마무리. 예: "한 자리에 닿는 길은 여럿이다." -- 두 번째 다른 방법으로 통과 시 (선택적): "내가 고른 길이 나의 답이다." (이 자리는 의도된 보너스라 NPC 등장에 가치가 있음) - -**실패 회복** — 만든 경로가 시간 경과로 약해지면 한 번 더 같은 주문을 덧그릴 수 있게 한다. 부분 진행은 유지된다. +- 층 완료 시 한 줄 마무리. +- 같은 구간 반복 실패 시 escalator 단계에 따라 등장. -### 4층 균열층 +**실패 회복** — 시간이 지나 약해지는 효과(얼음길 등)는 같은 시전을 덧그려 보수할 수 있다. 부분 진행은 유지된다. -**공간** — 불안정한 룬 회로가 깔린 좁은 공간. 번개 회로와 균열이 천천히 퍼지고, 발판이 떠 있다 사라진다. +### 4층 타격층 -**목표 상태** — 균열 3개가 모두 안정화되고, 번개 회로가 잠잠해진다. +**공간** — 훈련 표적 4개가 배치된 수련장. 표적은 어려운 말을 쓰지 않는다 — 필요한 조합을 만들면 바로 반응과 숫자로 보여 준다. -**가능한 해결 방향** — base+overlay 조합 최소 3가지가 의도된 답. +**목표 상태** — 네 표적이 모두 반응한다. -- `earth + steel_brace` — 균열 봉합. 가장 안정적이지만 시전 시간이 김. -- `water + ice_bar` 또는 `ice_bar` 단독 — 번개 회로 동결. 회로가 멈춤. -- `void_cut` — 균열 진행 차단. 즉발이지만 부분만 막음. -- `wind` 단독 — 떠 있는 발판을 안전 위치로 밀어 안전 지점 추가 (선택, 진행 보조). -- 균열 3개를 모두 같은 방법으로 풀어도 되고, 각각 다른 방법을 써도 됨. 다양성이 통과 조건은 아님. +**가능한 해결 방향** — 표적별 의도된 커스텀 스펠 효과. -**키 모먼트** — 그리는 중에 위험이 닿아 안전 지점으로 리셋되는 첫 순간. 게임이 처음으로 "실시간 압박"을 가르치는 순간이다. 화면 가장자리 비네트 + 짧은 효과음 + 즉시 안전 지점 이동. 죽음이나 체력 감소는 없다. +- 얼음 제압 — `water` 계열 얼음 결정: 표적의 움직임을 늦춤. +- 번개 타격 — `fire` 계열 번개 직선: 표적을 빠르게 때림. +- 정화 수막 — `water` + 둥근 수막: 표적의 오염 효과를 씻어 냄. +- 사각 방벽 — `earth` + 사각 방벽: 표적 앞에 엄폐물을 세움. -**화면 배치** — 다른 층과 달리 시야 안에 안전 지점(파란 룬)을 항상 1개 이상 보이게 둔다. 카메라가 안전 지점에서 너무 멀어지지 않게 약한 추적 제한을 둔다. +**키 모먼트** — 조합의 결과가 피해 숫자와 버프 표시로 즉시 보이는 첫 순간. 1~3층에서 배운 문법이 "전투적 반응"으로도 읽힌다는 발견이다. -**진행 시간 목표** — 평균 8~12분. +**진행 시간 목표** — 평균 6~10분. **환경이 먼저 가르치는 것** -- 첫 안전 지점 리셋 시 화면 가장자리 비네트 + `hazard_reset` SFX. 노트는 "탑은 떨어진 사람을 다시 돌려보낸다"를 자동 관찰문으로 기록. NPC 등장 없음. -- 균열 첫 안정화 시 균열이 또렷이 다물리는 시각 변화 + 짧은 `goal_satisfied`. 노트는 "벌어진 자리는 단단한 것이 덮는다"를 자동 기록. +- 피해 숫자와 버프 큐(지속 효과 시계 표시)가 엔티티에 붙어 효과의 세기·지속을 정량적으로 보여 준다. +- 속성 반응(점화·동결·전도 등)이 재질에 따라 다르게 일어나고, 첫 발생 시 관찰문이 codex에 기록된다. +- 위험 접촉 시 체력 하트가 절반씩 줄지만 죽음은 없다 — 위험의 무게만 가르친다. **NPC가 등장하는 자리** -- 같은 균열에 5회 이상 실패 시 (escalator 2~3단계). "그 균열은 단단한 것을 좋아한다" 같은 한 줄. 화면 가장자리 작은 윈도우로 등장해 그리는 손을 가리지 않음. +- 같은 표적에 반복 실패 시 escalator 단계에 따라 등장. - 층 완료 시 한 줄 마무리. -**실패 회복** — 무한 리셋이 안전 지점에서 일어나기 때문에 진행이 막히지 않는다. +**실패 회복** — 표적은 몇 번이고 다시 반응한다. 실패 누적은 escalator로만 이어지고 진행이 막히지 않는다. ### 5층 성좌심 @@ -539,7 +504,7 @@ ghost gesture는 1층에서만 1회 재생된다. 한 번 본 사람은 다음 - **시작** — 1층 입장에서 NPC가 짧게 환영한다. 시험이 무엇인지 거창하게 설명하지 않는다. "바닥은 너의 종이다." 정도의 한 줄. - **전개** — 1~3층 본문에서는 환경(룬 발광, 라벨, SFX, 노트 자동 기록)이 거의 모든 안내를 한다. NPC는 막혔을 때(2회 이상 실패)와 층 완료 시에만 짧게 등장한다. -- **위기** — 4층의 균열은 탑이 불안정하다는 사실을 보여준다. NPC가 화면 가장자리 작은 윈도우로 들어와 "탑의 입학 마법진이 흔들린다"고 한 줄을 남기고, 그 말이 노트에 기록된다. +- **위기** — 4층 수련장은 배운 문법이 위협 앞에서도 통하는지 시험한다. 표적의 반응과 체력 하트가 "탑의 시험이 진지해졌다"는 사실을 보여주고, 멘토(균열 감시자)의 발화가 노트에 기록된다. - **클라이맥스** — 5층 성좌심에서 5번째 슬롯이 만족되는 순간. 화면 전체가 밝아지고 BGM이 정점에 도달한다. 6번째까지 채우면 한 박 더 차오른다. - **마무리** — NPC가 다시 등장해 한 줄을 남긴다. "너의 방식이 마법진을 다시 일어서게 했다." 그 뒤 성찰형 리포트가 열린다. @@ -632,7 +597,7 @@ low quality로 발동은 되었지만 약한 경우는 별도 SFX를 두지 않 - **ambient_tower** — 1~3층용. 조용한 룸톤. 8~10분 루프. - **climax_seal** — 5층 시작부터. 한 단계 더 강한 톤. 마법진 1개 만족마다 음 추가. -4층은 BGM을 거의 끄고 환경음(번개 잡음, 균열 갈라짐) 위주로 둔다. 압박감을 음악이 아니라 침묵으로 만든다. +1~4층은 `ambient_tower`를 공유하고 5층에서 `climax_seal`로 전환한다. 4층의 압박감은 BGM 변화가 아니라 표적 반응음과 피해 표시의 타격감으로 만든다. ## 13. NPC: Exam Mentor @@ -710,7 +675,7 @@ NPC가 말하는 순간 그 대사가 그대로 마법 노트에 자동 기록 1. **첫 base 발동** — 빛 펄스 + 차임. 카메라 미세 흔들림 없음 (첫 인상은 부드럽게). 2. **첫 overlay 부착** — 작은 트레일이 base seal로 빨려 들어감 + 가벼운 차임. 3. **3층 첫 경로 통과** — 카메라 짧은 줌인 + 발걸음 사운드 강조. -4. **4층 첫 위험 리셋** — 가장자리 비네트 + 낮은 진동 + 짧은 화면 흐릿함. +4. **4층 첫 위험 접촉** — 체력 하트 절반 감소 + `hazard_reset` 계열 피드백. 위험의 무게를 처음 가르치는 순간. 5. **노트 자동 기록 새 줄** — 우상단 책 아이콘 0.4초 펄스 + 책장 넘김 사운드. NPC 없이도 일어나는 가장 자주 있는 보상. 6. **assist ghost trace 등장 (escalator 3단계)** — NPC가 짧게 등장해 "이런 모양이다" + 바닥에 흐릿한 모범선 1.5초 + 짧은 종소리. 셋이 동시에. 7. **5층 슬롯 1개 만족** — 슬롯 라벨이 또렷해지며 빛 + 상승 멜로디 1단.