HANPAN — 네트워크 문서화 정리 스냅샷
1. 주요 변경사항
README/4. Network_Authority.md가 추가되어 RPC, NetworkVariable, 서버 권한, 비밀 정보 전달 기준이 문서 수준에서 명확해졌다.- 이탈·끊김·씬 전환·Relay 실패 정책이 운영 규칙으로 정리됐다. 재접속은 명시적으로 미지원으로 결정한 점이 좋다.
- Unity Multiplayer SDK, NGO, Transport, URP 버전과 WebGL WSS 제약이 한 문서에 묶였다.
RoomUI준비 버튼에서 GmarketSans에 없는✓글리프를 제거해 폰트 경고를 줄였다.- Work Breakdown은 M3 진입 전 사양서 작성과 네트워크 안전망 구현을 우선순위로 재정렬했다.
2. 코드 품질 리뷰
이번 코드 변경은 작지만 방향은 타당하다. RoomUI의 준비 버튼 문구에서 폰트 미지원 글리프를 제거한 것은 단순 미관 수정이 아니라 런타임 콘솔 노이즈를 줄이는 품질 개선이다. 경고가 많아지면 실제 네트워크 오류를 놓치기 쉬우므로, 이런 경고 제거는 유지보수 비용을 낮춘다.
// GmarketSans는 한글 본문 폰트라 ✓ 글리프 없음 → 한글만 사용.
_readyBtnLabel.text = _isReady ? "준비 완료" : "준비";
다만 주석은 약간 길다. “한글 폰트라 체크 글리프 미사용” 정도면 충분하다. 더 중요한 문제는 이번 커밋 대부분이 문서 진전이라는 점이다. 문서에 OnPlayerLeft, OnClientDisconnectCallback, RateLimitExceeded 백오프가 정의됐지만 실제 SessionManager 구현은 아직 따라오지 않았다. 네트워킹에서는 “정책이 있다”와 “런타임에서 안전하게 동작한다” 사이의 간극이 크다. 다음 단계에서 이 간극을 방치하면 디버깅 비용이 급격히 커진다.
3. 진행도 평가
이전 대비 가장 큰 전진은 기술 문서화다. 권한 모델과 WebGL 네트워크 제약을 문서로 고정한 것은 M3 게임 로직 작성 전에 반드시 필요했던 작업이며, 이 판단은 좋다. 특히 WithRelayNetwork(string)의 함정을 명시한 점은 실제 장애 재발 방지에 가치가 크다.
전체 진행도는 약 43%로 본다. M2 로비·대기실 검증은 완료됐고 문서 기반도 좋아졌지만, 아직 흑과 백의 실제 게임 루프, 서버 권한 로직, 이탈 처리 구현, 씬 전환 동기화가 남아 있다. 지금은 “플레이 가능한 게임”보다 “멀티플레이 진입 기반”에 가까운 상태다.
4. 다음 권장사항
OnPlayerLeft와OnClientDisconnectCallback을 먼저 구현해야 한다. 게임 로직보다 이탈 안전망이 우선이다.5. BlackAndWhite_Spec.md를 작성해 점수, 동점, 연장전, 타임아웃, 이탈 시 판정을 확정해야 한다.- 게임 시작 씬 전환은 NGO
NetworkManager.SceneManager.LoadScene()기준으로 결정하는 편이 안전하다. LobbyUI와RoomUI의 raw 예외 메시지는 사용자용 메시지 매핑으로 바꿔야 한다.- 로비 새로고침에는
RateLimitExceeded백오프를 넣어야 한다. 현재 구조는 사용자가 연타하면 쉽게 불안정해진다.
5. 문서화 상태
design 점수는 5점이다. 코어 컨셉과 개발 흐름은 있으나, 흑과 백의 플레이 경험 목표와 규칙 선택 이유가 아직 사양서 수준으로 정리되지 않았다.
technical 점수는 7점이다. Network_Authority.md 추가로 신규 유입자가 네트워크 판단 기준을 따라갈 수 있게 됐다. 단, 문서와 코드 구현의 연결이 아직 일부 TODO 상태다.
spec 점수는 4점이다. SDK와 네트워크 정책 사양은 좋아졌지만, 실제 게임 규칙·입력·HUD·상태 전이·씬별 체크리스트가 아직 부족하다. 다음 문서의 핵심은 기술 설명이 아니라 구현 가능한 게임 사양이어야 한다.
6. Backlog
Base_01_Lobby.unityUI 하드코딩은 아직 해결되지 않았다. 빌더 단일 소스 원칙은 완화책이지 구조 개선은 아니다.- 흑과 백 규칙 사양서는 아직 없다. 이 상태로 코드를 쓰면 동점·연장·이탈 판정이 코드 안에 흩어진다.
- 레벨·씬별 입력 매핑, UI 상태 전이, HUD 수치 문서가 부족하다. QA 체크리스트로 쓰기 어렵다.
- URP 튜토리얼과 Mobile 렌더러 자산은 잔존한다. M5 정리로 미룬 판단은 합리적이나 backlog에는 남겨야 한다.
- 네트워크 운영 규칙은 문서화됐지만 핵심 핸들러 구현은 미완이다. M3 초반에 반드시 닫아야 한다.
7. 이전 Backlog 해결
- 네트워크 권한 모델 미정의 항목은 해결됐다.
Network_Authority.md§1~§2가 RPC, NetworkVariable, Target ClientRpc, 서버 쓰기 권한 기준을 구체화했다. - 재접속·끊김·씬 재로드 시나리오 미정의 항목은 문서 기준으로 해결됐다. §3~§5에서 이탈 정책, 재접속 미지원 결정, 씬 전환 생존 객체와 Relay 실패 처리를 명시했다.