- 윷놀이·원카드·숫자 타일·다빈치 코드·요트 다이스 브랜치 병합(등록 목록·E2E 계획 충돌 정리) - 섯다 E2E: 동점·구사 재경기가 나오면 결과가 나올 때까지 계속 체크 - bun run test: 무작위 1,000판 테스트가 부하 때 5초 기본 제한을 넘던 문제 → --timeout 60000 - 로드맵 M4 결과, README 확인 명령 갱신 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
69 lines
4.9 KiB
Markdown
69 lines
4.9 KiB
Markdown
# 12. 로드맵
|
|
|
|
각 마일스톤은 "완료 기준"을 모두 통과해야 끝난다. 마일스톤이 끝날 때마다 Gitea에 푸시하고, 큰 테스트(부하·장애 주입·E2E)는 푸시한 커밋에서 돌린다.
|
|
|
|
## M0. 계획서 (현재)
|
|
- `docs/` 전체 작성 → Gitea 푸시.
|
|
- 완료 기준: 모든 공통 문서 + 26개 게임 문서 존재, 사용자 확인 항목 정리.
|
|
|
|
## M1. 플랫폼 뼈대 + 오목
|
|
- 모노레포, 공용 타입/스키마, 엔진(RNG·러너·테스트 도구), SQLite·마이그레이션.
|
|
- 게스트 로그인, 세션, `/api/me`, 닉네임 변경. (디스코드 로그인은 코드까지 작성, 실제 연결은 앱 정보 받은 뒤)
|
|
- 방: 생성, 6자리 코드, 링크 입장, 자동 착석, 준비, 시작, 강퇴, 방장 이전, 관전, 채팅/반응, 한 판 더.
|
|
- WS: 재접속, seq, 중복 방지, 속도 제한, 하트비트, 서버 재시작 복구.
|
|
- 웹: 홈, 코드 입력, 대기실(코드/링크 복사, 공유, QR), 오목 화면, 결과, 계정, 글자 크기/다크 모드.
|
|
- 완료 기준: `10-testing.md` 3절 12개 시나리오 자동 테스트 통과, 오목 규칙 테스트 통과, E2E 1개 통과, 성능 예산 통과.
|
|
|
|
## M1.5 관리자 사이트
|
|
- 슈퍼어드민(디스코드 ID 고정)·어드민(디스코드 ID로 추가) 권한, 관리자 API, 관리자 화면(대시보드·게임·방·사이트·사용자·관리자·기록).
|
|
- 게임 옵션 스키마로 설정 화면 자동 생성, 옵션 잠금, 사이트 설정(공지·점검·금지어·제한값).
|
|
- 완료 기준: `14-admin.md` 9절 테스트 통과, 관리자 화면 E2E 통과.
|
|
|
|
## M2. 2인 전략 게임 + 안정성 검증
|
|
- 체스, 바둑, 장기, 오셀로. 개인 시계(초읽기/증가), 무르기 요청, 무승부 제안, 기권.
|
|
- 디스코드 로그인 실제 연결(앱 정보가 준비된 경우).
|
|
- 첫 부하 테스트·장애 주입 테스트 + 보고서.
|
|
- 테스트 서버 배포(위치가 정해진 경우).
|
|
- **진행 결과(2026-10-04)**: 네 게임 완료(규칙 테스트 체스 40·장기 46·바둑 50·오셀로 31), 게임 공통 E2E(PC 방장+휴대폰 친구),
|
|
접근성 axe 위반 0, 부하·장애 주입 통과(`reports/load-20261004.md`). 체스960은 chess.js가 지원하지 않아 후순위(M9).
|
|
디스코드 실제 연결·테스트 서버 배포는 사용자 정보 대기.
|
|
|
|
## M3. 카드 게임 기반 + 섯다·포커
|
|
- 공용 카드 컴포넌트(트럼프·화투 SVG 직접 제작), 베팅 엔진(한국식/노리밋), 사이드 팟.
|
|
- 섯다 전 모드, 포커 전 모드.
|
|
- 공정성 확인(시드 해시 공개) 기능.
|
|
- **진행 결과(2026-10-05)**: 섯다(2장·3장, 땡잡이·암행어사·구사 재경기, 사이드 팟)와 포커 7개 모드(홀덤·오마하·7포커·하이로우·바둑이·5카드 드로우·인디언)
|
|
규칙 + 화면 완료. 규칙 테스트 섯다 54·포커 52·족보 판정 24, 무작위 플레이 1,000판 이상(칩 총량 보존·비공개 카드 유출 없음),
|
|
카드 게임 E2E(PC 방장 + 휴대폰 2명, 섯다 1판·7포커 초이스부터 1판), 결과 화면 공정성 확인(SHA-256 씨앗 대조).
|
|
|
|
## M4. 가족 게임
|
|
- 윷놀이, 원카드(+색깔 카드 모드), 숫자 타일(루미큐브 방식), 다빈치 코드, 요트 다이스.
|
|
- **진행 결과(2026-10-05)**: 다섯 게임 규칙 + 화면 완료. 규칙 테스트 윷놀이 33·원카드 53·숫자 타일 56·다빈치 코드 31·요트 36,
|
|
게임마다 무작위 플레이 1,000판(말·카드·타일 보존, 비공개 정보 유출 없음, 모든 상태에서 시간 초과 행동 합법).
|
|
윷놀이 팀전(짝수 인원) 검사를 위해 엔진에 `playerCountError(options, count)`를 추가하고 방 시작 시 확인.
|
|
E2E: 윷놀이·요트 한 판 끝까지, 원카드 3인 60턴, 숫자 타일·다빈치 코드 여러 턴(PC 방장 + 휴대폰).
|
|
|
|
## M5. 마작·고스톱
|
|
- 리치 마작(4인, 3인), 점수 계산기 테스트(역·부 계산 사례 100개 이상), 초보 모드.
|
|
- 고스톱/맞고.
|
|
|
|
## M6. 뱅 + 실시간 반응 + 땅따먹기
|
|
- 뱅(반응 창 처리), 할리갈리(서버 도착 순서 판정), 주사위 땅따먹기.
|
|
|
|
## M7. 보드게임카페 인기 게임
|
|
- 달무티, 보석 상인, 쿼리도, 라스베가스, 바퀴벌레 포커, 구십구.
|
|
|
|
## M8. 파티 게임
|
|
- 도블, 그림 맞히기(붓질 스트리밍), 마피아(채팅 채널).
|
|
|
|
## M9. 다듬기
|
|
- PWA(홈 화면 추가, 오프라인 안내), 게임 기록 다시 보기, 게임별 튜토리얼 강화.
|
|
- 2차 부하 테스트, 필요 시 방 단위 다중 프로세스 분산 검토.
|
|
- (선택) 혼자 연습용 간단한 컴퓨터 상대.
|
|
- 체스960(자체 캐슬링 구현 + perft 검증).
|
|
|
|
## 순서 원칙
|
|
- 플랫폼(M1)의 안정성 기능이 먼저다. 게임은 그 위에 하나씩 얹는다.
|
|
- 각 게임은 "규칙 모듈 + 테스트 통과 → 화면 → E2E 한 판" 순서로 완성하고 다음 게임으로 간다.
|
|
- 진행 중 사용자가 순서를 바꾸고 싶으면 이 문서를 먼저 고친다.
|