라운드 접수량 버그 수정 + 토큰→코인 용어 통일 + 외부 배포(NAS)
플레이 피드백 4건(주목도 미차감, 상점 빈 상품, 상점 UX 오해, 재화 명칭)을 검토해 방향이 확정된 항목만 반영하고, 외부 테스터에게 링크를 공유할 수 있게 시놀로지 NAS 배포까지 준비했다. ## 게임 로직 - 라운드 접수량 크리티컬 버그 수정: 합본을 반복하면 라운드가 안 끝나던 문제. deskCards에서 파생시키던 값을 순수 누적 카운터(roundIntake)로 교체 — 결정 노트: 2026-09-18-라운드-접수량-누적카운터 - DeskBar/CoreSwipeCard 정보 역할 분리: "이번 라운드 접수량/한도"는 결재 화면 전담, DeskBar는 책상에 쌓인 것(총 주목도·축별 분포)만 표시 - 토큰 → 코인 용어 일괄 변경: core/ 전체(식별자·CSS·주석·UI)와 기획서 SSOT 동기화, lucide Coins 아이콘 추가 ## 배포 - vite base를 상대 경로로 변경 (Web Station 서브패스 서빙 시 asset 404 방지) - 모바일 100vh → 100dvh (주소창 노출 시 하단 버튼 가림 방지) - 빌드 식별자 표시, 타이틀/테마색/description 정리 - deploy.sh + npm run deploy — SSH 키 권한 문제(777 → StrictModes 거부)와 NAS rsync 게이트를 scp -O로 우회해 실제 배포까지 검증 완료 → https://play.mint-grape.duckdns.org/projectss/ Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
6398599199
commit
20207ff23c
+78
-2
@@ -14,13 +14,89 @@
|
||||
연결이 끊겨 커밋 전 작업이 통째로 유실됐다(재구현으로 복구). 왜 끊겼는지 원인 조사 안 됨 —
|
||||
재발 방지책 필요.
|
||||
- **라운드 주목도 한도(21 + 라운드당 +5), 상점 가격, 게이지 상승 장수 구간 수치 등은 전부
|
||||
가안** — 실측 플레이로 튜닝 예정. 3~4장 구간의 6배 점프(0.5%→3.0%)가 적당한지부터 확인할 것.
|
||||
가안** — 실측 플레이로 튜닝 예정. 2026-09-18에 접수량을 누적 카운터로 바꾸면서 한도가
|
||||
실질적으로 더 타이트해졌으므로(§20.1과 연동해) 다시 볼 것. 결정 노트:
|
||||
[[2026-09-18-라운드-접수량-누적카운터]]
|
||||
- **이월 누적이 실제로 압박이 되는지 미검증** — 주목도 라운드 분리(2026-09-17) 이후 이월분은
|
||||
게이지·토큰 가산에만 작용한다. 이월을 쌓아두고 매 라운드 한도까지 새로 받는 플레이가 지배
|
||||
게이지·코인 가산에만 작용한다. 이월을 쌓아두고 매 라운드 한도까지 새로 받는 플레이가 지배
|
||||
전략이 되지 않는지 확인 필요. 결정 노트: [[2026-09-17-주목도-라운드-분리]]
|
||||
- **상점이 사실상 비어 있음** — 지금 유일한 품목(오염 카드 직접 처리)이 의회 실적 납입(코인
|
||||
1개=실적 5점, §9.3)과 경쟁이 안 돼 "살 이유가 없다"는 피드백. 자산·소모품 등 3차 품목이
|
||||
들어와야 근본 해결(§20.2 이후 우선 작업 후보). 코인 납입 환산율 하향은 상점이 채워진 뒤
|
||||
다시 볼 것 — 지금 건드리면 상점 완성 후 또 바뀌어야 한다.
|
||||
|
||||
---
|
||||
|
||||
## 2026-09-18 — 외부 플레이테스트 배포 준비 (시놀로지 NAS) + 모바일 실기 대응
|
||||
|
||||
**무엇을 왜:** 이제부터 외부 테스터에게 링크를 공유해 피드백을 받기로 해서, "모바일에서 링크만
|
||||
누르면 플레이되고, 배포는 한 줄로 끝나는" 상태를 만들었다. 기존 NAS 인프라(Web Station nginx +
|
||||
DuckDNS + 인증서)를 그대로 쓴다 — 조사해 보니 서브도메인 DNS·443 포워딩·인증서가 모두 이미
|
||||
동작 중이었고(구 HTML 프로토타입이 같은 경로로 서빙되고 있었다), 실제 블로커는 두 개뿐이었다.
|
||||
|
||||
- **서브패스 asset 경로 (배포 시 빈 화면이 되는 블로커)**: Web Station 문서 루트 하위 폴더로
|
||||
서빙하는데 Vite 기본 `base: '/'`는 asset을 도메인 루트에서 찾아 전부 404가 된다.
|
||||
`base: './'`(상대 경로)로 바꿨다 — 특정 서브패스에 고정되지 않아 폴더를 옮겨도 재빌드가
|
||||
필요 없다. 로컬에서 `/projectss/` 하위로 서빙해 프로덕션 빌드가 실제로 뜨는 것까지 확인
|
||||
- **모바일 `100vh` → `100dvh`**: `100vh`는 주소창이 숨은 상태 기준 높이라, 주소창이 보이는
|
||||
동안 화면 아래 60~100px이 잘린다. `body`가 `overflow:hidden`이어서 스크롤로 닿을 수도 없어
|
||||
**화면 맨 아래의 "정산하기" 버튼이 가려지는** 실제 문제였다. `vh`는 구형 폴백으로 남겼다.
|
||||
`#root`의 `width: 100vw`도 `100%`로 바꿨다(100vw는 데스크톱 스크롤바 폭만큼 가로 넘침)
|
||||
- **빌드 식별자 표시**: 여러 명에게 며칠에 걸쳐 피드백을 받으면 "어느 빌드였나"가 반드시
|
||||
꼬인다. `vite.config.js`가 빌드 시각+커밋 해시(`0918-2239·6398599`)를 주입하고 상태 줄
|
||||
오른쪽에 흐리게 표시한다 — 테스터가 스크린샷만 찍어도 버전이 남는다
|
||||
- **`<title>`·`theme-color`·`description`**: 링크를 공유·북마크할 때 보이는 이름을 게임 제목으로
|
||||
바꾸고, 모바일 브라우저 바 색을 다크 UI에 맞췄다. 확대 차단(`user-scalable=no`)은 작은 글씨를
|
||||
읽어야 하는 테스터의 접근성을 해쳐서 넣지 않았다
|
||||
- **`deploy.sh` + `npm run deploy`**: `vite build` 후 NAS에 올린다. `--dry-run`으로 보낼 파일
|
||||
목록만 먼저 확인 가능. 배포용 SSH 키(ed25519) 생성, `ssh-copy-id`로 등록 완료 — 이후 비밀번호
|
||||
없이 배포된다. 실제 배포까지 검증 완료: **https://play.mint-grape.duckdns.org/projectss/**
|
||||
- **배포 과정에서 겪은 삽질 2건, 재발 방지용으로 기록**:
|
||||
1. `ssh-copy-id` 직후에도 계속 비밀번호를 요구함 → 홈 디렉터리가 `drwxrwxrwx`(777),
|
||||
`~/.ssh`도 777, `authorized_keys`도 777이었다. OpenSSH는 키 소유자 외 그룹/기타 쓰기
|
||||
권한이 있으면 StrictModes로 그 키를 무시하고 조용히 비밀번호 인증으로 넘어간다 —
|
||||
클라이언트 쪽엔 에러가 안 보여서 원인 파악이 까다로웠다. `chmod 755 ~ && chmod 700
|
||||
~/.ssh && chmod 600 ~/.ssh/authorized_keys`로 해결
|
||||
2. 키 인증은 성공했는데(`Authenticated ... using "publickey"`) **rsync만** 항상
|
||||
`rsync error: rsync service is no running (code 43)`로 실패. DSM 제어판의
|
||||
"파일 서비스 → rsync 활성화"와 사용자 애플리케이션 권한(rsync 체크)을 둘 다 켜고
|
||||
`rsyncd.service`가 `active (running)`인 것까지 확인했는데도 동일 에러 — SSH 전송
|
||||
모드(`-e ssh`)인데도 시놀로지의 `/usr/bin/rsync`가 별도 게이트(아마 daemon 설정의
|
||||
사용자 화이트리스트)에 걸리는 것으로 보이나, 이 프로젝트 빌드 결과물이 400KB 안팎이라
|
||||
rsync의 증분 전송 이점이 없어서 원인을 더 파지 않고 **`scp -O`(레거시 exec 프로토콜)로
|
||||
교체**했다. 이 NAS는 SFTP 서브시스템도 꺼져 있어(`-O` 없는 최신 scp는 "subsystem
|
||||
request failed") `-O`가 필수. `rm -rf "$REMOTE_DIR" && mkdir -p` 후 scp로 옮겨
|
||||
rsync `--delete`와 같은 "매번 깨끗하게" 효과를 낸다
|
||||
- iPhone 13 크기(390×664)로 실기 검증: 터치 스와이프 정상(CDP로 실제 터치 입력 전송), 결재
|
||||
카드·정산하기·합본 버튼 모두 화면 안, 상점·의회 화면도 스크롤 없이 들어감, 실패 요청 0건,
|
||||
콘솔 에러 0건. 배포 후 공개 URL에서 최신 빌드 asset 해시가 그대로 서빙되는 것까지 확인
|
||||
|
||||
## 2026-09-18 — 라운드 접수량 버그 수정 + 책상/결재 화면 정보 재배치 + 토큰→코인 용어 통일
|
||||
|
||||
**무엇을 왜:** 플레이 피드백 4건(주목도 미차감 버그, 상점 빈 상품, 상점 UX 오해, 재화 명칭)을
|
||||
먼저 원인 분석·해결안으로 정리해 사용자에게 제시하고, 방향이 확정된 항목만 반영했다. 상점
|
||||
품목 확충은 3차(자산·소모품) 이후로, 코인 납입 환산율 조정은 상점이 채워진 뒤로 보류.
|
||||
|
||||
- **라운드 접수량 크리티컬 버그 수정**: 합본을 여러 번 하면 라운드가 끝나지 않던 문제
|
||||
(피드백: "합본을 많이 하면 라운드가 너무 길어진다"). `roundAttention(deskCards, round)`이
|
||||
책상 카드를 필터링해 매번 다시 합산하는 파생값이라, 합본으로 카드가 사라지면 접수량도 같이
|
||||
줄어 한도(21)에 다시 도달할 때까지 계속 새로 받을 수 있었다. CoreGameScreen이 직접 들고
|
||||
관리하는 순수 누적 카운터(`roundIntake`, 라운드가 바뀔 때만 0으로 리셋)로 교체 — 결정 노트:
|
||||
[[2026-09-18-라운드-접수량-누적카운터]]
|
||||
- **DeskBar/CoreSwipeCard 정보 역할 분리**: "이번 라운드 접수량/한도"(카드를 더 받을지 판단)는
|
||||
결재 화면(CoreSwipeCard)이 전담하고, DeskBar는 "책상에 지금 쌓인 것"(총 주목도, 축별 분포,
|
||||
게이지·지출 가산)만 보여주도록 재배치. 중복 표시·죽은 CSS(zone 배너 등) 정리. `attentionZone`
|
||||
판정을 desk.js 단일 함수로 통일해 CoreSwipeCard가 갖고 있던 로컬 중복 로직 제거
|
||||
- **토큰 → 코인 용어 일괄 변경**: 상점이 본격 가동되면서 "토큰"보다 "코인"이 재화를 직관적으로
|
||||
떠올리게 한다는 피드백. `core/` 전체(식별자·CSS 클래스·주석·UI 텍스트, 17개 파일)와 기획서
|
||||
SSOT를 함께 갱신 — §10.4 자산 스키마의 구 3종 토큰 JSON 예시는 3차 미구현 상태라 제외했다.
|
||||
lucide `Coins` 아이콘을 책상 바·상점·의회의 코인 표시에 추가. `--color-token-budget` CSS
|
||||
변수는 레거시 참조용 컴포넌트가 계속 쓰므로 그대로 두고 `--color-coin` 별칭만 신설(같은 값을
|
||||
가리킴) — `--color-token-info`는 재화와 무관한 범용 강조색이라 이름을 바꾸지 않았다
|
||||
- Playwright로 검증: 4장 소멸하는 합본 전후 접수량이 17→17로 불변임을 직접 확인(이전엔 이
|
||||
케이스가 버그였다), 버스트 임계 정상 작동(주목도 25에서 한도 21 초과 종료) 확인, 전체 페이지
|
||||
텍스트에 "토큰" 잔존 0건·코인 아이콘 렌더 확인, 콘솔 에러 0건
|
||||
|
||||
## 2026-09-17 — 플레이 피드백 5건 반영 (합본 결재 리뉴얼 후속)
|
||||
|
||||
**무엇을 왜:** 합본 결재 리뉴얼(같은 날 앞선 작업) 이후 나온 밸런스 피드백 5건. 그중 "결재
|
||||
|
||||
+39
-39
@@ -45,7 +45,7 @@
|
||||
↓
|
||||
미사용 카드는 다음 라운드로 이월
|
||||
↓
|
||||
[정산 단계] 상점 — 토큰으로 자산·소모품·전례 구매
|
||||
[정산 단계] 상점 — 코인으로 자산·소모품·전례 구매
|
||||
↓
|
||||
[의회 단계] 실적 감사(이번 라운드 누적치) + 규약 표결 → 다음 라운드 룰 변경
|
||||
↓
|
||||
@@ -61,7 +61,7 @@
|
||||
1. **자율 종료 — "정산하기"**: 주목도가 한도 밑인 동안, 플레이어가 아무 때나 정산하기를 눌러 라운드를 마치고 상점으로 넘어갈 수 있다. "한 장 더 받을까 말까"의 선택권은 항상 플레이어에게 있다.
|
||||
2. **강제 종료 — 버스트**: 결재 직후 총 주목도가 이번 라운드의 한도를 넘으면 그 자리에서 즉시 라운드가 끝난다. **합본 기회 없이** 카드는 그대로 이월된다(§4.1).
|
||||
|
||||
한도는 라운드가 갈수록 커진다: `한도 = 21 + (라운드 번호 − 1) × 5`. 후반 라운드일수록 더 크게 쌓을 수 있지만, 그만큼 게이지·토큰 가산도 이미 높은 상태에서 쌓는 것이라 실질 위험은 줄지 않는다.
|
||||
한도는 라운드가 갈수록 커진다: `한도 = 21 + (라운드 번호 − 1) × 5`. 후반 라운드일수록 더 크게 쌓을 수 있지만, 그만큼 게이지·코인 가산도 이미 높은 상태에서 쌓는 것이라 실질 위험은 줄지 않는다.
|
||||
|
||||
> **블랙잭 유비**: 주목도=카드 합, 한도=21(1라운드 기준)이다. 한도 밑에서 멈추는 게 "스탠드", 계속 받는 게 "히트", 넘기면 "버스트"다. §1.1의 핵심 재미("지금 정리할 것인가, 더 모아서 크게 처리할 것인가")가 여기서 가장 직접적으로 드러난다 — 의회의 실적 압박은 합본·상점 자산 구매로 넘어서는 재미로 이어진다.
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
- **하드 캡 재도입 (2026-09-16, 구 결정 번복)**: 애초엔 하드 캡을 없애고 초과분 소프트 페널티로 대체했으나(§19 참고), 실제로 캡이 없으니 "지금 정리할까 더 모을까"의 리스크가 사라져 그 고민 자체가 무의미해졌다. 최초 임계치(21)는 낮게, 라운드가 갈수록 한도가 커지는 성장 곡선으로 초반 로그라이크 가혹함 문제를 완화했다.
|
||||
- **상신은 언제든 가능**: 카드가 2장뿐이어도 상신할 수 있다.
|
||||
- **자율 종료도 언제든 가능**: 한도 밑이면 원하는 시점에 정산으로 넘어갈 수 있다.
|
||||
- **버스트해도 이월은 자동**: 강제 종료로 합본을 못 해도 카드는 소멸하지 않고 다음 라운드로 넘어간다 (§4.1). 그 라운드에서 놓친 토큰·명분·실적 기회 자체가 손해다 — 별도 징벌이 필요 없다.
|
||||
- **버스트해도 이월은 자동**: 강제 종료로 합본을 못 해도 카드는 소멸하지 않고 다음 라운드로 넘어간다 (§4.1). 그 라운드에서 놓친 코인·명분·실적 기회 자체가 손해다 — 별도 징벌이 필요 없다.
|
||||
|
||||
---
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
|
||||
| 방향 | 의미 |
|
||||
|---|---|
|
||||
| 좌 / 우 | 두 개의 오염 카드 선택지 중 하나를 책상에 적재. **토큰 증감 없음** |
|
||||
| 좌 / 우 | 두 개의 오염 카드 선택지 중 하나를 책상에 적재. **코인 증감 없음** |
|
||||
| 위 | 보류 (1~2칸 소형 슬롯, 보조 장치) |
|
||||
|
||||
**프리뷰 표기**
|
||||
@@ -148,11 +148,11 @@
|
||||
|
||||
```
|
||||
주목도(축별) = 해당 축에 적재된 카드들의 등급 합 → A. 게이지 상승
|
||||
주목도(총계) = 책상 전체 카드들의 등급 합 (이월 포함) → C. 토큰 지출 가산
|
||||
주목도(총계) = 책상 전체 카드들의 등급 합 (이월 포함) → C. 코인 지출 가산
|
||||
주목도(이번 라운드) = 이번 라운드에 받은 카드들의 등급 합 → B. 라운드 한도 판정
|
||||
```
|
||||
|
||||
> **2026-09-17 결정**: 한도 판정만 "이번 라운드분"으로 분리한다. 한도 판정에 총계를 쓰면 이월 카드(§4.1) 때문에 라운드가 시작하자마자 이미 한도를 넘어 있어 **버스트가 무한 반복**된다(실제 플레이에서 라운드가 계속 자동으로 넘어가는 버그로 드러남). 블랙잭에서 각 핸드가 0부터 시작하듯, 한도는 "이번 판에 새로 떠안은 무게"만 센다. 이월된 카드의 압박은 사라지지 않고 총계 기준인 게이지 상승·토큰 가산으로 계속 작용한다. 결정 노트: `2026-09-17-주목도-라운드-분리`.
|
||||
> **2026-09-17 결정**: 한도 판정만 "이번 라운드분"으로 분리한다. 한도 판정에 총계를 쓰면 이월 카드(§4.1) 때문에 라운드가 시작하자마자 이미 한도를 넘어 있어 **버스트가 무한 반복**된다(실제 플레이에서 라운드가 계속 자동으로 넘어가는 버그로 드러남). 블랙잭에서 각 핸드가 0부터 시작하듯, 한도는 "이번 판에 새로 떠안은 무게"만 센다. 이월된 카드의 압박은 사라지지 않고 총계 기준인 게이지 상승·코인 가산으로 계속 작용한다. 결정 노트: `2026-09-17-주목도-라운드-분리`.
|
||||
|
||||
**A. 게이지 상시 상승** — 축별 **카드 장수**를 1차 기준으로, 등급 배율을 곱해 매 결재마다 대응 게이지 상승 (가안, 플레이 후 조정)
|
||||
|
||||
@@ -188,7 +188,7 @@
|
||||
|
||||
> **결정 이력**: 최초엔 "주목도 21 초과 시 즉시 강제 종료"안을 로그라이크 초반에 과하다는 이유로 기각하고 초과분 누진 페널티(소프트 오버런)로 대체했었다. 그런데 하드 캡이 없으니 "지금 정리할까 더 모을까"의 실제 리스크가 사라져 핵심 재미(§1.1)가 실종됐다 — 그래서 하드 캡을 되살리되, 한도 자체가 라운드마다 커지는 성장 곡선을 더해 초반 가혹함 문제만 따로 해결했다. 상세 근거는 결정 노트 `2026-09-16-라운드-주목도-하드캡-복원` 참고.
|
||||
|
||||
**C. 토큰 지출 가산** — 총 주목도에 따라 모든 토큰 지출에 가산
|
||||
**C. 코인 지출 가산** — 총 주목도에 따라 모든 코인 지출에 가산
|
||||
|
||||
| 총 주목도 | 가산 |
|
||||
|---|---|
|
||||
@@ -245,7 +245,7 @@
|
||||
|
||||
1. **페널티 소멸** — 사용된 오염 카드가 책상에서 **완전 소멸**하여 패시브 페널티 즉시 감소 (가장 큰 유인)
|
||||
2. **명분 산출** — 축이 종류를 결정 (§7)
|
||||
3. **토큰 획득** — 등급 합계가 양을 결정 (§8.2)
|
||||
3. **코인 획득** — 등급 합계가 양을 결정 (§8.2)
|
||||
4. **실적 점수** — §9.3
|
||||
5. **자산 트리거** — 패턴 반응형 자산 발동
|
||||
|
||||
@@ -305,11 +305,11 @@
|
||||
|
||||
> **유통기한은 필수.** 무한 저장 시 플레이어가 명분을 쌓아 한 번에 터뜨려 정치가 무의미해진다. 관료제 정합성도 확보된다 — 명분은 시의성이 생명이며 다음 라운드로 넘기면 효력을 잃는다.
|
||||
|
||||
### 7.2. 명분은 4종을 유지한다 (토큰과의 차이)
|
||||
### 7.2. 명분은 4종을 유지한다 (코인과의 차이)
|
||||
|
||||
토큰은 **양의 재화**이므로 1종으로 통합한다(§8). 명분은 **질의 재화**다 — 어떤 축을 합본했느냐가 어떤 정치 카드를 쥐었느냐로 직결되고, 이념색 페널티까지 따라붙는다. 1종으로 통합하면 "이번엔 절차 명분이 필요하니 대외 합본을 하자"는 계획이 사라지고 축 4개를 나눈 이유 자체가 소멸한다.
|
||||
코인은 **양의 재화**이므로 1종으로 통합한다(§8). 명분은 **질의 재화**다 — 어떤 축을 합본했느냐가 어떤 정치 카드를 쥐었느냐로 직결되고, 이념색 페널티까지 따라붙는다. 1종으로 통합하면 "이번엔 절차 명분이 필요하니 대외 합본을 하자"는 계획이 사라지고 축 4개를 나눈 이유 자체가 소멸한다.
|
||||
|
||||
> **역할 분담**: 토큰이 **양**을, 명분이 **질**을 담당한다. 합본 시 **축은 명분 종류를, 등급 합계는 토큰 양을** 결정한다.
|
||||
> **역할 분담**: 코인이 **양**을, 명분이 **질**을 담당한다. 합본 시 **축은 명분 종류를, 등급 합계는 코인 양을** 결정한다.
|
||||
|
||||
### 7.3. 용도 (4갈래)
|
||||
|
||||
@@ -359,17 +359,17 @@
|
||||
|
||||
### 8.1. 원칙
|
||||
|
||||
> **결재 단계에서 토큰 증감을 완전히 제거한다.** 토큰이 결재 순간에 개입하면 "어느 축의 오염을 받을까"라는 질문이 "예산이 부족하니 오른쪽"으로 덮어씌워진다. 손패가 없어 토큰을 배분할 수도 없으므로, 결재 단계의 토큰 수급은 선택을 왜곡하기만 한다.
|
||||
> **결재 단계에서 코인 증감을 완전히 제거한다.** 코인이 결재 순간에 개입하면 "어느 축의 오염을 받을까"라는 질문이 "예산이 부족하니 오른쪽"으로 덮어씌워진다. 손패가 없어 코인을 배분할 수도 없으므로, 결재 단계의 코인 수급은 선택을 왜곡하기만 한다.
|
||||
|
||||
### 8.2. 토큰은 1종 (합본에서만 산출)
|
||||
### 8.2. 코인은 1종 (합본에서만 산출)
|
||||
|
||||
토큰은 상점 재화이므로 종류를 나눌 이유가 없다. **단일 토큰**으로 통합한다.
|
||||
코인은 상점 재화이므로 종류를 나눌 이유가 없다. **단일 코인**으로 통합한다.
|
||||
|
||||
**산출량 = 합본에 사용된 카드의 기밀 등급 합계** (가안: 등급 1장당 등급 수치만큼)
|
||||
|
||||
> 예: 2급 + 3급 + 3급 합본 → 토큰 8
|
||||
> 예: 2급 + 3급 + 3급 합본 → 코인 8
|
||||
>
|
||||
> 축은 명분 종류를, 등급은 토큰 양을 결정한다. 따라서 플레이어는 **"어떤 축을 모을까"(정치)와 "어떤 등급을 모을까"(경제)를 별개로 판단**하게 된다. 고등급 오염은 위험하지만 돈이 된다.
|
||||
> 축은 명분 종류를, 등급은 코인 양을 결정한다. 따라서 플레이어는 **"어떤 축을 모을까"(정치)와 "어떤 등급을 모을까"(경제)를 별개로 판단**하게 된다. 고등급 오염은 위험하지만 돈이 된다.
|
||||
|
||||
### 8.3. 상점 (정산 단계)
|
||||
|
||||
@@ -382,13 +382,13 @@
|
||||
| **소모품(뉴스 카드) 구매** | 인장·등급 변경 도구 |
|
||||
| **전례 매입** | 내러티브 태그 획득 |
|
||||
|
||||
모든 품목은 단일 토큰으로 지불한다.
|
||||
모든 품목은 단일 코인으로 지불한다.
|
||||
|
||||
**진열 규칙**: 매 정산마다 무작위 4~6개 진열, 1회 리롤 가능(토큰 소모). 이번 회차 지부장 파벌에 따라 특정 아키타입 자산 등장률 ×3, 가중 파벌이 없는 아키타입은 S급 미등장.
|
||||
**진열 규칙**: 매 정산마다 무작위 4~6개 진열, 1회 리롤 가능(코인 소모). 이번 회차 지부장 파벌에 따라 특정 아키타입 자산 등장률 ×3, 가중 파벌이 없는 아키타입은 S급 미등장.
|
||||
|
||||
### 8.4. 초기 지급
|
||||
|
||||
취임 시 기본 토큰 지급 + 첫 합본까지의 유예 필요. 토큰 0으로 아무것도 못 하는 데드락 구간이 발생하지 않도록 할 것.
|
||||
취임 시 기본 코인 지급 + 첫 합본까지의 유예 필요. 코인 0으로 아무것도 못 하는 데드락 구간이 발생하지 않도록 할 것.
|
||||
|
||||
---
|
||||
|
||||
@@ -436,15 +436,15 @@
|
||||
| 예산 긴축 | 상점 가격 1.5배 |
|
||||
| 보고 체계 간소화 | (이득) 모든 합본 필요 장수 -1 |
|
||||
|
||||
**유형 C. 징벌 규약** — 실적 미달 시에만 자동 부과, **영구 누적, 상한 없음**. 결재당 게이지 추가 상승 / 특정 축 토큰 산출 봉쇄 / 상점 슬롯 감소 등. 해제 수단: 위기 명분, 또는 다음 라운드 실적 초과 달성.
|
||||
**유형 C. 징벌 규약** — 실적 미달 시에만 자동 부과, **영구 누적, 상한 없음**. 결재당 게이지 추가 상승 / 특정 축 코인 산출 봉쇄 / 상점 슬롯 감소 등. 해제 수단: 위기 명분, 또는 다음 라운드 실적 초과 달성.
|
||||
|
||||
> **상한을 두지 않는 이유**: 매 라운드 부과되는 것이 아니라 실적 미달 시에만 쌓이므로 회복 불가 상태로 직행하지 않는다. 오히려 게이지가 차지 않고 탄핵도 오지 않는 안정 상태에서 런이 무한정 늘어지는 것을 막는 **자연스러운 종료 압력**으로 기능한다. 누적될수록 실적 달성이 어려워지므로 결국 종결로 수렴한다.
|
||||
>
|
||||
> **UI 처리**: 누적 5개 초과 시 목록을 접거나 아이콘 스택으로 압축 표시할 것. 상시 전체 나열은 화면을 잠식한다.
|
||||
|
||||
**유형 D. 이득 규약** — 드물게 통과. 자산 지급, 족보 완화, 토큰 지급.
|
||||
**유형 D. 이득 규약** — 드물게 통과. 자산 지급, 족보 완화, 코인 지급.
|
||||
|
||||
구현된 5종(가안): 토큰 즉시 지급 / 결재당 게이지 상승 완화 / 토큰 지출 가산 완화 / **주목도 한도 증가** / 실적 요구치 하향. 후보 3개 중 하나가 D일 확률은 30% — §9.2의 "드물게 통과"를 확률로 옮긴 값이다. 자산 지급형은 자산 시스템(§10, 3차)이 생긴 뒤 추가한다.
|
||||
구현된 5종(가안): 코인 즉시 지급 / 결재당 게이지 상승 완화 / 코인 지출 가산 완화 / **주목도 한도 증가** / 실적 요구치 하향. 후보 3개 중 하나가 D일 확률은 30% — §9.2의 "드물게 통과"를 확률로 옮긴 값이다. 자산 지급형은 자산 시스템(§10, 3차)이 생긴 뒤 추가한다.
|
||||
|
||||
> **내부 명분과의 연결**: 유형 D가 없으면 §7.3의 내부 명분("후보 강제 상정")이 불리한 규약만 올릴 수 있어 쓸 이유가 없다. 상정 가능 목록에 이득 규약이 포함되는 것이 내부 명분의 존재 이유다.
|
||||
|
||||
@@ -453,7 +453,7 @@
|
||||
> **라운드당 합본 횟수를 강제하지 않는다.** 처리 장수나 합본 횟수를 요구하면 플레이어 선택이 감소하고 전략성이 떨어진다. **다중 통화 결산**으로 여러 경로를 허용한다.
|
||||
|
||||
```
|
||||
실적 점수 = Σ(이번 라운드 중 상신한 모든 족보 점수) + (토큰 납입 × 5) + (명분 납입 × 20)
|
||||
실적 점수 = Σ(이번 라운드 중 상신한 모든 족보 점수) + (코인 납입 × 5) + (명분 납입 × 20)
|
||||
```
|
||||
|
||||
> 한 라운드 안에서 합본(상신)을 몇 번 하든 — 자율 종료 전까지 여러 번 상신할 수도, 버스트로 강제 종료돼 한 번도 못 할 수도 있다 — 그동안 상신한 족보 점수를 전부 합산한다.
|
||||
@@ -464,14 +464,14 @@
|
||||
**UI**
|
||||
```
|
||||
[제3차 정례회의 요구 실적: 65]
|
||||
현재 확보: 50 (족보 25 + 토큰 납입 25)
|
||||
현재 확보: 50 (족보 25 + 코인 납입 25)
|
||||
부족: 15 → 명분 1개 납입 시 충족
|
||||
```
|
||||
|
||||
### 9.4. 13인 위원회
|
||||
|
||||
- **상임 이사회 8명**: 고정 이념. 국장의 성향 태그에 직접 반응.
|
||||
- **글로벌 지부장 5명**: 12개 파벌 풀에서 매 회차 무작위 선발. 실리(토큰·자산·축 처리 실적)에 반응.
|
||||
- **글로벌 지부장 5명**: 12개 파벌 풀에서 매 회차 무작위 선발. 실리(코인·자산·축 처리 실적)에 반응.
|
||||
|
||||
### 9.5. 정체 추론 (아발론 구조)
|
||||
|
||||
@@ -491,7 +491,7 @@
|
||||
```
|
||||
매 회차 지부장 중 1~2명이 실제로는 반대 진영. 표시는 우호이나 실제 표는 반대로 나간다.
|
||||
|
||||
**단서 = 표결 이력**: 매 라운드 표결 결과가 기록되고 **언제든 열람 가능한 UI**로 제공된다. "우호 표시인데 반대표를 던진" 이력이 쌓이면 정체가 드러난다. 즉시 확인은 명분 조사 또는 토큰 지불.
|
||||
**단서 = 표결 이력**: 매 라운드 표결 결과가 기록되고 **언제든 열람 가능한 UI**로 제공된다. "우호 표시인데 반대표를 던진" 이력이 쌓이면 정체가 드러난다. 즉시 확인은 명분 조사 또는 코인 지불.
|
||||
|
||||
> **필수 요건**: 정보가 부족하면 추론이 아니라 운이 된다. 배신자 1명 기준 **3~4라운드면 이력만으로 특정 가능**하도록 표결 빈도와 이력 가시성을 확보할 것.
|
||||
|
||||
@@ -518,7 +518,7 @@
|
||||
| 아키타입 | 정의 |
|
||||
|---|---|
|
||||
| `purge` | 책상의 오염 직접 제거 |
|
||||
| `convert` | 오염을 토큰·명분으로 환전 |
|
||||
| `convert` | 오염을 코인·명분으로 환전 |
|
||||
| `quarantine` | 오염을 페널티 없는 상태로 묶어두되 조건부 복귀 |
|
||||
| `skip` | 패시브 페널티 무시·경감 |
|
||||
|
||||
@@ -530,7 +530,7 @@
|
||||
| **적재 반응형** | 오염 적재 시 발동 (`on_pollution_gain`) | 높음 |
|
||||
| **누적형** | 스택 영구 누적 후 임계마다 발동 | 높음 |
|
||||
| **재발동형** | 다른 자산 효과 복제·재트리거 | 중간 |
|
||||
| **토큰 환산형** | 보유 토큰·명분 비례 효과 | 중간 |
|
||||
| **코인 환산형** | 보유 코인·명분 비례 효과 | 중간 |
|
||||
| **메타형** | 게이지·자산 수·책상 상태 조건 | 중간 |
|
||||
|
||||
> **누적형·재발동형은 노선 무관으로 등장시켜 범용 증폭기 역할을 부여할 것.** 발라트로에서 성장형·재배치형 조커가 어떤 빌드에도 꽂히는 것과 같다.
|
||||
@@ -565,7 +565,7 @@
|
||||
|
||||
| 경로 | 방식 |
|
||||
|---|---|
|
||||
| 상점 구매 | 주 경로. 토큰 소비 |
|
||||
| 상점 구매 | 주 경로. 코인 소비 |
|
||||
| 극비 프로젝트 결재 | 스와이프 중 등장, 즉시 획득 |
|
||||
| 이득 규약 | 의회 표결 결과 보상 |
|
||||
|
||||
@@ -613,7 +613,7 @@
|
||||
### 11.3. 금지 사항
|
||||
|
||||
- **태그를 소모 재화로 쓰지 말 것** — 페이즈 전환 카운터가 깨진다. 누적만 되며 소모되지 않는다.
|
||||
- **태그가 직접 명분·토큰을 산출하지 말 것** — 명분 인플레이션으로 합본할 이유가 사라진다. 태그는 **규칙만 바꾸고 재화는 만들지 않는다.**
|
||||
- **태그가 직접 명분·코인을 산출하지 말 것** — 명분 인플레이션으로 합본할 이유가 사라진다. 태그는 **규칙만 바꾸고 재화는 만들지 않는다.**
|
||||
|
||||
### 11.4. 연대기 시스템
|
||||
|
||||
@@ -683,7 +683,7 @@
|
||||
|
||||
| 노선 | 특기 | 상징 연결 |
|
||||
|---|---|---|
|
||||
| **이지스 재단** | **정면 대응** — 모든 합본의 필요 장수 -1. 단 명분 산출 없음 (페널티 제거·토큰만) | 방패는 막을 뿐 공세로 나아가지 않는다. 기준선 노선이므로 규칙이 가장 단순 |
|
||||
| **이지스 재단** | **정면 대응** — 모든 합본의 필요 장수 -1. 단 명분 산출 없음 (페널티 제거·코인만) | 방패는 막을 뿐 공세로 나아가지 않는다. 기준선 노선이므로 규칙이 가장 단순 |
|
||||
|
||||
| **프로메테우스 랩** | **배양 합본** — 합본 사용 카드 1장을 소멸시키지 않고 '검체'로 남겨 다음 합본에 재사용 | 훔친 불을 가둬 배양한다 |
|
||||
| **우로보로스 협의회** | **순환 합본** — 단계적 상신 성립 시 마지막 카드가 처음으로 돌아가 연쇄 발동 | 꼬리를 삼키는 뱀 |
|
||||
@@ -732,7 +732,7 @@
|
||||
| 분류 | 조건 |
|
||||
|---|---|
|
||||
| **기본 붕괴** | 엔트로피 100% (세계 멸망) / 조직 저항 100% (사임) / 대중 공황 100% (문명 붕괴) / 탄핵 방어 실패 (정치적 탄핵) |
|
||||
| **변주 붕괴** | 기본 붕괴 + 특정 토큰·자산·전례 조합 보유 |
|
||||
| **변주 붕괴** | 기본 붕괴 + 특정 코인·자산·전례 조합 보유 |
|
||||
| **노선 엔딩** | 각성한 노선의 전용 조건 달성 (각성 시 목표로 제시) |
|
||||
| **전례 연쇄 엔딩** | 특정 전례를 정해진 순서로 수립 |
|
||||
|
||||
@@ -772,7 +772,7 @@
|
||||
1. [x] **기호 체계 + 책상 상태 상시 노출 UI** (§3)
|
||||
2. [x] **책상 적재 + 누진 패시브 페널티 A·B** (§4)
|
||||
3. [x] **표준 족보 판정 및 합본 실행** (§5) — §2.2 주목도 하드 캡(버스트)·자율 정산 로직까지 포함
|
||||
4. [x] **합본 기반 토큰 산출** (§8.2)
|
||||
4. [x] **합본 기반 코인 산출** (§8.2)
|
||||
|
||||
### 2차 — 압박 완성
|
||||
5. [~] **상점** (§8.3) — "오염 카드 직접 처리"만 구현. 자산 구매·소모품·전례 매입은 3차가
|
||||
@@ -816,7 +816,7 @@
|
||||
- [ ] 족보 봉쇄 규약이 빌드에 따라 다르게 아픈가?
|
||||
- [ ] 실적 미달을 감수하는 선택이 실제로 성립하는가?
|
||||
- [ ] "일은 잘했는데 정치적으로 죽는" 상황이 발생하는가?
|
||||
- [ ] 상점이 토큰 획득에 의미를 부여하는가?
|
||||
- [ ] 상점이 코인 획득에 의미를 부여하는가?
|
||||
|
||||
**빌드 (3차)**
|
||||
- [ ] 자산 발동 로그로 엔진이 도는 것이 체감되는가?
|
||||
@@ -841,7 +841,7 @@
|
||||
|
||||
| 항목 | 결정 | 근거 |
|
||||
|---|---|---|
|
||||
| 토큰 종류 | **1종 통합** | 상점 재화이므로 양만 의미 있음. 종류 분화는 번거로움만 추가 |
|
||||
| 코인 종류 | **1종 통합** | 상점 재화이므로 양만 의미 있음. 종류 분화는 번거로움만 추가 |
|
||||
| 명분 종류 | **4종 유지** | 질의 재화. 통합 시 축 선택의 의미가 소멸 |
|
||||
| 합본 사용 카드 | **완전 소멸** | 프로메테우스 '배양'이 예외로 성립하려면 기본이 소멸이어야 함 |
|
||||
| 이지스 합본 특기 | **필요 장수 -1, 명분 없음** | 합본은 쉽고 정치는 어려운 구조가 노선 컨셉과 일치 |
|
||||
@@ -859,12 +859,12 @@
|
||||
- 이중첩자 수 1명 vs 2명 (2명이면 추론 난도 급상승)
|
||||
- 신임 위원회 지명 인원 3명의 적정성
|
||||
- 실적 요구치 상승 곡선 (라운드당 +20 가안)
|
||||
- 토큰 납입 5점 / 명분 납입 20점 환산 비율
|
||||
- 코인 납입 5점 / 명분 납입 20점 환산 비율
|
||||
- 페이즈별 오염 공급량·등급 분포 곡선
|
||||
- 각성 임계치 15의 적정성
|
||||
- 이지스 재단: 「명분 산출 없음」 vs 「명분 절반(내림)」 비교 검증
|
||||
- 합본 토큰 산출량 산식 (등급 합계 그대로 vs 계수 적용)
|
||||
- **§4.2-A/C 게이지 상승·토큰 가산의 누진 구간 수치 전체 (1~15/16~30/31~40/41+ 등)**
|
||||
- 합본 코인 산출량 산식 (등급 합계 그대로 vs 계수 적용)
|
||||
- **§4.2-A/C 게이지 상승·코인 가산의 누진 구간 수치 전체 (1~15/16~30/31~40/41+ 등)**
|
||||
- **§5.1 족보표의 명분·실적 점수 배율 (상하위 격차가 지금 과한지 부족한지)**
|
||||
- **§2.2/§4.2-B 라운드 주목도 한도의 시작값(21)·증가폭(+5) 적정성 — 라운드를 몇 번쯤 버틸 수 있어야 하는지와 연동해서 정할 것**
|
||||
|
||||
@@ -914,7 +914,7 @@
|
||||
| 적재 반응형 | `pollution_reactive` |
|
||||
| 누적형 | `cumulative` |
|
||||
| 재발동형 | `repeater` |
|
||||
| 토큰 환산형 | `token_scaling` |
|
||||
| 코인 환산형 | `coin_scaling` |
|
||||
| 메타형 | `meta` |
|
||||
| **주기형** (§21 ③에서 추가) | `periodic` |
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
created: 2026-09-18
|
||||
---
|
||||
%% 파일명: 2026-09-18-라운드-접수량-누적카운터. 규칙 문서엔 규칙만, 이유는 여기에 %%
|
||||
|
||||
## 결정
|
||||
- 이번 라운드 접수량(§4.2-B 한도 판정 기준)을 **책상 카드에서 파생시키는 값**이 아니라, **CoreGameScreen이 직접 들고 있는 순수 누적 카운터**로 바꾼다.
|
||||
- 카드를 받을 때마다 그 등급만큼 카운터를 더한다. 합본으로 책상 카드가 사라져도 이 카운터는 줄지 않는다.
|
||||
- 카운터는 라운드가 바뀔 때(의회 결의 후)만 0으로 리셋된다.
|
||||
- 책상 전체 주목도(이월 포함, 게이지·코인 가산의 기준)는 지금처럼 `deskCards`에서 그대로 파생시킨다 — 이번 결정은 "라운드 한도 판정용" 수치에만 적용된다.
|
||||
|
||||
## 배경
|
||||
- 플레이 피드백: "합본을 많이 하게 되면 라운드가 너무 길어진다. 지루함을 유발함."
|
||||
- 원인: 기존 `roundAttention(deskCards, round)`이 "책상에 남아 있는, 이번 라운드에 받은 카드"를 매번 다시 필터링해 합산하는 파생값이었다. 합본하면 그 카드들이 책상에서 사라지므로 접수량도 같이 줄었다 — 5장 받아 한도(21)에 걸린 뒤 합본하면 0으로 리셋되고, 다시 5장을 받을 수 있는 구조였다. 이론상 무한 반복이 가능했다.
|
||||
- 블랙잭 유비(§2.2)로 보면 명백한 모순이었다: 블랙잭은 받은 카드를 버려서 핸드 합계를 낮출 수 없다. §1.1의 핵심 재미("지금 정리할 것인가, 더 모아서 크게 처리할 것인가")는 "정리해도 이번 판에 받은 기록 자체는 남는다"는 전제 위에서만 성립하는 긴장이다.
|
||||
- 관료제 프레이밍과도 맞아떨어진다 — "접수 대장은 지워지지 않는다"(처리를 해도 이번 회기에 접수한 기록은 남는다).
|
||||
|
||||
## 검토했으나 기각한 대안
|
||||
- **오염 카드가 더 어렵게 등장하도록 조정**: 운이 나쁘면 여전히 무한에 가깝게 라운드가 늘어질 수 있어 근본 해결이 아니었다. 또한 합본 카타르시스(§18 체크리스트)를 깎는 역방향 수정이라 기각.
|
||||
- **합본해도 주목도가 전혀 안 깎이게 함**: §5.2 "페널티 소멸"이 합본의 가장 큰 보상인데, 이걸 없애면 대규모 합본이 판을 뒤집는다는 §4.3 원칙이 죽는다. 책상 총 주목도(게이지·코인 가산 기준)는 지금처럼 계속 깎이게 두고, **한도 판정용 수치만** 분리해 안 깎이게 하는 절충안을 택했다.
|
||||
- **이월 카드에 할인율을 적용해 합산**: 화면 숫자로 한도까지 몇 점 남았는지 암산이 안 돼 §3 "0.5초 판단" 요건에 어긋난다 — 2026-09-17 결정(주목도-라운드-분리)에서 같은 이유로 기각한 전례와 일관성을 유지했다.
|
||||
|
||||
## 재검토 조건
|
||||
- 한도(§4.2-B, 시작 21 + 라운드당 +5)가 이 변경으로 실질적으로 더 타이트해졌다 — 신규 카드만으로는 라운드당 합본 1회 안팎이 표준이 된다(평균 등급 4.14 기준 한도 21 ÷ 4.14 ≈ 5장). 실측 플레이 후 한도 시작값·증가폭을 재조정할 것(§20.1 기존 튜닝 항목과 연동).
|
||||
- 라운드 내 여러 번 상신(§9.3 "합본을 몇 번 하든 그동안 점수를 합산")이 실제로 자주 일어나는지, 아니면 사실상 라운드당 1회로 굳어지는지 확인 필요.
|
||||
Reference in New Issue
Block a user