프로젝트 개요
report · 5 of 14 · 2 commits · cb1d0b714e8c5e6ded6580e27997a241013b5fe9..e40bde6d901364d1b282bf48d0faee92511822ca

LAN 멀티룸 로비는 전진했지만 네트워크 구조 리스크가 높다.

HIGH 진행도 62% (+ 5pts) 2026. 4. 28. AM 10:11

프로젝트 예상 진행도

기준: 2026. 4. 28. AM 10:11
62 / 100

문서화 상태

Design
5/10
Technical
3/10
Spec
3/10
#네트워킹 #LAN로비 #런타임UI #기술부채

Seven-Shards-ORIGIN — LAN 멀티룸 로비 스냅샷

1. 주요 변경사항

2. 코드 품질 리뷰

이번 변경은 실제 사용자 흐름을 크게 전진시켰다. 특히 클라이언트가 ConnectedClientsIds를 직접 신뢰하지 못하는 문제를 호스트 브로드캐스트 목록으로 해결한 판단은 좋다. NetworkObject 없이 로비 준비 상태를 맞추려는 선택도 대기실처럼 짧게 사는 화면에는 타당하다.

다만 MultiRoomCoordinator 750라인은 위험 신호다. 현재 한 클래스가 UI 생성, 입력 네비게이션, UDP discovery, NGO 콜백, 씬 로드, 연결 watchdog을 모두 가진다. 왜 문제냐면 재접속·퇴장·씬 전환 버그가 발생했을 때 원인이 UI 상태인지 네트워크 상태인지 분리해서 검증하기 어렵다. BrowserView, WaitingRoomView, LanLobbySessionController, LobbyNavigation 정도로 책임을 나누는 것이 맞다.

LanRoomDiscovery의 메시지 포맷도 취약하다.

static string Encode(LanRoomInfo r) =>
    $"{r.roomName}|{r.port}|{r.players}|{r.maxPlayers}|{r.runSlotId}";

roomName이나 runSlotId에 구분자가 들어가면 파싱이 깨지고, 잘못된 패킷은 default 방으로 들어올 수 있다. LAN이라도 외부 패킷·구버전 클라이언트·부분 손상은 정상적으로 발생한다. 버전 필드, 길이 제한, 포트와 인원수 유효성 검증, JSON 또는 length-prefix 포맷으로 교체해야 한다.

3. 진행도 평가

진행도는 62%로 본다. LAN 방 생성·검색·참가·준비·게임 시작이라는 굵은 사용자 흐름이 들어왔기 때문에 기능 진척은 분명하다. 이전보다 플레이 가능한 멀티플레이 진입점에 가까워졌다.

반대로 리스크는 high다. 네트워킹 코드는 시간 순서와 생명주기가 핵심인데, 이번 구현은 정적 상태와 대형 coordinator에 의존한다. 지금 1일 정도 투자해 구조를 나누지 않으면 이후 2-4인 테스트에서 재현 어려운 버그가 누적될 가능성이 높다.

4. 다음 권장사항

5. 문서화 상태

design은 5점이다. 이번 커밋은 사용자 흐름을 추가했지만, 멀티룸이 기존 협동 모드 경험에서 어떤 위치인지 설명하는 디자인 문서 갱신은 보이지 않는다.

technical은 3점이다. NGO 메시지명, ready map의 주인, host slot 동기화, UDP discovery의 수명주기가 코드에만 있다. 신규 인원이 문서만 보고 안전하게 수정할 수준이 아니다.

spec은 3점이다. LAN 로비의 성공·실패 상태, 버튼별 결과, 접속 인원 제한, 호스트 이탈 정책이 테스트 가능한 표로 정리되어 있지 않다. 삭제된 플레이테스트 체크리스트 문제도 계속 남아 있다.

6. Backlog

리포트 타임라인

14개 스냅샷 · 최신순
MED 2 commits UI 로딩·로케일 안정화가 전진했으나 Addressables는 미완료. 66% HIGH 1 commits 로비 검증은 늘었으나 대량 프리팹 변동 위험이 크다. 64% HIGH 1 commits UI 기능은 전진했으나 대량 씬·프리팹 셔플 위험이 크다. 58% MED 1 commits 버퍼 크기 산정은 개선됐으나 네트워크 검증 공백이 남았다. 56% HIGH 1 commits 로비와 폰트 TODO는 전진했지만 대량 prefab churn 위험이 크다. 63% MED 1 commits 대형 클래스 분할은 진전이나 책임 경계 검증이 필요하다. 64% HIGH 1 commits 멀티플레이 로비는 복구됐지만 변경 면적과 검증 위험이 크다. 55% MED 2 commits LAN 로비 제거와 TMP 폰트 통합은 전진이나 검증 공백이 남아 있다. 63% HIGH 2 commits 세이브·입력·보스가 전진했지만 씬·네트워크 부채가 크다. 60% HIGH 2 commits LAN 멀티룸 로비는 전진했지만 네트워크 구조 리스크가 높다. 62% HIGH 4 commits 보스전·세이브·입력 전진은 크지만 씬/네트워크 검증 위험이 높다. 57% HIGH 2 commits 보스전과 추격전은 전진했지만 씬·문서 부채가 크다. 64% MED 2 commits 메가 추격 출구 확정 로직 정리, 로케일·런타임 UI 뼈대 투입. 58% MED 7 commits UI 프리팹 베이크 파이프라인 대규모 도입, 네트워크 타이머 최적화 진척. 55%