Commit Graph
18 Commits
Author SHA1 Message Date
kyoung5seoandClaude Opus 5 392a125125 모바일: 로그가 쌓이면 합본 결재 버튼이 화면 밖으로 밀리는 버그 수정
- .App 가운데 정렬(가로 flex) → 세로 flex + 화면 높이 고정. 내용이 넘칠 때
  상단 툴바가 잘리고 내부 스크롤이 동작하지 않던 근본 원인
- 책상바 sticky 상단 고정, html/body 스크롤 차단 + #root 100dvh
- 짧은 화면(≤760px)에서 로그 2줄 높이로 축소, 카드 min-height 해제·여백 축소
- 390×660 뷰포트에서 결재 12회(상점·의회 경유) 동안 합본 결재 버튼 노출·클릭 확인

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 08:48:16 +09:00
kyoung5seoandClaude Sonnet 5 20207ff23c 라운드 접수량 버그 수정 + 토큰→코인 용어 통일 + 외부 배포(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>
2026-09-18 23:20:22 +09:00
kyoung5seoandClaude Sonnet 5 6398599199 규약 세부화(유형D·13석 표결·툴팁) + 밸런스 피드백 5건 반영
같은 날 두 차례 플레이테스트에서 나온 이슈를 이어서 처리했다.

**의회 세부화**
- 유형 D(이득 규약) 5종 신설 — 토큰 지급/게이지 완화/지출 가산 완화/
  주목도 한도 증가/실적 요구치 하향. 내부 명분("강제 상정")이 여태 불리한
  유형 A만 올릴 수 있어 실속 없던 문제를 해결 — 상정 풀에 D가 포함되는 게
  내부 명분이 존재하는 이유
- 13석 표결을 실제 표 수로 구현(tallyVotes, 최대잔여법 + 결정적 해시).
  혼합 명분이 "직접 통과 지정" 자리표시자에서 §7.3 스펙대로 실제 1표
  이동으로 교체 — 동점은 스윙 전 득표가 많던 쪽이 이겨 1표 차에서만 뒤집힘.
  의회 화면에 후보별 예상 득표·표 차·뒤집기 가능 여부를 미리 노출
- 공보 축 오염 선택지 1→7개로 보강(서사 기준 6개 재배정), 축 분포 균형화

**툴팁 신설 (InfoTooltip·ProtocolChip)**
- 규약·징벌·명분을 클릭하면 정확히 무엇이 막혔는지 설명이 뜬다. 문구는
  UI가 추측하지 않고 council.js의 protocolEffectDetail·justificationDetail이
  카탈로그에서 생성. 모바일 대상이라 hover가 아닌 클릭으로 연다

**크리티컬 버그: 주목도 미초기화**
- 라운드 종료 후 한도 판정에 총 주목도(이월 포함)를 쓰고 있어, 2라운드가
  시작하자마자 이미 한도를 넘어 버스트가 무한 반복되고 있었다. 한도 판정은
  "이번 라운드에 받은 카드"만 세도록 분리(roundAttention), 게이지·토큰
  가산은 기존대로 총계(이월 포함) 기준 유지

**밸런스 피드백 5건**
- 결재 카드가 고정으로 보인다는 지적 → 실제 버그였다. cardIndex를 그냥
  +1씩 돌려 CSV 순서 그대로 결정론적으로 반복되고 있었다. Fisher–Yates
  셔플 큐로 교체(큐 소진 시 재셔플)
- 위협 축도 거의 안 나온다 → 위 셔플 버그가 원인의 상당 부분. 명백한
  오배정 1건도 발견해 수정(id11 "군사 개입 지시": 고대 신 소환 저지가
  인사 축으로 잘못 들어가 있었음 → 위협 축)
- 게이지 상승이 너무 낮음 → 등급 합계(주목도) 단독 기준이 실제 카드
  등급 분포(대부분 1~4급)와 맞지 않아 3~4장을 쌓아도 최하 구간을 못
  벗어났다. 카드 장수를 1차 기준으로 되돌리고 등급 배율(평균등급/5)을
  곱하는 방식으로 재설계 — 3~4장 구간에서 6배 점프(0.5%→3.0%)
- 좌우 모두 오염 없는 완전 무행동 카드 1건(id15) 수정 — 좌측에 대외/6급
  부여(기존 tag_corruption과 정합)
- 오염 카드 한쪽만 있어 안전 선택 메리트가 없다는 지적은 카드 데이터가
  아니라 게이지 곡선 문제로 판단, 위 재설계로 해결(카드 재배분 안 함)

**문서**
- 결정 노트 2건: 2026-09-17-주목도-라운드-분리,
  2026-09-17-게이지상승-장수기준-복원(기각한 대안 포함)
- 기획서 §4.2-A/B, §7.3, §9.2, §17 갱신. DEVLOG 2건 기록

Playwright로 전 구간 검증: 셔플(3회 재접속 시 다른 카드, 15연속 무반복),
게이지 상승률 표시, 13석 표결 예상치, 규약/명분 툴팁, 2라운드 진입 시
주목도 0으로 리셋 확인. 콘솔 에러 0건, 빌드 클린.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 23:00:42 +09:00
kyoung5seoandClaude Sonnet 5 0a065068c1 등급 1~10 확장 + 라운드 주목도 하드 캡 재구현, 문서 체계 정비
서울 PC에서 Remote-SSH로 작업하던 중 연결이 끊겨 커밋 전 상태로 유실된
2026-09-15 결정사항(등급 1~4→1~10 확장, 5장 포커 핸드, 주목도 기반 페널티,
토큰 1종 통합, 상점/규약 재작성)을 평택 로컬 체크아웃에서 전체 재구현했다.
그 과정에서 라운드/회기 구조를 오해해서 잘못 반영했던 부분을 다시 고쳤다.

**데이터**
- cards.csv 43개 선택지, pollution_pool.csv 재매핑 — 등급 1·3 공백을 없애고
  1~10 전 구간을 채움 (평균 등급 4.14, 8결재 기준 예상 주목도 33)
- pollution_pool.csv에 등급 1·3 전용 오염 카드 8개 신규 추가 (축별 2개)

**게임 루프**
- 라운드/회기 이층 구조 도입 → 원래 의도(라운드마다 정산·의회를 거치는 것)와
  어긋난 오해로 판명, 단일 라운드 구조로 환원
- 라운드 종료 조건을 "결재 8건 고정"에서 블랙잭식 하드 캡으로 교체 —
  주목도가 라운드 한도(21 + 라운드당 +5)를 넘으면 합본 기회 없이 즉시 강제
  종료(버스트), 한도 밑에서는 "정산하기"로 언제든 자율 종료 가능
- CouncilScreen: 징벌 규약 5개 초과 시 목록 접기/펼치기 (§9.2 UI 요건)

**문서 체계**
- CLAUDE.md: 흩어진 기획 문서 7종 참조를 코어시스템 기획서 단일 참조(§ 매핑
  포함)로 교체, Phase 진행 표 폐지 후 §17 체크박스를 진행 상황 원본으로 지정
- CLAUDE.md에 "결정 노트" 규칙 신설 — T-decision.md 양식 + DEVLOG 위키링크 연동
- docs/DEVLOG.md 신규 작성 (구 버전은 old/2026.09.04/ 보관)
- 결정 노트 2건 작성: 등급확장-주목도시스템, 라운드-주목도-하드캡-복원
- ProjectSS_코어시스템_기획서.md §2/§4.2-B/§17/§19/§20을 현재 결정에 맞게 갱신

Playwright로 등급 1·3 카드 실등장, 라운드 번호 증가, 주목도 초과 시 버스트→
상점 강제 전환까지 실제 브라우저에서 확인. 콘솔 에러 0건.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 23:09:55 +09:00
kyoung5seo cde44c4f2c 2차 구현 완료 (§17: 상점·규약·실적 감사·명분) - 플레이는 해봤지만 피드백은 아직 정리 안함
라운드 구조(결재 8건 → 상점 → 의회 → 다음 라운드)를 얹고, 신규 파일들로 구현했습니다. Playwright로 라운드 전체를 실제로 돌려 확인 완료(콘솔 에러 0건).

만든 것
엔진 (core/engine/)

council.js — §7 명분 산출/개입, §9.2 규약(유형A 5종 카탈로그 + 유형C 징벌 2종), §9.3 실적 요구치 공식
shop.js — §8.3 상점 진열/가격/리롤
UI

ShopScreen — 오염 카드 직접 소각(토큰), 진열 4~6개 무작위, 리롤 1회
CouncilScreen — 실적 감사(토큰·명분 납입으로 요구치 충족) + 규약 후보 3개 + 명분 개입(절차/여론/위기/내부/혼합)
DeskBar/CombinePanel — 징벌 규약의 게이지·토큰 가산 반영, 활성 규약이 막은 족보 표시
라운드 루프: CoreGameScreen이 결재 8건마다 자동으로 상점→의회로 전환하고, 의회 결의 시 실적 판정→징벌 부과/해제→규약 표결→다음 라운드로 넘어갑니다. 4대 게이지 100% 도달 시 게임오버 화면도 추가했습니다(엔딩 분기는 4차라 텍스트만).

검증 (Playwright)
8회 스와이프 → 상점 화면 전환 → 의회 화면(요구실적 25, 후보 3개) → 결의 확정 → 2라운드 진입, 상단에 ⚖ 통과된 규약명 표시 → 합본 패널 열면 해당 규약이 칩으로 뜨고 filterHandsByProtocols가 막는 족보를 실제로 걸러냄. 스크린샷 다수 확인, 콘솔 에러 0건. 상점 아이템 버튼 텍스트가 화면 밖으로 살짝 잘리는 버그도 발견해서 즉시 수정했습니다.

의도적으로 축소한 부분 (문서에 근거 있음)
상점은 "오염 카드 직접 처리" 한 품목뿐 — 자산 구매(§10)·소모품(§12)·전례 매입(§11)은 전부 3차 항목이라 카탈로그 자체가 없습니다. §17 로드맵 순서를 지키기 위한 의도적 축소입니다.
규약 표결은 가중 무작위 — 13인 위원회의 실제 우호도·이중첩자·탄핵(§9.4~9.6)은 4차 범위. 지금은 후보 3개 중 하나를 무작위로 "통과"시킵니다.
혼합 명분("표 뒤집기")은 문자 그대로 구현할 표가 없어서, "후보 하나를 직접 통과 지정"으로 대체했습니다 — 최종 효과(원하는 규약 통과)는 같지만 4차에서 실제 위원회가 생기면 반드시 재설계해야 할 자리표시자로 코드에 표시해 뒀습니다.
§7.3 이념색 페널티(파벌 우호도 하락)는 스킵 — 8대 상임이사회 우호도 추적 자체가 4차 항목이라 지금은 걸 게 없습니다.
라운드당 결재 수 8건, 상점/징벌 가격 수치는 전부 가안 — 플레이해보고 조정 대상입니다.
2026-09-05 01:39:55 +09:00
kyoung5seo 83060f3e5b 구현 우선 순위 1차 진행 완료
- 1차 — 코어 검증 (여기까지만 되어도 재미 판정 가능)
  1. **기호 체계 + 책상 상태 상시 노출 UI** (§3)
  2. **책상 적재 + 누진 패시브 페널티 A·B** (§4)
  3. **표준 족보 판정 및 합본 실행** (§5)
  4. **합본 기반 토큰 산출** (§8.2)

 게임 플레이 후 피드백 해결
 - 내용은 아래 문서 참고
 - docs/decisions/2026-09-05_core-graybox-ux-feedback.md
2026-09-05 01:06:41 +09:00
kyoung5seo 54e2fa8132 - 새로운 브랜치 생성: rework/combined-filing
- 마이그레이션 완료 (기존 작업물을 기반으로 ProjectSS_코어시스템_기획서대로 만들기 위한 준비 작업)
- 기존 docs 문서를 모두 old/2026.09.04 폴더로 이동
- docs에 ProjectSS_코어시스템_기획서 추가
2026-09-04 23:40:41 +09:00
kyoung5seo 8833e52fab CLAUDE.md 정리 (중복, 충돌, 개선)
파일 역할 분담 개선
ProjectSS/
├── CLAUDE.md      ← 규칙 (거의 안 변함) · Claude Code용
├── AGENTS.md      ← 프로젝트 정체성 (거의 안 변함) · Hermes용
├── ROADMAP.md     ← Phase별 계획·완료 기준 (기존 그대로)
└── docs/
    └── DEVLOG.md  ← 신규: 날짜별 작업 이력 + 미해결 이슈
2026-08-06 22:19:13 +09:00
kyoung5seoandClaude Sonnet 5 db1051c08c 자산(엔진) 시스템 v1 + 오염 카드 압박 강화
자산 시스템 (docs/작업지시서/자산시스템_작업지시서.md 반영, 이전 세션 작업분 커밋):
- 발라트로형 조커 레이어 엔진 빌딩 도입. assets.json 8종(트리거→효과→성장 스키마) +
  engine/assetEngine.js(이벤트 버스, 연쇄 깊이 상한 10)로 기존 수동 클릭형 자산 4종 전면 대체
- AssetInfoPopup 추가 — 자산 슬롯 클릭 시 트리거/효과/스택/충전 상태 표시, 발동 로그 피드 노출

오염 카드 압박 강화 (그레이박스 위기감 피드백 반영):
- engine/pollution.js 신설 — 오염 주입 규칙(타입 매핑·등급 추첨·물량)을 단일 모듈로 분리해
  사전 예고(SwipeCard) · 실제 주입(GameScreen) · 사후 알림이 같은 계산을 공유하도록 함
- 위험 파라미터를 올리는 결재는 정례회의를 기다리지 않고 그 자리에서 덱에 오염 카드를 주입
- UI 3종: 스와이프 시 오염 유입 사전 경고, 결재 후 유입 토스트, 상단 덱 오염 상시 게이지
- currentCardIndex를 매 결재마다 덱 길이로 정규화(주입/소각으로 덱 길이가 바뀌므로 필요)

기타:
- docs/architecture_design.md를 실제 구현(plain JS/CSS, useState, engine/ 순수 함수 경계)
  기준으로 전면 재작성 — 기존 문서는 채택되지 않은 초기 제안(Tailwind/Zustand/TS)이었음
- playtest.bat 추가 — 더블클릭으로 dev 서버 실행 (ASCII 전용, chcp로 인한 배치 파싱 오류 회피)
- CLAUDE.md 상태 갱신 및 실기 플레이 결과 기록

실기 플레이로 정상 동작 확인. 자산 획득 경로(극비 카드 스와이프)는 플레이 중 한 번도 발생하지
않아 원인 미조사 상태로 남김 — CLAUDE.md에 후속 확인 항목으로 기록.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 22:59:30 +09:00
kyoung5seo 31558edcb2 Part A (연대기 ↔ 내러티브 태그 개념 분리) — 문서 6개 반영
시스템 기획서: 내러티브 태그 항목에서 연대기 서술 제거, 연대기를 독립 항목으로 신설
스토리 바이블: "연대기의 편찬" 테마를 '결정 장부' 관점으로 재서술
텍스트 와이어프레임: 팝업을 '세계의 상흔'(태그) / '연대기'(결재 이력) 2종으로 분리, 엔딩 화면에 연대기 요약 블록 추가
비전 문서 / PRD / 유저플로우 / 개발순서: 각각 정의 분리 및 분리 저장 명시
Part B (스니펫 시스템) — B-4 결정사항(은근한 헌신 농도, 고정 마침 도장 리스트) 반영

narrative_tags.json 10종 전체에 snippet(1문장, 숫자 1개, 거리감 있는 관료체) + snippet_type 필드 추가 — 시스템형 7 : 사람형 3 비율. update_csv_tags.js는 이 파일을 생성/가공하지 않아 스크립트 변경 불필요했습니다.
빌드(vite build) 정상 확인.
2026-07-13 21:22:42 +09:00
kyoung5seo cdee98ffc2 Merge branch 'main' of https://git.mint-grape.duckdns.org/kyoung5/ProjectSS 2026-07-09 23:20:31 +09:00
kyoung5seo ad7db470f6 Phase 2~4 그레이박스 시스템 완성 및 내러티브 태그 재설계
1. Phase 2 완료 — 자원 경제 & 덱빌딩
   - 파산 문책 시스템: 토큰 마이너스 상태로 결재 시 파산 카운터 증가,
     의회에서 단계별 경고 → 미개선 시 다음 의회에서 해임 게임오버
   - 오염 카드 등급 확률: 엔트로피/내부저항/대중공황/위험계수 단계에 비례한
     S/A/B/C 가중치로 의회 종료 시 오염 카드 자동 주입
     (신화/조직저항/사회공황/이사회압박 16종 카드 신규 추가)
   - 자산 효과 4종 구현: 성질 변환·시한부 격리·물리적 영구 소각·결재권 강제 행사
     (자산 슬롯 클릭으로 발동)

2. Phase 3 완료 — 정치 시스템 & 스토리 페이징
   - 글로벌 지부장 12개 파벌이 각자 다른 공식으로 우호도를 계산하는 엔진 추가.
     게임 시작 시 5명 무작위 선발, 동맹/파국 성향 임원은 국장의 개입(매수/감사)에 면역
   - 내러티브 태그 누적치에 따라 페이즈1(일상/위기) → 페이즈2(작전/극비) 카드 풀이
     실시간으로 전환되도록 구현
   - 버그 수정: 위험 수용 계수(risk)가 직접 게임오버를 발동시키지만 EndingScreen에
     대응 엔딩이 없어 "미확인 종말" 빈 폴백으로 빠지던 문제 (risk는 탄핵 기준치로만 사용하도록 수정)
   - 버그 수정: CouncilScreen의 임원 초기화 effect가 매수 액션의 risk 상승으로
     재실행되며 방금 강제 전환한 투표 결과를 덮어쓰던 문제 (마운트 시 1회만 초기화하도록 수정)

3. Phase 4 완료 — 멀티 엔딩 & 연대기
   - 우선순위 기반 엔딩 판별기(endings.js) 신규: 의회 정치 엔딩 > 내러티브 연쇄 엔딩 >
     변주된 붕괴 엔딩(자원 태그 3종 + 토큰 3종) > 기본 붕괴 엔딩, 총 15종 엔딩 카탈로그
   - 극단적 파라미터 조기 엔딩: 단일 결재로 파라미터가 급격히 5단계에 도달하면
     "돌이킬 수 없는 순간" 즉시 발동
   - 엔딩 도감(EndingCodex) 신규 컴포넌트: 해금/미해금(???) 표시,
     localStorage(ss_endings_v2)에 엔딩 고유 id 기준으로 영구 저장
   - 연대기 팝업에 타임라인(세로선 + 턴별 점) 시각화 추가

4. 내러티브 태그 시스템 재설계
   - 기존에는 결재 카드 한 장당 무조건 +1 되던 카운터였으나, "항상 얻는 보상이 아니다"라는
     기획 의도에 맞춰 선별된 카드(22/63장)의 좌/우 선택지에만 짧은 키워드를 부여하도록 변경
     (cards.csv에 left_narrative/right_narrative 컬럼 추가)
   - 연대기 팝업 상단과 엔딩 화면에 수집한 키워드를 칩(chip) 형태로 표시
   - 위 재설계로 태그 획득이 희소해진 만큼, 페이즈 전환 문턱을 4/8 → 2/4로 하향 조정

5. 기타
   - 로컬 Node.js LTS 설치 및 Playwright 기반 실기 플레이 검증 체계 확립
   - ROADMAP.md/CLAUDE.md Phase 상태 갱신 (Phase 0~4 그레이박스 구간 완료,
     다음은 외부 플레이어 그레이박스 테스트)
2026-07-09 22:46:30 +09:00
Kyoung5seo c67914c248 feat: add initial cards dataset to client data directory 2026-06-25 22:51:30 +09:00
Kyoung5seo 4c44f942c5 내러티브 태그 시스템 개선
요청하신 내러티브 태그 시스템과 시각화 작업을 모두 완료했습니다! 이전에 멈췄던 개발 서버( npm run dev )도 다시 실행해
  두었으니, 새로고침 후 바로 확인해 보실 수 있습니다.
  구현된 시스템의 주요 변경점은 다음과 같습니다.
  ### 1. 내러티브 데이터 생성 및 연동 ( narrative_tags.json ,  cards.csv )

  • 기획서의 세계관을 바탕으로 피도 눈물도 없는 진압, 진실의 장막, 금지된 지식(이계 조우), 사이비의 그림자 등 서사
  몰입을 돕는 내러티브 태그 데이터를 생성했습니다.
  • 매 결재마다 무조건 얻는 것이 아니라, 특정 카드(예: 민간인 구역 폭격, 유물 연구 등)에서 특정한 선택을 했을 때만
  불규칙적으로 획득하도록  cards.csv  데이터를 스크립트로 자동 매핑했습니다.

  ### 2. 결재 시 스와이프 보상 시각화 ( SwipeCard.jsx ,  SwipeCard.css )
  • 내러티브 태그가 걸려 있는 선택지 쪽으로 스와이프(미리보기)를 하면, 텍스트 상단에 노란색 바탕의 뱃지( 💡 진실의 장막
  )가 심장 박동처럼 깜빡이는 애니메이션과 함께 아주 눈에 띄게 표시됩니다. 플레이어가 "아, 이 선택을 하면 스토리에 큰
  영향을 주는구나"를 직관적으로 알 수 있습니다.
  ### 3. 태그 획득 알림 팝업 ( GameScreen.jsx )

  • 결재를 완료하여 내러티브 태그를 얻는 순간, 화면 중앙 상단에  [새로운 내러티브 획득! - 금지된 지식]  형태의 눈에
  띄는 팝업 알림이 내려왔다가 3초 뒤 자연스럽게 사라지도록 구현했습니다.

  ### 4. 연대기 창 서사 부각 개편 ( ChroniclePopup.jsx ,  ChroniclePopup.css )

  • 단순히 텍스트만 나열되던 방식을 타임라인(Timeline) 형식으로 전면 재설계했습니다.
  • 과거의 기록에는  [위기] 상황 키워드 와 함께 내가 어떤 서사를 마주했고 어떤 결정을 내렸는지 명확히 표시됩니다.
  • 태그 획득 시각화: 특히 내러티브 태그를 얻은 턴은 배경이 금빛으로 하이라이트되며, 획득한 태그의 **자세한 설명(스토리
  서사)**이 커다란 아이콘과 함께 표시됩니다. 이를 통해 유저가 왜 이런 태그를 얻었는지 서사를 깊게 이해할 수 있습니다.
2026-06-25 22:48:38 +09:00
Kyoung5seo 56f494f331 피드백 수정 사항 적용 (모두 반영된 것은 아님)
▶주간 의회 명칭 변경: 주간 의회 --> 정기 의회
▶라운드 당 결재 건수는 다름 : 라운드가 증가할때마다 결재 건수가 줄어들도록 하여 아쉬움 발생 - 결재 건수가 0이 되면 게임 오버 (검토를 해보고 줄어드는게 나을지 늘어나는게 나을지 검토 해줘)
▶라운드 구성 개념의 디테일 부족: 기획서에 플로우차트(다이어그램)를 추가 ('결재 단계'와 '주간 의회 단계'의 흐름이 플레이어와 개발자 모두에게 명확하도록)
▶확인 결과 아래 데이터 없음. 데이터 추가 필요 (추가한 데이터가 시스템에 맞게 작동하도록 구현 해줘)
- 자산 데이터
- 오염 카드 데이터
- 내러티브 데이터
▶토큰 마이너스 상태 처리: 방향 B (패널티 및 파산 - 블랙코미디에 어울림), 마이너스를 허용하되 가혹한 대가를 치르게 하기
파산 문책 시스템 기획 및 구현 필요 (아래는 간략 시스템 작성 - 블랙 코미디가 구현되면 좋겠음)
- 마이너스 상태에서 결재 1건 처리 할 때 마다, 파산 카운터 증가
- 정기 의회에서 파산 문책 : 파산 카운터에 따라 문책의 강도가 달라 짐
- 파산 문책으로 경고를 받았는데도 개선(마이너스를 0 이상으로 복구)하지 못하면 다음 정기 의회에서 게임 오버
▶글이 너무 길어 읽기 힘든 문제:
- 게임 플레이 필수 글 (직관성 최우선): 카드 상단에 상황 키워드를 배치하고, 그 아래에 질문을 배치해 무엇을 요구 하는지 확실하게 알려 줌 (예: 상황 키워드 = 요원들의 시위 발생, 질문 = 시위를 어떻게 하시겠습니까?) 그리고 좌우 스와이프 시 등장하는 보상 표시에서 left_text, right_text의 텍스트 크기를 키우고 그 아래의 보상 오브젝트(예:  [예산 -2] ,  [지지도 +10] )는 텍스트보다는 기호와 숫자를 활용하여 1초 만에 파악할 수 있도록 함.
- 서사에 필요한 글 (메인 텍스트): '게임 플레이 필수 글'에서 추가적인 스토리 정보를 원한다면 봐야 하는 글로 카드 데이터에서 text컬럼의 내용을 표시 합니다. 게임 플레이 필수 글보다는 폰트가 작아야 하고, 너무 길지 않게 핵심 서사 위주로 설명 합니다. (예를 들면, 상황 키워드가 요원들의 시위 발생인데, 왜 시위가 발생했는지에 대한 서사를 알려 주면 됩니다)
- 블랙 코미디/플레이버 텍스트 (선택적 정보): 공간을 분리합니다.(공간 구분이 확실해야 합니다.) 카드 하단에 글자를 작게 하고, 폰트를 다르게 하여 구분되도록 합니다.
2026-06-24 23:08:32 +09:00
Kyoung5seo c0921548ec 기획 문서에서 미구현한 시스템 구현
다음과 같은 주요 시스템들이 클라이언트 단에 추가되었습니다:
  1. 대중 공황 (Mass Panic) 시스템
      • 기존의 저항, 엔트로피, 위험 수용 계수 외에 '대중 공황' 파라미터를 추가했습니다.
      •  cards.csv  파일에  left_pan ,  right_pan  컬럼을 동적으로 업데이트하고, 일부 카드에 패널티/효과를 부여했습니다.
      • 게임 메인 화면 상단에 😱 아이콘과 1~5단계 점(Dot) 위젯을 추가했습니다.
  2. 주간 의회 (Weekly Council) 시스템
      • 10턴 주기로 발동하는  CouncilScreen  컴포넌트를 신규 제작했습니다.
      • 13명(상임 8명, 지부장 5명)의 위원회를 시각적으로 구현하고 위험 수용 계수에 따라 반대 확률이 증가하도록 로직을
      작성했습니다.
      • 3가지 개입 액션(매수, 장부 조작, 내부 감사)을 예산, 정보, 인력 토큰 소모를 통해 실행할 수 있도록 했습니다.
      • 탄핵안 발의 및 법안(이득/표적) 상정 기능이 정상 작동합니다.
  3. 무제한 인벤토리 및 자산 (Assets) 시스템
      • 극비 카드를 완료했을 때 랜덤한 자산을 얻어 하단 인벤토리 슬롯에 시각적으로 누적되는 기초 로직을 붙였습니다.
      • 스와이프 카드의 드래그를 양방향(XY)으로 허용하여, 극비 프로젝트의 경우 '위로 스와이프'하여 보류/버리기가
      가능하도록 했습니다.
  4. 연대기 (Chronicle) 시스템
      • 좌상단 내러티브 태그 배지를 클릭하면 그동안 플레이어가 결재한 스토리와 선택(좌/우/위)을 기록한  ChroniclePopup
      이 노출되도록 구현했습니다.
  5. 멀티 엔딩 및 도감 시스템
      • 단순한 게임 오버 화면을 대체하는  EndingScreen  컴포넌트를 제작했습니다.
      • 4대 붕괴 조건(사임, 세계 멸망, 문명 붕괴, 정치적 탄핵) 중 어느 것을 달성했는지 판별하여 원인과 결과를 표시해
      줍니다.
      • 브라우저의  localStorage 를 이용해 수집된 엔딩이 도감에 영구적으로 기록되도록 처리했습니다.
2026-06-17 23:14:15 +09:00
Kyoung5seo 7f06cb6519 프로토타입 테스트가 가능할 정도의 결재카드 데이터 추가 2026-06-16 22:45:09 +09:00
Kyoung5seo e1f5cafdf1 서사형 덱빌딩 게임 프로토 타입 2026-06-15 23:10:54 +09:00