HANPAN — Matching 씬 전환 스냅샷
1. 주요 변경사항
PlayerState.prefab이 추가되고DefaultNetworkPrefabs.asset이 갱신됐다. 네트워크 플레이어 상태 자산 등록 자체는 이전보다 명확해졌다.- Lobby와 Room을 별도 씬 이동이 아니라
Base_01_Matching단일 씬 내부 모듈 전환으로 묶었다. GC 스파이크를 줄이려는 방향은 타당하다. LobbyUI에 방 목록 오브젝트 풀링과 변경 감지 갱신이 들어갔다. 매번 생성·폐기하는 방식에서 벗어난 점은 성능상 좋은 전진이다.Game_01_BlackAndWhite.unity는 여전히 대규모 씬 diff 중심으로 변경됐다. 기능 의도보다 직렬화 노이즈가 더 커서 리뷰 가능성이 낮다.Docs/SceneArchitecture.md가 추가되어 씬 흐름 설명은 보강됐지만, 입력·상태·수치 사양까지 내려가지는 못했다.
2. 코드 품질 리뷰
가장 좋은 변화는 Matching 구조 정리다. Lobby↔Room 왕복에서 씬을 계속 갈아엎지 않고 모듈 활성화로 전환한 선택은 Unity 런타임 비용 측면에서 합리적이다. 특히 방 목록 풀링은 Instantiate/Destroy 루프를 줄이는 명확한 개선이다. 다만 풀링은 단순 최적화가 아니라 상태 관리 책임을 늘린다. 비활성 row 의 텍스트, 버튼 리스너, 선택 상태, 네트워크 방 ID 가 확실히 초기화되지 않으면 “이전 방을 누르는” 종류의 버그가 발생한다.
반대로 Game_01_BlackAndWhite.unity 는 위험 신호가 계속 크다. 씬 파일에서 오브젝트 배치, 머티리얼, HUD, 손패 위치가 대량 재직렬화되고 있어 어떤 변경이 의도인지 구분하기 어렵다. 이 상태에서는 한 줄짜리 UI 수정도 수만 줄 diff 로 번지고, 충돌 해결 시 실제 게임 오브젝트 참조를 깨뜨릴 확률이 높다. 개선하려면 반복 구조는 프리팹으로 빼고, 재생성 가능한 부분은 BlackAndWhite3DSceneBuilder 의 결정적 출력으로 통제해야 한다.
네트워크 측면에서는 PlayerState 프리팹 추가가 긍정적이다. 그러나 자산이 추가된 것과 세션 중 올바르게 스폰·동기화되는 것은 별개다. SceneLoader.Matching 씬 이름 수정처럼 문자열 기반 씬 흐름은 런타임 전까지 실패가 늦게 드러난다. 씬 이름, Build Settings, 네트워크 프리팹 등록은 에디터 검증으로 끊어야 한다.
3. 진행도 평가
이전 대비 아키텍처 방향은 전진했다. 특히 Matching 단일 씬과 방 목록 풀링은 실제 플레이 반복 비용을 줄이는 작업이다. 하지만 9개 커밋 중 fix/revert 성격이 많고, 손패 위치 조정도 여러 번 되돌림을 거쳤다. 이는 아직 시각 배치와 씬 구조가 안정화되지 않았다는 신호다.
현재 진행도는 약 42%로 본다. 핵심 루프 일부는 움직이는 단계로 보이나, 네트워크 세션 검증, 씬 재진입 안정성, 사양 문서, 대형 씬 관리가 남아 있다. 지금 대형 씬 커밋 습관을 끊지 않으면 이후 2주 디버깅 비용이 급격히 늘어난다.
4. 다음 권장사항
- Matching 씬 전환 흐름을 2인 세션 기준으로 반복 검증한다. Lobby→Room→Lobby 왕복에서 중복 구독, 남은 row, 이전 roomId 오염을 확인해야 한다.
Game_01_BlackAndWhite.unity의 반복 카드·슬롯·HUD 오브젝트를 프리팹화한다. 씬 diff 는 의도한 루트 참조 변경만 남기는 수준이 목표다.LobbyUI와RoomUI풀링 변경에 재진입 테스트를 붙인다. 비활성 오브젝트 초기화와 버튼 리스너 해제를 명시적으로 검증해야 한다.Docs/SceneArchitecture.md를 상태 전이표까지 확장한다. 씬 이름, 진입 조건, UI 표시 상태, 실패 복구 경로를 표로 고정한다.PlayerState프리팹 등록은 수동 확인에 맡기지 말고 에디터 테스트로 자동화한다.
5. 문서화 상태
design 점수는 3점이다. 프로젝트의 게임 경험 목표와 코어 루프를 설명하는 GDD 수준 문서는 아직 약하고, 이번 변경도 플레이어 경험보다는 씬 구조 중심이다.
technical 점수는 5점이다. Docs/SceneArchitecture.md 추가로 씬 흐름 이해도는 올라갔다. 다만 네트워크 권한 모델, 재접속, 씬 재로드, 데이터 흐름까지 신규 인원이 독립적으로 이해할 수준은 아니다.
spec 점수는 2점이다. 입력 매핑, UI 상태 전이, HUD 수치, 라운드 규칙, 방 목록 갱신 조건이 테스트 체크리스트로 쓸 만큼 구체화되지 않았다. _sample/docs 기준의 레벨·시스템 사양서와는 아직 거리가 크다.
6. Backlog
- 레벨/씬별 상세 사양서 입력 매핑·UI 상태 전이·HUD 수치 부재는 계속 남아 있다. 문서가 설명문에서 테스트 가능한 표로 내려와야 한다.
Game_01_BlackAndWhite씬 생성물 커밋 문제는 해결되지 않았다. 이번에도 대형 씬 diff 가 리뷰 비용을 지배한다.- Lobby UI 하드코딩 문제는 이름이
Base_02_Lobby로 바뀌었을 뿐, 빌더·프리팹 중심으로 정리됐다는 근거가 부족하다. - URP 템플릿 튜토리얼과 Mobile 렌더러 잔존 문제는 이번 범위에서 정리 근거가 없다.
7. 이전 Backlog 해결
PlayerState Prefab 실제 자산 등록 검증 부재는PlayerState.prefab추가와DefaultNetworkPrefabs.asset갱신으로 해결된 것으로 본다. 다만 다음 단계는 수동 등록 상태 확인이 아니라 자동 검증이다.