전체 저장소 목록 (20개) + GitLab URL
상태 표기: 🟢 라이브(2P prod 반영) · 🧩 온라인 인프라 · 🤖 AI 상대(신규 — DL-AI 트랙) · 🧪 실험 트랙(변형·검증용) · 🆕 확장(신규, 아직 prod 미적용) · ⚫ 레거시(대체됨) · 📄 문서
모든 저장소 public — 별도 초대 없이 누구나 전체 소스·커밋 히스토리에 접근 가능.
핵심 · 온라인 인프라
| 저장소 | 패키지 / 버전 | 역할 | 상태 | GitLab |
|---|---|---|---|---|
| core | @mwd-tutorials/snake-core 0.3.0 | 순수 도메인(Snake·Food·GameState·Collision·FoodSpawner) | 🟢 | https://gitlab.com/mwd-tutorials/snake-game-2p.core |
| engine | @mwd-tutorials/snake-engine 0.2.1 | 로컬 게임 루프/입력(1P·2P-로컬) | 🟢 | https://gitlab.com/mwd-tutorials/snake-game-2p.engine |
| web | @mwd-tutorials/snake-web 1.2.1 | UI·Canvas 렌더·PWA·모바일·통합 | 🟢 | https://gitlab.com/mwd-tutorials/snake-game-2p.web |
| signaling | @mwd-tutorials/snake-signaling 0.1.0 | Cloudflare Worker+DO — 권위 GameDO·매치메이킹·로비 | 🟢 | https://gitlab.com/mwd-tutorials/snake-game-2p.signaling |
| leaderboard | @mwd-tutorials/snake-leaderboard 0.2.0 | Cloudflare Worker+D1 — 점수·유저네임 | 🟢 | https://gitlab.com/mwd-tutorials/snake-game-2p.leaderboard |
| auth | @mwd-tutorials/snake-auth 0.1.0 | Firebase Google 로그인·안정 uid | 🟢 | https://gitlab.com/mwd-tutorials/snake-game-2p.auth |
| online-core | @mwd-tutorials/snake-online-core 0.2.0 | 로비 도메인(LobbyRegistry DO)·온라인 계약 | 🟢 | https://gitlab.com/mwd-tutorials/snake-game-2p.online-core |
| quickmatch | @mwd-tutorials/snake-quickmatch 0.1.0 | 랜덤 매치메이킹 클라이언트 | 🟢 | https://gitlab.com/mwd-tutorials/snake-game-2p.quickmatch |
| match | @mwd-tutorials/snake-match 0.1.0 | 승/패·순위 집계 순수 도메인(크로스 게임) | 🟢 | https://gitlab.com/mwd-tutorials/snake-game-2p.match |
| i18n | @mwd-tutorials/snake-i18n 0.1.0 | 로케일 독립 i18n 엔진(무의존·isomorphic) | 🟢 | https://gitlab.com/mwd-tutorials/snake-game-2p.i18n |
| netcode-core | @mwd-tutorials/snake-netcode-core 0.1.0 | 플러그블 네트코드 계약(NetcodeClient) | 🧩 | https://gitlab.com/mwd-tutorials/snake-game-2p.netcode-core |
| netcode-raw | @mwd-tutorials/snake-netcode-raw 0.1.1 | 베이스라인 네트코드(스냅샷) | 🧩 | https://gitlab.com/mwd-tutorials/snake-game-2p.netcode-raw |
| netcode-interpolated | @mwd-tutorials/snake-netcode-interpolated 0.1.1 | 보간 네트코드(60fps + 서버 리컨실리에이션) | 🧩 | https://gitlab.com/mwd-tutorials/snake-game-2p.netcode-interpolated |
| protocol | @mwd-tutorials/snake-protocol 0.1.0 | wire 프로토콜 타입 SSOT | 🆕 | https://gitlab.com/mwd-tutorials/snake-game-2p.protocol |
| network | @mwd-tutorials/snake-network 0.2.7 | 구 P2P WebRTC 클라이언트 | ⚫ | https://gitlab.com/mwd-tutorials/snake-game-2p.network |
| architecture | — | 설계 문서 SSOT(PROJECT_STATUS·DOMAIN·프로토콜) | 📄 | https://gitlab.com/mwd-tutorials/snake-game-2p.architecture |
🤖 AI 상대 (DL-AI 트랙 — 신규)
게임×AI 해커톤 맥락에서, 개발 과정의 AI(TDA 오케스트레이션) 에 더해 제품 자체에 들어간 AI(플레이 상대) 를 별도 트랙으로 분리했다. 규칙기반 난이도 사다리 + 심층강화학습(DQN) 학습 브레인을 한 계약으로 스왑한다. 설계·학습 방법은 AI 상대 (DL-AI) 문서 참고.
| 저장소 | 패키지 / 버전 | 역할 | 상태 | GitLab |
|---|---|---|---|---|
| snake-ai | @mwd-tutorials/snake-ai 0.6.0 | AI 상대 정책 — HeuristicPolicy(easy/medium/hard 규칙 사다리) + LearnedPolicy(RL 학습 브레인). 순수·isomorphic, core에만 의존 | 🤖 | https://gitlab.com/mwd-tutorials/snake-game-2p.snake-ai |
| snake-ai-training | snake-ai-training (harness) | CPU-only DQN 학습 하니스(TensorFlow.js tfjs-node) — 1P/2P 환경·보상·평가·체크포인트 산출. 재현성 근거 | 🤖 | https://gitlab.com/mwd-tutorials/snake-game-2p.snake-ai-training |
| snake-web-expc | @mwd-tutorials/snake-web-expc 0.6.0 | 웹 통합 실험 — 브라우저에서 tfjs 모델을 로드해 LearnedPolicy를 상대 뱀으로 구동(ai.ts/dlai.ts) | 🧪 | https://gitlab.com/mwd-tutorials/snake-game-2p.snake-web-expc |
| netcode-interpolated-expb | @mwd-tutorials/snake-netcode-interpolated-expb 0.1.1 | 보간 네트코드 예측(prediction) 실험 변형(track B) | 🧪 | https://gitlab.com/mwd-tutorials/snake-game-2p.netcode-interpolated-expb |
참고: 라이브 prod는 2P 온라인으로 서비스 중.
snake-ai·snake-ai-training·*-exp*및netcode-*·protocol은 개발 확장/실험 트랙으로, 확장·검증 시점의 시스템 상태를 그대로 공유하기 위해 전부 public으로 포함했다.