# 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 한 판" 순서로 완성하고 다음 게임으로 간다. - 진행 중 사용자가 순서를 바꾸고 싶으면 이 문서를 먼저 고친다.