HANPAN — BlackAndWhite UI 전환 스냅샷
1. 주요 변경사항
- BlackAndWhite 손패 표현이 3D 오브젝트 중심에서 Canvas UI 카드 중심으로 이동했다.
HandCardVisual추가와 UI 빌더 확장은 방향 자체는 적절하다. - 마지막 커밋에서 손패 인덱스 불일치, 보드 색상, 이중 바인딩 버그 3건을 수정했다. 핵심 상호작용 버그를 바로 잡은 점은 긍정적이다.
Game_01_BlackAndWhite.unity가 24,550라인 변경되며 이전의 대형 씬 생성물 문제가 더 커졌다. 리뷰와 병합 비용이 이미 위험 수위다.LOGO1.png가 추가되고 로비 씬도 갱신되었다. 다만 2MB 원본 이미지의 임포트·압축 정책은 아직 근거가 보이지 않는다.
2. 코드 품질 리뷰
UI 카드 전환은 플레이어 피드백을 빠르게 확인하기 좋은 진전이다. 특히 카드 hover/selected 스케일을 별도 HandCardVisual로 뺀 선택은 표현 로직을 컨트롤러에서 분리하려는 의도가 보인다. 문제는 최근 수정 커밋의 제목 그대로 “손패 인덱스 불일치”와 “이중 바인딩”이 이미 발생했다는 점이다. 이는 UI가 카드 순서, 버튼 배열, 실제 Hand 모델을 느슨하게 맞춰 보고 있다는 신호다. 개선하려면 클릭 이벤트에는 배열 인덱스가 아니라 카드 인스턴스 ID, 소유자, 슬롯 ID를 함께 전달해야 한다.
BoardLayout3D와 빌더 쪽 변경은 계층 경로 연결을 늘리는 방향으로 보인다. 이 방식은 초반에는 빠르지만, 씬 이름 하나가 바뀌면 런타임에서 조용히 실패한다. Unity 프로젝트에서 특히 위험한 패턴은 문자열 경로와 대형 씬 YAML이 결합되는 경우다. 실패 지점이 컴파일 타임에 잡히지 않고, QA나 실제 플레이 중에야 드러난다.
// 권장 방향
[SerializeField] private Transform[] playerHandSlots;
[SerializeField] private BoardView3D boardView;
씬에 UI를 직접 생성한 결과가 대량 커밋되는 구조도 계속 악화되고 있다. 지금은 “보기 좋은 화면”보다 “재생성 가능한 화면”이 더 중요하다. 프리팹, ScriptableObject 설정, 에디터 빌더 검증 로그로 분리해야 이후 카드 UI나 보드 레이아웃 수정 비용을 감당할 수 있다.
3. 진행도 평가
이번 범위는 BlackAndWhite 본편 UI의 가시적 진전이 있다. 손패 카드, 점수, 보드 색상, 빌더 통합까지 이어졌으므로 단순 스캐폴드 단계는 벗어났다. 그러나 마지막에 핵심 UI 버그 3건을 별도 fix로 수습한 점은 안정성보다 구현 속도가 앞섰다는 신호다.
전체 진행도는 40%로 본다. 로컬에서 부분 플레이 가능한 형태에 가까워지고 있으나, 네트워크 권한 모델, Player Prefab 전략, 상태 기본값, 씬/프리팹 구조, 상세 사양서가 아직 닫히지 않았다. 이 상태로 기능을 더 얹으면 디버깅 비용이 급격히 증가한다.
4. 다음 권장사항
- BlackAndWhite UI 카드 바인딩을 인덱스 기반에서 카드/슬롯 ID 기반으로 바꿔라.
Game_01_BlackAndWhite.unity대형 변경을 프리팹과 빌더 검증 흐름으로 줄여라.BoardLayout3D의 계층 경로 문자열 의존을 직렬화 참조와 명시 검증으로 대체하라.- NetworkObject와 Player Prefab 책임 경계를 사양서에 먼저 확정하라.
- 손패, 보드, 점수 UI에 2인 로컬 재현 체크리스트를 추가하라.
5. 문서화 상태
design은 5점이다. BlackAndWhite의 게임 방향과 작업 항목은 보이나, 플레이어 경험 목표와 UI 상태 전이의 이유가 충분히 설명되지 않는다.
technical은 4점이다. Work Breakdown 갱신은 있으나 신규 합류자가 네트워크 권한, 씬 빌더, UI 바인딩 구조를 문서만 보고 이해하기 어렵다.
spec은 3점이다. 손패 입력, 카드 선택, 보드 반영, 점수 표시, 미제출 기본값 같은 검증 가능한 사양이 부족하다. 현재 문서는 테스트 체크리스트로 쓰기에는 아직 약하다.
6. Backlog
- 게임 본편 NetworkObject/Player Prefab 전략이 아직 확정되지 않았다.
Game_01_BlackAndWhite.unity대형 생성물 커밋 문제가 더 커졌다.PendingColor미제출 기본값이 Black처럼 보일 가능성은 계속 남아 있다.- 수동 leave와 SDK 자동 leave 훅의 중복 가능성은 이번 범위에서 검증되지 않았다.
- 로비 UI 하드코딩, 레벨/씬별 상세 사양 부재, URP 템플릿 잔존도 그대로 이월한다.