프로젝트 개요
report · 2 of 9 · 3 commits · c9cb3dc80884b0871d2821cc71cc94083add816e..e94bf222b60043a465a57d2e15a025768c08cc8b

핵심 플레이 로직은 생겼으나 구조 부채와 룰 검증 공백이 크다.

HIGH 진행도 28% (+ 16pts) 2026. 4. 24. PM 7:27

프로젝트 예상 진행도

기준: 2026. 4. 24. PM 7:27
28 / 100

문서화 상태

Design
2/10
Technical
1/10
Spec
2/10
#핵심로직 #보드게임 #입력처리 #기술부채 #문서부족

YJ — 핵심 로직 1차 구현 스냅샷

1. 주요 변경사항

2. 코드 품질 리뷰

가장 큰 문제는 PlayerController 가 입력 처리, 턴 관리, 보드 상태 변경, 포획 처리, 승격, 승리 판정, UI 출력까지 모두 가진다는 점이다. 지금은 445줄이지만, 룰 하나를 고칠 때마다 입력·UI·상태 변경 사이드이펙트를 같이 확인해야 한다. 보드게임류에서는 규칙 엔진을 순수 C# 클래스로 분리하고 MonoBehaviour 는 입력과 표시만 담당하게 만드는 것이 장기적으로 훨씬 안전하다.

if (Input.GetMouseButtonDown(0)) HandleMouseDown();
if (Input.GetMouseButton(0)) HandleMouseDrag();
if (Input.GetMouseButtonUp(0)) HandleMouseUp();

씬에는 InputSystemUIInputModule 이 들어갔지만 코드에서는 구 Input API 를 직접 사용한다. 왜 문제냐면 UI 입력과 게임 입력의 기준이 갈라져 모바일·패드·멀티플레이 입력으로 확장할 때 같은 행동을 두 번 구현하게 된다. 개선하려면 이번 단계에서 Input System 기반 액션으로 통일하거나, 최소한 “현재는 마우스 전용 프로토타입”이라고 명시해야 한다.

또한 한글 주석이 인코딩 깨짐 상태로 커밋되어 있다. 주석은 유지보수자를 돕는 도구인데, 현재 상태는 오히려 코드 이해를 방해한다. 의미 없는 깨진 주석은 제거하고, 규칙상 애매한 부분만 정상 인코딩으로 짧게 남겨야 한다. 결과 UI도 resultTitleTextresultDetailText 가 같은 TMP 오브젝트를 참조하고 있어 상세 문구가 제목을 덮어쓸 수 있다. 이런 문제는 기능이 늘기 전에 바로 정리해야 한다.

3. 진행도 평가

이전 대비 가장 큰 전진은 실제 Unity C# 로직과 프리팹·데이터 에셋이 생겼다는 점이다. 이제 “프로젝트가 비어 있다” 단계는 벗어났다. 다만 구현은 아직 플레이 가능한 수직 슬라이스 초입이며, 룰 검증·테스트·문서화·네트워크 방향성은 거의 그대로 남아 있다.

진행도는 28%로 본다. 핵심 조작 루프 일부는 들어왔지만, 현재 구조로 계속 기능을 얹으면 디버깅 비용이 빠르게 커진다. 다음 스냅샷 전까지는 기능 추가보다 규칙 로직 분리와 테스트 기반 확보가 우선이다.

4. 다음 권장사항

5. 문서화 상태

design 점수는 2점이다. 이번 변경에서 게임의 의도, 코어 루프, 승리 조건의 설계 근거를 보강한 문서 변경이 확인되지 않는다. 코드상으로는 룰이 생겼지만 “왜 이 규칙인가”가 문서로 남아 있지 않다.

technical 점수는 1점이다. 아키텍처 개요, 클래스 책임, 데이터 흐름, 입력 처리 정책, 네트워크 권한 모델이 없다. 신규 개발자가 PlayerController 를 직접 읽어야만 전체 구조를 파악할 수 있다.

spec 점수는 2점이다. 말 데이터와 프리팹은 생겼지만 룰 사양서, 좌표계 정의, 이동 가능 조건, 포로 배치 제한, 승리 판정 체크리스트가 부족하다. 테스트 기준으로 쓰기에는 아직 미흡하다.

6. Backlog

7. 이전 Backlog 해결

리포트 타임라인

9개 스냅샷 · 최신순