Rougelike-EndWalker — 이벤트 노드 UI 확장 스냅샷
1. 주요 변경사항
- 로비 테마 선택 UI가
Tema계열에서Thema계열로 대거 정리되었고, 버튼 생성용ThemaRepository,ThemaButton,ThemaSelectPanel구조가 추가되었다. NodeSelect씬에 이벤트 패널, 선택 버튼, 확인 버튼이 붙었고EventInfo,EventPanel,Event Data.json이 새로 들어왔다.- 스테이지 클리어 결과 UI가
Clear&Reward Panel프리팹 중심으로 재구성되었고, 닫기 버튼 공통 컴포넌트가 추가되었다. - UI 오브젝트를 씬 내 직접 구성에서 프리팹 인스턴스로 바꾼 점은 방향이 좋다. 다만 변경량 대비 자동 검증 흔적이 없다.
2. 코드 품질 리뷰
이번 변경의 가장 좋은 점은 로비 UI를 데이터 기반 생성 구조로 옮기려는 시도다. 기존처럼 씬에 테마 버튼을 직접 박아두는 방식은 테마가 3개만 되어도 수정 비용이 급증한다. ThemaRepository와 버튼 프리팹을 둔 방향은 확장성 측면에서 맞다. 다만 Thema라는 자체 표기를 선택했다면 프로젝트 전체에서 끝까지 일관되어야 한다. 현재는 Thema button Contaner, Nod/Event Data.json, Temp.txt처럼 새 오타와 임시 산출물이 같이 들어와 있어 명명 정리의 신뢰도를 떨어뜨린다.
이벤트 노드는 기능 면에서 전진했지만 데이터 계약이 약하다. Assets/Resources/Data/Nod/Event Data.json이 추가되었는데 경로부터 Nod로 보이며, 이벤트 선택지·확률·보상 결과가 어떤 스키마를 따라야 하는지 문서나 테스트가 없다. 이런 데이터 주도 기능은 필드 하나가 비어도 런타임에서만 깨진다. 개선하려면 JSON 스키마 또는 로딩 검증 메서드를 두고, 씬 진입 시 데이터 개수·ID 중복·보상 타입 유효성을 바로 검사해야 한다.
UI 씬 변경은 프리팹화 자체는 긍정적이나, 해상도 대응은 아직 위험하다. Lobby.unity와 NodeSelect.unity에 1920x1080, AnchoredPosition x: 1300, y: -470 같은 고정 좌표가 많다. 왜 문제냐면 개발 PC에서는 맞아 보여도 다른 비율에서 버튼이 잘리거나 클릭 영역이 어긋난다. VerticalLayoutGroup, ContentSizeFitter, Canvas Scaler 기준 해상도, Safe Area 대응으로 구조를 고정해야 한다.
3. 진행도 평가
이전 대비 기능 전진은 분명하다. 테마 선택 흐름과 이벤트 노드 결과 UI가 실제 플레이 루프에 가까워졌고, 직접 배치 UI를 프리팹으로 치환한 점도 장기적으로 맞는 방향이다. 진행도는 약 45%로 본다. 핵심 루프가 조각별로 붙고 있으나, 데이터 검증·테스트·밸런싱 근거가 아직 부족하다.
리스크는 medium이다. 지금 단계에서 하루 정도 투자해 데이터 스키마, 씬 참조 검증, UI 해상도 체크를 만들면 이후 디버깅 시간을 크게 줄일 수 있다. 반대로 이 상태로 이벤트 종류를 늘리면 런타임 참조 누락과 JSON 필드 불일치가 빠르게 누적된다.
4. 다음 권장사항
- 이벤트 노드 선택, 결과 적용, 보상 패널 닫기까지 PlayMode 테스트 또는 QA 체크리스트로 고정한다.
Event Data.json의 필수 필드, 확률 가중치, 보상 타입, 실패 조건을 문서와 로딩 검증 코드로 정의한다.- 로비와 노드 선택 UI의 고정 좌표를 레이아웃 그룹 기반으로 바꾸고 최소 16:9, 16:10, 21:9에서 확인한다.
Nod,Contaner,Temp.txt같은 오타와 임시 파일을 다음 커밋 전에 정리한다.- 클리어 팝업과 닫기 버튼의 활성화 정책을 한 컴포넌트 책임으로 통일한다.
5. 문서화 상태
design은 4점이다. 게임의 큰 방향은 README나 기존 자료에 일부 있는 것으로 보이나, 이번 이벤트 노드가 플레이 경험에서 어떤 선택 압박을 만들려는지 설명이 부족하다.
technical은 2점이다. 새로 들어온 EventInfo, EventPanel, NodeMapPresenter 사이의 데이터 흐름, UI 참조 방식, 씬 전환 책임이 문서화되어 있지 않다. 신규 팀원이 코드만 보고 구조를 역추적해야 하는 상태다.
spec은 3점이다. 이벤트 데이터 JSON은 추가되었지만 확률, 선택지 수, 보상 타입, 쿨다운, 예외 처리 기준이 사양서 수준으로 정리되지 않았다. 테스트 체크리스트로 바로 쓰기 어렵다.
6. Backlog
- 테스트 코드·플레이모드 검증 절차 부재는 여전히 남아 있다. 이번처럼 씬·프리팹 참조가 많은 변경에서는 가장 먼저 터질 수 있는 부채다.
- 확률 노드 가중치와 BO 쿨다운 2 스테이지 근거 수치가 아직 확인되지 않는다. 밸런스 값은 감이 아니라 재현 가능한 기준으로 남겨야 한다.
- 사서·기록자·최종 보스 등 핵심 인물의 특성과 수치가 문서에 남아 있지 않다. 콘텐츠 확장 시 기준점이 흔들린다.
- README의 placeholder와 작성자 표기 혼용은 이번 커밋에서 다뤄지지 않았다. 낮은 우선순위지만 제출 품질에는 직접 영향을 준다.
7. 이전 Backlog 해결
Tema/TemaUse명명 오타는 주요 코드와 리소스 경로가ThemaInfo,ThemaRepository,ThemaUse/themas.json으로 이동하면서 해결된 것으로 판단한다. 다만Contaner같은 신규 오타가 생겼으므로 명명 검수는 계속 필요하다.