Seven-Shards-ORIGIN — 멀티플레이 로비 복구 스냅샷
1. 주요 변경사항
Assets/_Recovery와_Recovery_Backup의 대량 백업 씬이 삭제됐다. 저장소 정리 측면에서는 좋은 변화다.- 멀티플레이 로비 UI 프리팹이 사실상 재구성됐다. 방 목록, 슬롯, 채팅, 준비 상태, 시작 버튼 흐름이 추가된 것으로 보인다.
MultiplayerRoomRegistry,LobbyRoomPlayerStateMessenger가 추가되어 로비 상태 전파 구조가 새로 생겼다.NetworkMultiplayerLobbyDriver,UIBootstrap,RootRefs가 대폭 수정됐다. 핵심 UI 흐름이 한 커밋에 크게 바뀐 점은 위험 신호다.- TMP CJK 폰트 관련 코드와 에셋이 함께 변경됐다. 다국어 표기 이슈를 건드렸지만 해결 근거는 아직 부족하다.
2. 코드 품질 리뷰
백업 파일 60만 줄 이상을 제거한 점은 명확히 긍정적이다. Unity 프로젝트에서 _Recovery 류 임시 씬이 남아 있으면 리뷰·검색·빌드 크기 판단을 모두 흐린다. 이 정리는 저장소 위생 관점에서 잘한 결정이다.
반면 로비 복구는 변경 면적이 너무 크다. NetworkMultiplayerLobbyRoot.prefab 이 1만 줄 이상 흔들리고, 드라이버도 1700줄 단위로 변경됐다. 왜 문제냐면 UI 배치 오류, 누락된 serialized reference, 버튼 이벤트 미연결, 네트워크 상태 불일치가 모두 같은 커밋 안에 섞여 원인 추적이 어려워진다. 개선하려면 프리팹 생성은 baker가 책임지고, 드라이버는 “상태를 화면에 반영”하는 얇은 계층으로 낮춰야 한다.
네트워킹 측면에서는 MultiplayerRoomRegistry 와 LobbyRoomPlayerStateMessenger 추가가 방향은 맞다. 그러나 방 목록, 플레이어 슬롯, ready 상태의 권위가 서버인지 호스트 UI인지 코드 이름만으로 명확하지 않다. 로비는 “거의 되는 것”이 가장 위험하다. 2인 접속, 한 명 이탈, 재입장, 호스트 시작, 클라이언트 ready 토글을 반복했을 때 상태가 단일 출처에서 재생성돼야 한다.
3. 진행도 평가
이번 커밋은 순수 기능 전진이라기보다 “무너진 멀티플레이 로비 플로우 복구”에 가깝다. 방 생성과 슬롯 UI까지 들어간 것은 중요한 진척이지만, 변경량 대비 검증 근거가 부족해 안정화 단계로 보기는 어렵다.
진행률은 55%로 본다. 핵심 플레이 가능성은 올라가고 있으나 네트워크 로비, 리소스 로딩, 로케일·폰트, 문서 공백이 동시에 남아 있다. 특히 멀티플레이는 마지막에 고치기 어렵기 때문에 지금 권한 모델과 재현 체크리스트를 고정해야 한다.
4. 다음 권장사항
- 로비 상태 권한 모델을 서버 기준으로 정리한다. 방, 슬롯, ready, 시작 가능 여부의 주인을 문서와 코드 양쪽에 남겨야 한다.
NetworkMultiplayerLobbyDriver를 UI 렌더링, 입력 처리, 네트워크 메시징으로 분리한다. 지금 크기에서는 회귀 분석 비용이 급증한다.NetworkMultiplayerLobbyRoot.prefab의 필수 참조를 baker 또는 editor test로 검증한다. null reference는 빌드 후에야 드러나면 늦다.- 2인 이상 로비 체크리스트를 만든다. 생성, 참가, 이탈, 재입장, ready, 시작까지 최소 루프를 고정해야 한다.
- TMP 폰트 변경 의도와 CJK fallback 기준을 기록한다. KR SDF 대리 사용이 계속되는지 확인이 필요하다.
5. 문서화 상태
design 점수는 4점이다. 게임의 큰 방향은 어느 정도 존재한다고 보지만, 이번 변경처럼 멀티플레이 로비가 커졌을 때 플레이어 경험 목표와 모드 흐름을 설명하는 문서가 보이지 않는다.
technical 점수는 3점이다. 네트워크 권한 모델, 로비 상태 흐름, UI Bootstrap/Driver/RootRefs 규약이 실무 문서로 고정돼 있지 않다. 신규 개발자가 이 커밋만 보고 안전하게 수정하기 어렵다.
spec 점수는 3점이다. 방 목록, 슬롯 수, ready 조건, 시작 조건, 이탈 처리 같은 사양이 테스트 체크리스트로 환원되지 않았다. 지금은 프리팹과 코드가 사실상의 사양 역할을 하고 있어 위험하다.
6. Backlog
- 플레이테스트 체크리스트의 후속 위치가 아직 확인되지 않는다. 이번 로비 복구는 오히려 체크리스트 필요성을 더 키웠다.
FinalBossEnemy2D단일 클래스 집중 문제는 이번 범위에서 손대지 않았다. 보스 로직 확장 전 분리가 필요하다.TrapFieldWest.unity의 fileID 셔플성 변경 이슈도 남아 있다. 씬 변경 검토 가능성을 높일 절차가 필요하다.Assets/Resources기반 UI 로딩은 계속 유지된다. 로비 프리팹도 Resources 아래에 있어 Addressable 전환 과제는 해소되지 않았다.- UI 3계층 규약, 로케일 fallback, GameLocale 재갱신, CJK 폰트 대리 문제는 해결 근거가 없다. 다음 커밋에서 별도 검증해야 한다.