Files
joke-app/docs/01-research.md
EJClaw f4d63e1544 docs: 온라인 보드게임 사이트 계획서 (공통 14편 + 게임 26종)
- 개요, 조사(BGA·한국 인기 보드게임·UI/UX), 아키텍처, 실시간 프로토콜,
  안정성·보안, 계정, 로비·방, UI/UX, 데이터 모델, 게임 엔진, 테스트,
  배포·운영, 로드맵(M0~M9), 사용자 결정 항목
- 게임별 규칙·엔진 설계·UI·테스트 체크리스트 26종

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 04:18:29 +09:00

68 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 01. 조사 결과
## 1. Board Game Arena(BGA) 분석
### 1.1 가져올 점
- **테이블(방) 개념**: 게임을 고르고 "테이블"을 만들면 인원·옵션을 정하고, 친구만 초대하거나 모르는 사람에게 열어 둘 수 있다. 링크로 초대할 수 있고 접근을 친구/그룹으로 제한할 수 있다.
- **방장이 옵션을 먼저 정하고 나중에 공개**하는 흐름(수동 모드).
- **실시간 / 턴제(비동기)** 두 가지 속도. 우리는 우선 실시간만 하고, 턴제는 로드맵 후순위로 둔다.
- **규칙은 서버가 강제**: 불가능한 수는 아예 둘 수 없고 둘 수 있는 곳만 표시된다. 초보도 규칙을 몰라도 시작할 수 있다.
- **관전, 리플레이, 게임 기록**, 게임별 튜토리얼.
- **시간 초과 처리**: 시간이 다 된 플레이어는 강퇴되거나 자동 진행된다.
### 1.2 버릴 점 (사용자가 불편하다고 한 부분)
- 광고, 프리미엄 유도 배너, 뉴스 피드, 포럼, 트로피 알림 등 게임과 무관한 요소가 첫 화면과 게임 화면을 차지한다.
- 무거운 프레임워크(Dojo 기반)와 많은 외부 스크립트 → 저사양 폰에서 느림.
- 테이블 만들기 단계가 많고(수동/자동/친구 모드, 옵션 페이지, "테이블 열기" 버튼 등) 용어가 어렵다.
- 한국 게임이 거의 없고, 한국어 번역 품질이 고르지 않다.
### 1.3 우리 설계에 반영
| BGA | 우리 사이트 |
|---|---|
| 로비 → 게임 선택 → 테이블 생성 → 옵션 → 열기 → 초대 | 홈에서 게임 카드 누르기 → "방 만들기" → 바로 대기실(코드·링크 즉시 표시). 옵션은 대기실에서 바꿀 수 있고 기본값이 이미 들어 있음 |
| 계정 필수 | 게스트는 닉네임만 입력 |
| 초대: 친구 목록/링크 | 6자리 숫자 코드 + 링크 복사 + QR + 모바일 공유 시트 |
| 광고/배너 | 없음 |
## 2. 한국에서 인기 있는 보드게임
### 2.1 근거 자료
- 코리아보드게임즈 2025 상반기 판매 TOP 20: 1 할리갈리, 2 우노/원카드, 3 루미큐브, 4 커피 러시, 5 도블, 6 다빈치 코드, 7 우봉고, 8 루핑루이, 9 모두의 마블, 10 달무티, 11 스플렌더, 12 구십구, 13 햄버거 타이쿤, 14 할리갈리 컵스, 15 라쿠카라차, 16 뱅, 17 쿼리도, 18 김밥 요리사, 19 텔레스트레이션, 20 라스베가스.
- 히어로 보드게임 카페(전국 57개점) 2025 규칙 영상 재생 순위: 1 다빈치 코드, 2 루미큐브, 3 바퀴벌레 포커, 4 스플렌더, 5 갈팡질팡, 6 우노, 7 요트 다이스, 8 뱅, 9 캣츠 런, 10 5초 준다.
- 한국 전통·온라인 국민 게임: 바둑, 장기, 오목, 윷놀이, 고스톱/맞고, 섯다, 7포커, 바둑이, 원카드, 마피아, 캐치마인드(그림 맞히기).
### 2.2 선정 결과
온라인으로 옮겼을 때 재미가 유지되고, 규칙을 서버가 판정할 수 있는 게임만 고른다. 최종 목록과 단계는 `games/README.md`.
## 3. UI/UX 조사
### 3.1 어르신·어린이 친화 설계 원칙 (조사 요약)
- 기본 글자 16px 이상, 얇은 글꼴 금지, 줄 간격 넉넉하게. 사용자가 글자 크기를 키울 수 있게 한다(브라우저 확대 + 사이트 자체 "글자 크게" 설정).
- 터치 영역 최소 48×48px(애플/구글 권장 44px보다 크게), 버튼 사이 간격 8px 이상.
- 명암비: 본문 4.5:1 이상, 큰 글자·버튼 3:1 이상(WCAG 2.2).
- 쉬운 말, 한 화면에 할 일 하나, 중요한 버튼은 화면 가운데/아래 엄지 닿는 곳.
- 아이콘만 쓰지 않고 항상 글자를 같이 쓴다("복사" 아이콘 + "코드 복사" 글자).
- 실수해도 되돌릴 수 있게(나가기 전 확인, 무르기 요청), 지금 무엇을 해야 하는지 항상 화면 위에 문장으로 표시("내 차례예요. 놓을 곳을 눌러 주세요").
### 3.2 파티 게임 입장 UX 사례
- Kahoot, Jackbox, skribbl.io, Gartic Phone처럼 **숫자/짧은 코드 + 닉네임 한 칸**으로 바로 들어가는 방식이 어린이·어르신에게 가장 쉽다.
- 링크로 들어온 사람은 코드 입력 없이 닉네임만 정하면 바로 자리에 앉는다.
- 한국 사용자는 카카오톡으로 링크를 많이 공유하므로 모바일에서 `navigator.share`(공유 시트)를 쓰고, 미리보기(Open Graph) 제목에 "OO님이 오목 방에 초대했어요 · 코드 123456"을 넣는다.
## 4. 기술 조사 요약
- WebSocket은 모든 대상 브라우저에서 지원. Bun 내장 WebSocket 서버는 방 단위 pub/sub를 기본 제공하고 처리량이 높다.
- 숨겨진 정보가 있는 게임은 반드시 서버가 판정하고, 클라이언트에는 "그 사람이 볼 수 있는 화면"만 보낸다(카드 게임 치팅의 대부분은 클라이언트에 전체 상태를 보내서 생긴다).
- 실시간 게임에서 연결 끊김은 흔하다(모바일 화면 꺼짐, 지하철, 와이파이↔LTE 전환). 자리 유지 + 자동 재연결 + 전체 상태 재전송이 필수.
## 5. 출처
- https://boardgamearena.com/
- https://forum.boardgamearena.com/viewtopic.php?t=28240
- https://en.boardgamearena.com/faq
- https://www.koreaboardgames.com/magazine/menuDetail?boardCd=contents&postNo=1346
- https://www.koreaboardgames.com/magazine/menuDetail?boardCd=contents&postNo=1437
- https://boardlife.co.kr/rank
- https://www.toptal.com/designers/ui/ui-design-for-older-adults
- https://www.aufaitux.com/blog/designing-elder-friendly-ui-interfaces/
- https://arxiv.org/pdf/1703.06317 (노인 대상 터치스크린 설계 지침 리뷰)
- https://www.w3.org/TR/WCAG22/