Rougelike-EndWalker — 타이틀·문서 확장 스냅샷
1. 주요 변경사항
Title.unity가 추가되고 싱글·멀티·옵션·종료로 이어지는 타이틀 패널 흐름이 들어갔다.GameMode.Core어셈블리,GameSession,SceneType이 추가되어 플레이 모드와 씬 흐름을 분리하려는 방향이 보인다.- UI가
View,Presenter,App어셈블리로 나뉘었고 버튼별 클릭 컴포넌트가 추가되었다. - 컨셉 문서, GDD, TDD, 기술 스택 문서가 대량 추가되어 문서화 진척은 분명하다.
- 노드 스프라이트와 프리팹 참조가 갱신되었고,
Lobby,NodeSelect로 씬 이름 정리도 진행되었다.
2. 코드 품질 리뷰
이번 변경의 좋은 점은 기능 축을 GameMode.Core, UI.App, Presenter, View로 나누려는 의도가 보인다는 점이다. 타이틀 화면, 세션 상태, 버튼 입력을 한 파일에 몰아넣지 않은 선택은 이후 씬이 늘어날 때 유지보수 비용을 낮춘다. 다만 현재는 분리의 기준이 아직 약하다. GameStart, OpenPanelButton, BackToMainButton처럼 버튼마다 컴포넌트를 쪼개는 방식은 초반에는 읽기 쉽지만, 버튼 수가 늘면 동일한 클릭 연결 코드가 계속 복제될 위험이 있다. 개선하려면 버튼은 “명령 타입 + 대상” 데이터만 들고, 실행은 공통 라우터나 프리젠터가 맡는 식으로 정리하는 편이 낫다.
가장 위험한 신호는 씬 직렬화 값이다. Title.unity에서 TitleUi의 RectTransform scale이 0,0,0으로 들어가 있고, 여러 패널이 동시에 active 상태로 저장되어 있다. 이 값이 실제 플레이에서 보정되지 않으면 첫 화면이 보이지 않거나 입력 레이어가 겹친다. UI 초기 상태는 씬 저장값에 맡기지 말고 TitleSceneController에서 ShowMainOnly() 같은 단일 진입점으로 확정해야 한다.
m_Name: TitleUi
m_LocalScale: {x: 0, y: 0, z: 0}
또한 “Playe Guset” 같은 표시 문자열 오타가 씬에 직접 박혀 있다. 문자열이 씬 안에 흩어지면 로컬라이징, QA, 오타 수정이 모두 어려워진다. 최소한 타이틀 버튼 텍스트는 상수나 테이블, 이후에는 Localization Table로 옮기는 것이 좋다.
3. 진행도 평가
이전 대비 전진은 있다. 타이틀 진입점, 세션 모드, 문서 묶음이 생겼기 때문에 프로젝트가 “아이디어와 데이터” 단계에서 “플레이 흐름을 엮는” 단계로 이동했다. 커밋 수도 7개로 적당하고, feature 성격의 브랜치 병합도 보인다.
다만 아직 플레이 가능한 빌드로 보기에는 이르다. 핵심 루프보다 타이틀·문서·리소스 정리에 비중이 크고, 테스트나 플레이모드 검증 근거가 없다. 특히 멀티플레이는 버튼에서 Host/Guest 모드만 선택된 상태로 보이며, 권한 모델·동기화·재접속 대응은 아직 평가할 코드가 부족하다.
4. 다음 권장사항
Title.unity를 실행해 첫 화면 표시, 버튼 클릭, 패널 전환, 종료 동작을 체크리스트로 검증한다.GameSession에 현재 모드의 주인, 씬 전환 시 유지/초기화 규칙, 중복 인스턴스 방지 정책을 적는다.- 버튼별 컴포넌트가 계속 늘어나기 전에 공통 클릭 라우팅 구조로 정리한다.
- Unity Test Runner로 JSON 로딩, 씬 이름 유효성, 타이틀 패널 전환 최소 테스트를 만든다.
- 확률 노드와 BO 쿨다운 수치는 “왜 이 값인지”를 GDD나 별도 spec에 남긴다.
5. 문서화 상태
design은 6점이다. 컨셉 문서와 GDD가 추가되어 세계관·게임 방향성은 이전보다 훨씬 나아졌다. 다만 플레이어 경험 목표와 실제 시스템 수치가 얼마나 연결되는지는 아직 확인 근거가 부족하다.
technical은 5점이다. TDD와 TECH_STACK.md가 생긴 것은 좋지만, 신규 인원이 코드 구조를 따라갈 수 있을 정도의 모듈 책임, 씬 흐름, 세션 상태 다이어그램은 더 필요하다. 특히 멀티플레이를 목표로 한다면 권한 모델 문서가 빠지면 안 된다.
spec은 4점이다. 현재 변경만으로는 레벨·노드·캐릭터·밸런스 수치가 테스트 체크리스트로 쓸 만큼 구체화됐다고 보기 어렵다. _sample/docs 수준에 가려면 JSON 스키마, 확률표, 해금 조건, QA 기준이 문서에 직접 들어가야 한다.
6. Backlog
- 테스트 코드·플레이모드 검증 절차 부재는 계속 남아 있다. 씬과 세션이 추가된 지금부터는 수동 확인만으로 부족하다.
- 확률 노드 가중치·BO 쿨다운 2 스테이지 근거 수치도 해결 확인이 안 된다. 값의 의도와 목표 난이도를 문서화해야 한다.
- 사서·기록자·최종 보스의 특성·밸런싱 수치도 이번 스냅샷만으로 해결됐다고 볼 수 없다.
- README의 아트/UI placeholder와 작성자 표기 혼용은 원문 수정 근거가 없어 이월한다.