Files
joke-app/docs/13-decisions.md
EJClaw 6390e3e64c 게임 4개 원래 이름으로, .5 + NPMplus 배포 구성
- 보석 상인 → 스플렌더, 벽 쌓기 길찾기 → 쿼리도, 숫자 타일 → 루미큐브, 주사위 땅따먹기 → 부루마불
- deploy/docker-compose.proxy.yml: Caddy 없이 앱만(.5:2970), HTTPS·헤더는 NPMplus
- deploy/npmplus-advanced.conf: Caddyfile과 같은 보안 헤더
- 문서: 2026-10-06 결정, 배포 7절 (e2e 구십구 0 카드 방향 버튼 반영 포함)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 22:16:32 +09:00

47 lines
4.4 KiB
Markdown

# 13. 사용자 결정이 필요한 항목
아래 항목은 사용자 확인이 필요하다. **답이 없으면 "기본안"으로 진행**하고, 나중에 바꿀 수 있게 옵션으로 만들어 둔다.
## 0. 확정된 결정 (2026-10-04)
- 도메인: **game.tkrmagid.kr** 고정. 모든 기능을 완성한 뒤 연결한다.
- 상표명: 친구끼리 쓰는 사이트라 **원래 이름을 그대로 사용**한다.
- 관리자 사이트 추가. 슈퍼어드민은 디스코드 ID `293719842274541579`, 어드민은 디스코드 ID로 추가(`14-admin.md`).
- 화면은 **PC 버전 중심**으로 만든다(휴대폰은 접어서 지원).
- 게임 규칙 기본값은 관리자 사이트에서 모두 바꿀 수 있으므로, 3절의 기본안은 "처음 값"이다.
## 0-1. 확정된 결정 (2026-10-06)
- 일반 이름으로 만들었던 게임 4개를 원래 이름으로: 보석 상인 → **스플렌더**, 벽 쌓기 길찾기 → **쿼리도**, 숫자 타일 → **루미큐브**, 주사위 땅따먹기 → **부루마불**.
- 스플렌더 카드 수치: 원작 그대로.
- 구십구: 공식 규칙이 있으면 그것으로, 없으면 알아서. → 코리아보드게임즈 공식 상품 페이지의 규칙 설명 이미지로 맞춤. 공개되지 않은 특수 카드 장수는 각 4장으로 정함(`games/ninety-nine.md` §1).
- 서버: **.5 Docker 호스트**(192.168.10.5:2970), 앞단은 기존 NPMplus(192.168.10.3)가 HTTPS를 맡는다(`11-deployment-ops.md` 7절).
- 디스코드 앱 생성 완료(Client ID `1557009917641105499`). Secret은 서버 `.env`와 호스트 비밀 저장소에만 둔다.
## 1. 운영 (진행에 꼭 필요)
| # | 항목 | 기본안 | 필요한 것 |
|---|---|---|---|
| 1 | 서버 위치 | **결정됨(2026-10-06)**: .5 Docker 호스트 + NPMplus | DNS에 `game` 레코드 추가(사용자) |
| 2 | 디스코드 로그인 | **결정됨(2026-10-06)**: 앱 생성, 서버 `.env`에 반영. **관리자 사이트는 디스코드 로그인이 있어야 들어갈 수 있다** | 개발자 포털 OAuth2 → Redirects에 `https://game.tkrmagid.kr/api/auth/discord/callback` 등록 확인 |
## 2. 정책
| # | 항목 | 기본안 |
|---|---|---|
| 4 | 포커·섯다·고스톱 같은 웹보드 게임 | 친구끼리 쓰는 비공개 사이트이므로 별도 연령 확인 없이 일반 게임과 같이 둔다. 칩·점수는 방 안에서만 쓰고 돈·충전·환전은 없다. 관리자 사이트에서 게임별로 끌 수 있다 |
| 5 | 스플렌더 카드 수치 | 원작과 같은 수치를 별도 데이터 파일에 둔다(친구끼리 쓰는 사이트라 그대로 사용) |
## 3. 게임 규칙 기본값 (자세한 내용은 각 게임 문서)
| 게임 | 기본안 | 바꿀 수 있는 옵션 |
|---|---|---|
| 오목 | 한국식(흑백 모두 쌍삼 금지, 6목은 승리 아님) | 렌주룰, 자유룰(5목 이상 승 / 정확히 5목) |
| 바둑 | 위치 기준 슈퍼코, 덤 6.5(계가) | 삼패 무승부, 중국식 계가(덤 7.5) |
| 체스 | 3회 반복·50수는 자동 무승부, 수 생성은 자체 구현(perft·chess.js 비교로 검증, chess.js는 테스트 전용) | 엄격한 FIDE 신청 방식, 체스960(첫 줄 무작위) |
| 장기 | 점수 판정·빅장 사용, 같은 국면 4번째 금지 | 동시 비공개 상차림 |
| 포커 | 7포커 베팅은 하프까지, 백스트레이트는 마운틴 다음, 하이로우의 로우는 한게임 방식 | 풀 베팅, 넷마블식 로우, 8탑 제한 |
| 섯다 | 땡잡이는 3광+7열끗, 동점은 재경기, 다음 선은 승자 | 나눠 갖기, 시계 방향 선 |
| 마작 | 반장전, 25000점 시작, 붉은 5 세 장, 쿠이탕 허용 | 동풍전, 3인 산마 |
| 고스톱 | 맞고 7점·고스톱 3점에 고/스톱, 3고부터 2배씩 | 피 0장 피박 인정, 멍박 |
| 윷놀이 | 빽도 사용, 참먹이를 지나야 나감, 윷가락 실제 확률(0.6) | 50:50 공정 윷, 낙 |
| 원카드 | 2→2장, A→3장, ♠A→5장, 조커 5/7장, 20장이면 파산 | 색깔 카드 모드 |
| 할리갈리 | 마지막 1명 남을 때까지(10분 제한) | 원작 종료 규칙 |
| 그림 맞히기 | 한 턴에 여러 명이 맞힐 수 있음(먼저 맞힐수록 높은 점수) | 한 명만 맞히기 |
| 구십구 | 코리아보드게임즈 공식 규칙(5장씩, 인원별 시작 숫자, 0 카드는 방향 유지·반대 선택). 특수 카드 장수만 추정(각 4장) | 클래식 99 규칙, 목숨(하우스 룰) |