프로젝트 개요
report · 16 of 18 · 4 commits · a807d971c2312cafdc5f13e536caa7481f154055..c769551eef0e449c26368d77270e39628758d4bc

복귀 버그는 완화됐지만 씬 전환 책임이 UI에 퍼졌다.

HIGH 진행도 43% (+ 1pts) 2026. 5. 6. PM 1:00

프로젝트 예상 진행도

기준: 2026. 5. 6. PM 1:00
43 / 100

문서화 상태

Design
3/10
Technical
2/10
Spec
2/10
#멀티플레이 #씬전환 #UI상태 #기술부채

HANPAN — BlackAndWhite 복귀 안정화 스냅샷

1. 주요 변경사항

2. 코드 품질 리뷰

이번 변경은 실제 플레이 중 발생한 복귀 무반응, 중복 클릭, EventSystem 경고를 빠르게 줄이려는 목적이 명확하다. 문제를 재현 가능한 사용자 흐름에서 잡고 있다는 점은 좋다. 다만 해결 방식이 UI, GameManager, Controller에 흩어져 있어 같은 전환 책임을 세 군데가 나눠 갖게 됐다. 이 구조는 다음 버그에서 “누가 씬 상태의 주인인가”를 추적하기 어렵게 만든다.

가장 위험한 부분은 ReturnToMatchingLocal의 조용한 조기 반환이다.

if (existing.IsValid() && existing.isLoaded)
{
    return;
}

주석에는 GameFlowManager가 아직 올바른 모듈을 표시하지 않을 수 있다고 적혀 있지만, 실제 보정 로직은 없다. 왜 문제냐면 버튼은 이미 비활성화되고 게임 씬 Canvas도 꺼진 뒤일 수 있어, Matching이 로드돼 있다는 이유만으로 사용자가 빈 화면 또는 잘못된 UI 상태에 갇힐 수 있다. 개선하려면 “씬 로드 여부”와 “Room UI 활성화 완료”를 별도 상태로 보고, 이미 로드된 경우에도 전환 완료 핸들러를 반드시 호출해야 한다.

또한 HideGameSceneComponents()가 씬 루트 전체를 훑어 모든 Canvas, EventSystem, AudioListener를 끄는 방식은 강한 처방이다. 당장은 충돌을 막지만, 이후 BlackAndWhite 씬 안에 결과 저장, 리매치, 관전 UI처럼 남아야 하는 Canvas가 생기면 같이 죽는다. 전환 전용 루트 오브젝트를 만들고 비활성화 대상 컴포넌트를 명시적으로 참조하는 방식이 더 안전하다.

3. 진행도 평가

이번 범위는 신규 기능 전진보다 복귀 플로우 안정화에 집중됐다. 4개 커밋 모두 fix(BW)이고 변경 파일도 3개뿐이라, 현재 프로젝트는 플레이 루프를 확장하는 단계라기보다 씬 전환 부채를 수습하는 단계로 보인다. 네트워크 게임에서 씬 로드와 로컬 복귀가 엮이는 부분이므로 위험도는 낮게 볼 수 없다.

진행도는 약 43%로 판단한다. BlackAndWhite 단위 플레이는 일부 동작하고 있으나, 멀티플레이 씬 생명주기, UI 상태 전이, 문서화된 권한 모델이 아직 약하다. 다음 단계에서 전환 구조를 정리하지 않으면 기능을 추가할수록 수정 비용이 빠르게 증가한다.

4. 다음 권장사항

5. 문서화 상태

design 점수는 3점이다. 게임 방향과 개별 모드 의도는 일부 추정 가능하지만, 이번 변경처럼 복귀 UX가 어떤 경험을 보장해야 하는지 문서로 고정돼 있지 않다.

technical 점수는 2점이다. NGO, Additive Scene, Matching/Game 씬 생명주기, 로컬 복귀 권한 모델이 코드 주석에만 흩어져 있다. 신규 개발자가 문서만 보고 안전하게 수정하기 어려운 상태다.

spec 점수는 2점이다. 입력 매핑, UI 상태 전이, HUD 수치, 게임오버 이후 버튼별 결과가 테스트 표로 정리돼 있지 않다. 이번 버그군 자체가 사양 부재에서 나온 신호다.

6. Backlog

리포트 타임라인

18개 스냅샷 · 최신순
MED 1 commits 3D 보드 비주얼은 전진했으나 씬 직편집 부채가 계속 누적됨. 31% HIGH 6 commits 멀티플레이 복귀 버그를 줄였지만 상태 생명주기 부채가 크다. 43% HIGH 4 commits 복귀 버그는 완화됐지만 씬 전환 책임이 UI에 퍼졌다. 43% HIGH 8 commits Additive 씬 전환은 전진했으나 네트워크 복귀 흐름 위험이 크다. 42% HIGH 9 commits Matching 씬 구조는 전진했지만 대형 씬 커밋 리스크가 계속 크다. 42% HIGH 5 commits PlayerState 전환은 진전이나 Prefab 등록과 권한 검증이 아직 위험하다. 48% HIGH 55 commits 3D 보드와 UI는 전진했지만 씬·네트워크 부채가 커졌다. 46% HIGH 10 commits BlackAndWhite UI는 전진했지만 네트워크 표시 신뢰성이 흔들린다. 45% HIGH 8 commits UI 전진은 있으나 씬 생성물·바인딩 부채가 커졌다. 40% HIGH 22 commits BlackAndWhite 구현은 전진했지만 씬·네트워크 부채가 급증했다. 43% MED 2 commits 흑과백 모델링은 전진했으나 동시 제출 규칙이 흔들린다. 33% MED 3 commits M2 안정화와 사양화는 진전, 게임 본편은 아직 진입 전이다. 45% MED 3 commits 네트워크 문서화는 크게 전진했으나 구현 안전망은 아직 남아 있다. 43% HIGH 10 commits 로비 UI와 Relay WSS는 전진했으나 설계 부채가 누적 중이다. 32% HIGH 7 commits 로비 기능은 전진했지만 네트워크 설계 부채가 커졌다. 34% MED 4 commits NGO 뼈대·00_Boot·asmdef 계층 구축, 단일 클라이언트 로비 검증. 22% MED 3 commits Unity URP 프로젝트 부팅 및 WebGL 전환, 핵심 기술 리스크는 미해결. 18% LOW 3 commits Unity 개발 계획 문서 신규 작성, 컨셉 오탈자 정정. 코드 착수 전 단계. 15%