- 섯다(packages/games/seotda): 2장·3장 섯다, 1장씩/한 번에 나눠 주기, 족보(광땡·땡·알리…망통), 땡잡이·암행어사·구사/멍텅구리구사 재경기, 동점 재경기·나눔, 리바이·탈락, 사이드 팟. 규칙 테스트 54개 - 포커(packages/games/poker): 홀덤·오마하·7포커(초이스·보스)·7포커 하이로우(동시 선언)·바둑이(아침·점심·저녁)· 5카드 드로우·인디언 포커(이마 카드, 동점 이월, 다이 벌칙). 한국식/노리밋/팟리밋, 블라인드·앤티, 리바이·레벨 상승·최후 1인. 규칙 테스트 52개 + 족보 판정 24개, 무작위 1,000판(칩 보존·비공개 카드 유출 없음) - 웹: 섯다·포커 화면(테이블 좌석, 공용 카드, 사이드 팟, 한국식 버튼/레이즈 슬라이더, 초이스·교환·선언, 체크 가능할 때 포기 확인, 리바이 안내), 섯다 결과 화면에서 가져간 칩 표시 - 엔진 betting.buildPots: 라운드 진행 중에는 아직 콜할 수 있는 플레이어도 각 팟 자격자로 표시 - 서버 테스트: 크래시 흉내 후 소켓 종료로 다시 걸린 타이머가 닫힌 DB를 건드리던 누수 수정 - E2E: 3인(PC + 휴대폰 2) 섯다·7포커 한 판, 6개 게임 모두 통과 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4.3 KiB
4.3 KiB
12. 로드맵
각 마일스톤은 "완료 기준"을 모두 통과해야 끝난다. 마일스톤이 끝날 때마다 Gitea에 푸시하고, 큰 테스트(부하·장애 주입·E2E)는 푸시한 커밋에서 돌린다.
M0. 계획서 (현재)
docs/전체 작성 → Gitea 푸시.- 완료 기준: 모든 공통 문서 + 26개 게임 문서 존재, 사용자 확인 항목 정리.
M1. 플랫폼 뼈대 + 오목
- 모노레포, 공용 타입/스키마, 엔진(RNG·러너·테스트 도구), SQLite·마이그레이션.
- 게스트 로그인, 세션,
/api/me, 닉네임 변경. (디스코드 로그인은 코드까지 작성, 실제 연결은 앱 정보 받은 뒤) - 방: 생성, 6자리 코드, 링크 입장, 자동 착석, 준비, 시작, 강퇴, 방장 이전, 관전, 채팅/반응, 한 판 더.
- WS: 재접속, seq, 중복 방지, 속도 제한, 하트비트, 서버 재시작 복구.
- 웹: 홈, 코드 입력, 대기실(코드/링크 복사, 공유, QR), 오목 화면, 결과, 계정, 글자 크기/다크 모드.
- 완료 기준:
10-testing.md3절 12개 시나리오 자동 테스트 통과, 오목 규칙 테스트 통과, E2E 1개 통과, 성능 예산 통과.
M1.5 관리자 사이트
- 슈퍼어드민(디스코드 ID 고정)·어드민(디스코드 ID로 추가) 권한, 관리자 API, 관리자 화면(대시보드·게임·방·사이트·사용자·관리자·기록).
- 게임 옵션 스키마로 설정 화면 자동 생성, 옵션 잠금, 사이트 설정(공지·점검·금지어·제한값).
- 완료 기준:
14-admin.md9절 테스트 통과, 관리자 화면 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. 가족 게임
- 윷놀이, 원카드(+색깔 카드 모드), 숫자 타일(루미큐브 방식), 다빈치 코드, 요트 다이스.
M5. 마작·고스톱
- 리치 마작(4인, 3인), 점수 계산기 테스트(역·부 계산 사례 100개 이상), 초보 모드.
- 고스톱/맞고.
M6. 뱅 + 실시간 반응 + 땅따먹기
- 뱅(반응 창 처리), 할리갈리(서버 도착 순서 판정), 주사위 땅따먹기.
M7. 보드게임카페 인기 게임
- 달무티, 보석 상인, 쿼리도, 라스베가스, 바퀴벌레 포커, 구십구.
M8. 파티 게임
- 도블, 그림 맞히기(붓질 스트리밍), 마피아(채팅 채널).
M9. 다듬기
- PWA(홈 화면 추가, 오프라인 안내), 게임 기록 다시 보기, 게임별 튜토리얼 강화.
- 2차 부하 테스트, 필요 시 방 단위 다중 프로세스 분산 검토.
- (선택) 혼자 연습용 간단한 컴퓨터 상대.
- 체스960(자체 캐슬링 구현 + perft 검증).
순서 원칙
- 플랫폼(M1)의 안정성 기능이 먼저다. 게임은 그 위에 하나씩 얹는다.
- 각 게임은 "규칙 모듈 + 테스트 통과 → 화면 → E2E 한 판" 순서로 완성하고 다음 게임으로 간다.
- 진행 중 사용자가 순서를 바꾸고 싶으면 이 문서를 먼저 고친다.