GhostMarch_DOTS — 진화 시스템 확장 스냅샷
1. 주요 변경사항
- 무기 진화 시스템이 추가되었다.
Weapon,Item,EvoButton, 진화 탄환 프리팹과 관련 애니메이션이 함께 들어왔다. - 스페셜 무브, 업적, 하드 모드, 신규 캐릭터와 신규 몬스터가 누적 추가되었다. 플레이 콘텐츠 양 자체는 분명히 늘었다.
- IronSource 광고 SDK가 제거되고
privacy_policy.txt가 추가되었다. 외부 광고 의존성을 줄인 점은 방향이 좋다. SampleScene.unity하나에 UI, 타일맵, 버튼 이벤트, 오브젝트 활성 상태 변경이 대량 반영되었다. 이 파일은 현재 리뷰와 병합 모두에 취약하다.user.keystore가 새로 커밋되었다. Android 서명 키일 가능성이 높으므로 즉시 위험으로 봐야 한다.
2. 코드 품질 리뷰
이번 변경은 기능 추가 속도가 빠르다는 장점이 있다. 무기 진화, 스페셜 무브, 업적, 하드 모드가 모두 실제 게임 루프를 확장하는 방향이다. 특히 광고 SDK 제거는 빌드 복잡도와 정책 리스크를 줄이는 결정이라 긍정적이다. 다만 구현 방식은 아직 “작동시키기 위해 씬과 스크립트에 직접 붙이는 단계”에 머물러 있다.
가장 큰 문제는 진화 시스템이 데이터가 아니라 씬 참조와 스크립트 필드에 강하게 얽혀 보인다는 점이다. SampleScene.unity에 isEvo, origin, evos, isEvos 같은 필드가 직접 직렬화되고, EvoButton.OnClick이 씬 버튼 이벤트에 연결된다. 이는 무기 수가 늘어날수록 씬 수정과 코드 수정이 같이 필요해지는 구조다. 개선하려면 진화 조건, 원본 아이템, 진화 결과, 아이콘, 설명을 ScriptableObject 또는 아이템 데이터 에셋으로 옮기고 UI는 선택된 데이터만 렌더링해야 한다.
네이밍도 위험 신호다. Achive, Specialz, Temp, Image (2), Text (Legacy) 같은 이름은 당장 컴파일을 깨지는 않지만 협업과 유지보수 비용을 높인다. 왜 문제냐면 Unity 씬 참조는 이름과 계층 구조를 사람이 추적해야 하는 경우가 많기 때문이다. “나중에 고친다”는 판단은 여기서는 비싸다. 지금 이름을 정리하지 않으면, 다음 기능 추가 때 버그 위치를 찾는 시간이 계속 늘어난다.
3. 진행도 평가
진행도는 약 62%로 본다. 핵심 게임은 이미 플레이 가능한 상태에 가까워 보이고, 이번 범위에서 콘텐츠와 시스템이 크게 늘었다. 그러나 완성도 관점에서는 보안 파일 커밋, 대규모 씬 diff, 문서 부재, 커밋 메시지 품질 문제가 발목을 잡고 있다.
현재 속도는 좋지만 방향 제어가 약하다. fix, safe..?, developing, need sprite & animation changer functions 같은 커밋이 많아 기능 완성 기준이 불명확하다. 다음 단계는 새 기능 추가보다 안정화와 구조 정리다. 이 작업을 미루면 이후 밸런싱과 버그 수정이 훨씬 느려진다.
4. 다음 권장사항
user.keystore를 즉시 저장소에서 제거하고, 이미 외부로 노출됐다고 가정해 키 재발급 여부를 판단한다.- 진화 시스템을
Weapon.cs,Item.cs,EvoButton.cs중심의 하드 참조 구조에서 데이터 기반 구조로 분리한다. SampleScene.unity에 직접 쌓인 UI와 기능 오브젝트를 프리팹으로 빼고, 씬 diff를 사람이 검토 가능한 크기로 줄인다.Achive오탈자,Temp,Image (2),Text (Legacy)같은 임시 이름을 정리한다.- README를 단순 소개가 아니라 GDD, 기술 개요, 밸런싱 표, 빌드 절차를 담는 문서로 확장한다.
5. 문서화 상태
design 점수는 2점이다. README가 여러 번 갱신되었지만, 게임의 코어 루프, 성장 구조, 난이도 의도, 진화 시스템이 왜 필요한지 설명하는 설계 문서 수준은 아니다.
technical 점수는 1점이다. GameManager, Weapon, Item, Spawner, PoolManager가 어떤 책임을 갖는지 신규 참여자가 문서만 보고 이해할 수 없다. Unity 버전과 패키지 변경도 있었으나 업그레이드 근거가 문서화되지 않았다.
spec 점수는 1점이다. 아이템, 몬스터, 업적, 하드 모드, 진화 조건이 에셋과 씬에는 들어갔지만 테스트 체크리스트나 수치표로 정리되어 있지 않다. 밸런싱을 반복하려면 최소한 무기별 레벨, 진화 조건, 피해량, 쿨타임 표가 필요하다.
6. Backlog
- Unity 버전과 패키지 변경이 기능 커밋에 섞여 있다. 기능 버그인지 업그레이드 부작용인지 분리해 추적하기 어렵다.
- TextMesh Pro와 ShaderGraph 리소스가 대량 변경되었다. 의도한 렌더링 변경인지 자동 재임포트 부산물인지 확인해야 한다.
- Input System 샘플 리소스가 UI 에셋 폴더 아래로 이동했다. 샘플, 원본 리소스, 실제 런타임 리소스의 경계가 흐려진다.
- 커밋 메시지가 변경 목적보다 작업 중 상태를 많이 담고 있다. 나중에 회귀 원인을 찾을 때 로그가 근거 역할을 못 한다.