Exit-or-die — 던전·로비 도입 스냅샷
1. 주요 변경사항
SampleScene중심 구조에서Game.unity,Lobby.unity중심으로 씬 구성이 이동했다. 실제 게임 플로우를 만들기 시작한 점은 명확한 전진이다.DungeonGenerator.cs, 던전 타일/벽/방 프리팹,Player.prefab이 추가되어 플레이 공간 생성 기반이 생겼다.LobbyManager.cs,ClientNetworkTransform.cs,DefaultNetworkPrefabs.asset이 추가되어 Unity Netcode 계열 멀티플레이 준비가 시작됐다.- TextMesh Pro 전체 예제와 대량 던전/캐릭터 에셋이 함께 들어왔다. 기능 전진과 별개로 저장소 관리 리스크가 크게 증가했다.
2. 코드 품질 리뷰
이번 변경은 “바닥 생성 로직”과 “타일 겹침 수정”이 핵심인데, 바로 이 지점이 가장 위험하다. 겹침 버그는 보통 좌표 기준, 타일 크기, 피벗, 점유 상태 관리가 코드 안에 흩어져 있을 때 반복된다. DungeonGenerator.cs는 다음 단계에서 랜덤 생성보다 먼저 “이미 점유된 좌표에는 생성하지 않는다”, “타일 크기는 상수 또는 설정 데이터에서만 읽는다”는 규칙을 코드와 테스트로 고정해야 한다.
네트워킹은 더 직설적으로 경고가 필요하다. ClientNetworkTransform이라는 이름 자체가 클라이언트 주도 이동을 암시한다. 협동 던전 게임에서 이동은 어느 정도 클라이언트 예측이 가능하지만, 점수·피해·상호작용·아이템 획득까지 클라이언트 권위로 번지면 디버깅 불가능한 영역에 들어간다. 개선 방향은 서버 권위 상태와 클라이언트 표시 상태를 분리하고, 로비 입장·스폰·씬 전환마다 “누가 상태의 주인인가”를 코드 주석이 아니라 구조로 드러내는 것이다.
대량 에셋 커밋도 품질 문제다. 에셋 자체가 나쁜 것이 아니라, 예제 씬·폰트·미사용 OBJ가 실제 제품 자산과 같은 변경 단위로 들어오면 리뷰가 사실상 불가능해진다. 앞으로는 외부 에셋 import 커밋과 게임 로직 커밋을 분리하고, 사용하지 않는 샘플은 Assets/ThirdParty 또는 별도 보관 영역으로 격리해야 한다.
3. 진행도 평가
이전 대비 전진은 분명하다. 로비, 게임 씬, 플레이어 프리팹, 던전 생성 코드가 들어오면서 “빈 샘플 프로젝트” 단계는 벗어났다. 다만 아직 핵심 루프가 플레이 가능하다고 보기에는 부족하다. 생성된 던전에서 무엇을 하고, 언제 성공·실패하며, 네트워크 환경에서 그 상태가 어떻게 동기화되는지가 보이지 않는다.
진행도는 28%로 판단한다. 스캐폴드와 기반 시스템은 생겼지만, 현재 리스크는 구현량 부족보다 방향 통제 부족에 가깝다. 특히 네트워킹과 절차적 생성이 동시에 들어온 상태에서 검증 장치가 없으면 이후 버그 비용이 급격히 증가한다.
4. 다음 권장사항
- 던전 생성 좌표·타일 점유 규칙을 데이터화하고 겹침 검증을 자동화해야 한다.
- NetworkTransform 적용 전에 이동 권한, 서버 검증, 보정 기준을 확정해야 한다.
Lobby→Game전환 흐름을 빌드 설정과 코드에서 하나의 공식 경로로 고정해야 한다.- TextMesh Pro 예제와 미사용 던전 에셋을 실제 사용 자산과 분리해야 한다.
- 입력 시스템은 이번 단계에서 하나로 정해야 한다. 새 Input System을 쓸지 구 InputManager를 유지할지 애매하게 두면 플레이어 코드가 계속 흔들린다.
5. 문서화 상태
design 점수는 4점이다. 게임 컨셉 문서는 있는 것으로 보이나, 이번 변경의 던전·로비·멀티플레이 구조가 디자인 의도와 어떻게 연결되는지 갱신되지 않았다.
technical 점수는 2점이다. 네트워크 모듈과 던전 모듈이 추가됐지만 권한 모델, 씬 전환 흐름, 프리팹 등록 방식, 빌드 절차를 설명하는 기술 문서가 보이지 않는다. 신규 팀원이 문서만 보고 구조를 파악하기 어렵다.
spec 점수는 2점이다. 타일 겹침 수정이 있었다면 타일 크기, 좌표 그리드, 방 배치 규칙, 충돌 판정 기준이 사양으로 남아야 한다. 현재는 테스트 체크리스트로 바로 쓸 수 있는 수치와 상태 정의가 부족하다.
6. Backlog
- Input System과 구 InputManager가 동시에 남아 있다. 입력 정책이 흔들리면 플레이어 이동, UI 조작, 네트워크 입력 전송이 서로 다른 기준으로 갈라진다.
- 네트워크 이동 권한과 예측·보정 정책이 없다. 지금 정하지 않으면 위치 튐, 중복 스폰, 클라이언트 조작 가능성이 한꺼번에 발생한다.
- 대량 에셋과 예제 파일이 제품 코드와 섞여 있다. 빌드 용량, 리뷰 품질, 라이선스 확인 모두에 비용이 붙는다.
- 문서가 아직 테스트 가능한 사양으로 내려오지 않았다. 레벨, 전투, 승패 조건을 수치와 상태표로 전환해야 한다.
Deungeon,Grond,TIle,Midium,Lage같은 폴더명 오탈자는 작아 보여도 검색성과 자동화 경로 안정성을 계속 해친다.
7. 이전 Backlog 해결
SampleScene중심이라는 문제는 부분 해결로 본다.SampleScene.unity가Game.unity로 이동했고Lobby.unity가 추가되어 최소한 로비와 게임 씬의 분리가 시작됐다.