프로젝트 개요
report · 4 of 8 · 6 commits · 95f11dab5b80ed415ef44e91a574fc971cef261c..fd2c0284331ad082987a87cb10b808d415bd2915

플레이어 선택과 Host/Guest UI가 추가됐지만 검증·권한 모델이 약하다.

HIGH 진행도 38% (+ 4pts) 2026. 4. 28. PM 5:56

프로젝트 예상 진행도

기준: 2026. 4. 28. PM 5:56
38 / 100

문서화 상태

Design
4/10
Technical
2/10
Spec
3/10
#플레이어선택 #UI #프리팹 #네트워킹 #기술부채

Rougelike-EndWalker — 플레이어 선택·Host/Guest UI 스냅샷

1. 주요 변경사항

2. 코드 품질 리뷰

이번 변경의 좋은 점은 UI 노드 스크립트 중복을 줄이고 Player 기능을 Core/Model/Presenter/View로 나누려는 시도가 보인다는 점이다. 다만 구조 이름만 MVP에 가까워졌고, 실제 책임 경계가 검증됐다고 보기는 어렵다. 특히 Player 선택 로직은 씬, 프리팹, JSON 데이터, Presenter가 동시에 추가됐으므로 “선택 상태의 단일 진실 공급원”이 어디인지 명확해야 한다.

가장 큰 위험은 Host/Guest 처리가 아직 네트워크 권한 모델이 아니라 UI 표시 분기처럼 보인다는 점이다. Main_NodSelect.unityUIManager 직렬화 값에 _isHost: 1이 들어가 있는데, 이 방식은 씬 복제나 재접속, 게스트 실행에서 즉시 어긋날 수 있다. Host가 버튼을 누를 수 있고 Guest가 제안만 할 수 있다면, 그 권한은 씬의 bool이 아니라 세션/네트워크 계층에서 내려오는 상태여야 한다.

_guestMapInfoPanel: {fileID: 1752587087}
_suggestPopup: {fileID: 1289980280}
_isHost: 1

또한 MapInfo_Guset처럼 prefab 이름에 오탈자가 남아 있다. 단순 표기 문제가 아니라 자동 검색, Addressables 키, 문서화, QA 체크리스트에서 같은 오타를 계속 전파시키는 씨앗이다. 지금 바로 고치면 몇 분이지만, 프리팹 참조가 늘어난 뒤에는 변경 비용이 커진다.

3. 진행도 평가

이전 대비 플레이어 선택과 맵 UI는 분명히 전진했다. 특히 노드 버튼 중복 제거와 프리팹화는 이후 작업 속도를 높일 수 있다. 그러나 “플레이 가능한 빌드” 관점에서는 아직 검증 신호가 부족하다. 신규 씬과 프리팹이 대량 변경됐는데 테스트나 수동 검증 절차가 같이 들어오지 않았다.

진행도는 38%로 본다. 핵심 루프의 주변 UI는 쌓이고 있으나, 멀티플레이 권한, Player 선택 상태 유지, 씬 전환 후 데이터 전달, 밸런싱 문서가 아직 제출 가능한 수준이 아니다. 특히 네트워킹을 하려는 흔적이 있는 상태에서 권한 모델 문서가 없는 것은 high risk다.

4. 다음 권장사항

5. 문서화 상태

design은 4점이다. 게임 콘셉트와 캐릭터 방향은 일부 존재하는 것으로 보이나, 이번 변경의 Host/Guest UX나 플레이어 선택 흐름이 왜 필요한지 설명하는 갱신은 없다.

technical은 2점이다. Player 모듈을 asmdef로 나누고 UI Presenter를 정리하려는 코드는 생겼지만, 신규 유입자가 구조를 이해할 아키텍처 문서와 네트워크 권한 모델 문서가 보이지 않는다.

spec은 3점이다. player_data.json 같은 데이터 파일은 추가됐지만, 입력-상태-결과 매핑, 선택 가능 캐릭터 수, Host/Guest별 버튼 권한, 실패 케이스가 사양서 수준으로 정리되지 않았다.

6. Backlog

리포트 타임라인

8개 스냅샷 · 최신순