프로젝트 개요
report · 15 of 18 · 8 commits · 437d6c057dbf6df7ed5e370938574037800d9eb1..a807d971c2312cafdc5f13e536caa7481f154055

Additive 씬 전환은 전진했으나 네트워크 복귀 흐름 위험이 크다.

HIGH 진행도 42% ( 0pts) 2026. 5. 6. AM 11:40

프로젝트 예상 진행도

기준: 2026. 5. 6. AM 11:40
42 / 100

문서화 상태

Design
3/10
Technical
6/10
Spec
2/10
#네트워킹 #씬전환 #아키텍처 #문서화

HANPAN — Additive 씬 전환 안정화 스냅샷

1. 주요 변경사항

2. 코드 품질 리뷰

이번 변경은 방향 자체는 좋다. Boot, Matching, Game을 명시적인 상태로 보고 Additive 씬 스택을 관리하려는 판단은 Unity 멀티플레이 프로젝트에서 필요한 전환이다. 특히 Lobby와 Room을 씬 전환이 아니라 SetActive로 다루는 선택은 GC 스파이크를 줄이는 데 합리적이다.

다만 현재 구현은 “동작하는 시나리오”에 맞춰 빠르게 봉합된 흔적이 강하다. 가장 위험한 지점은 강제 복귀가 ClientRpc 내부의 서버 조건문에 걸려 있다는 점이다.

void AbortGameClientRpc()
{
    OnGameAborted?.Invoke();
    if (IsServer) NetworkSceneTransition.ReturnToMatching(returnToRoom: false);
}

Host 환경에서는 우연히 맞을 수 있지만, dedicated server나 실행 모드가 달라지면 서버가 이 ClientRpc 본문을 실행하지 않는 구조가 될 수 있다. 네트워크 씬 전환은 클라이언트 알림 함수 안에서 역으로 발생시키면 안 된다. 서버 권한 함수에서 ReturnToMatching을 먼저 호출하고, 클라이언트에는 UI 정리만 RPC로 내려야 한다.

또 하나의 위험 신호는 조용한 실패다. GameManager.Instance?.ReturnToMatchingLocal(...)는 Instance가 없을 때 버튼이 아무 일도 하지 않는다. Boot에서는 null을 에러로 찍는데, 게임 종료 UI에서는 침묵한다. 같은 실패를 한쪽은 에러, 한쪽은 무시로 처리하면 QA가 재현 로그를 확보하기 어렵다. GameManager는 Additive 중복 로드 방지, 로딩 중 플래그, 실패 로그를 가진 단일 진입점으로 보강해야 한다.

3. 진행도 평가

이전 대비 기술 아키텍처는 분명히 전진했다. 씬 전환 방향이 문서와 코드에 들어왔고, Player1 먼저 퇴장 시 Player2 복귀 불가 같은 실제 멀티플레이 버그를 해결하려는 커밋도 확인된다. 그러나 8개 커밋 대부분이 fix이고, 핵심 변경 영역이 NGO 씬 관리라 리스크가 작지 않다.

현재 진행도는 42%로 본다. 플레이 가능한 핵심 루프 일부는 존재하지만, 반복 게임 시작·개인 복귀·상대 퇴장·강제 중단 같은 멀티플레이 필수 경로가 자동 검증되지 않았다. 이 상태에서 미니게임을 늘리면 디버깅 비용이 급격히 증가한다.

4. 다음 권장사항

5. 문서화 상태

design 점수는 3점이다. 이번 커밋은 씬 아키텍처 중심이며, 게임 컨셉·코어 루프·플레이어 경험 목표를 보강한 흔적은 거의 없다. 게임의 재미를 판단할 문서가 아직 부족하다.

technical 점수는 6점이다. Docs/SceneArchitecture.md는 신규 유입자가 큰 구조를 파악할 수 있을 정도로 개선되었다. 다만 GameManager 위치를 Main으로 쓰는 부분, ReturnToLobbyBtn이 ServerRpc를 호출한다고 설명하는 부분 등 코드와 맞지 않는 서술이 있어 신뢰도를 깎는다.

spec 점수는 2점이다. 씬 전환 절차 문서는 생겼지만, 레벨별 입력, UI 상태, HUD 수치, 승패 조건, 밸런싱 값은 여전히 테스트 체크리스트로 쓰기 어렵다. 샘플 사양서 기준으로는 아직 placeholder에 가깝다.

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%