---
title: 군사 전장·탱크·좀비 선택 모드·NPC 협동 프로토타입
date: 2026-10-30T14:50:26.528Z
version: v1.0.7
status: 완료
state: complete
project: last37n
type: 작업 메뉴얼
report_kind: manual
category: 순차 작업 · 반복 QA
summary: 서버 권위 전투, 선택 좀비 월드와 아군 협동을 웹 경량 예산 안에서 단계별 구현합니다.
format: tracefolio-v2
priority: normal
manual_id: combat-coop-prototype
round: 1
manual_state: complete
payload: ../assets/submissions/2026-10-30-manual-combat-coop-prototype-20261030145026528-v1.0.7.json
---

## 목표와 완료 기준

북한군 보병·근접 돌격대·탱크, 별도 좀비 모드, 아군 동행/대기/공격 지원을 실제 웹에서 구현·검증합니다.

완료 기준: 서버 기준 이동/피해·탄약·쿨다운·LOS·안전구역·월드 격리·공격 영수증과 저장을 검증하고, 실제 웹에서 교전·탱크·좀비·아군 지원/명령을 실행합니다. 경량 에셋·12MiB 전송 예산·기존 회귀/부하·실제 화면 보고와 외부 배포를 확인합니다. 미정 밸런스는 provisional 설정으로 분리합니다.

최초 1회차 · 순차 진행 · 전체 6개 · 이번 실행 T06

## 순차 작업 메뉴얼

| 순서 | 작업 | 실행 절차 | 완료 기준 | QA 절차 | 상태 |
| --- | --- | --- | --- | --- | --- |
| T01 | 서버 전투·세력·모드 | 기본 전장과 좀비 월드, 보병·근접 돌격·탱크·좀비·아군 상태와 서버 권위 공격/이동을 구현합니다. | 표적·거리·LOS·쿨다운·탄약·안전구역이 검증되고 모드별 적이 분리됩니다. | 실제 도메인 재현과 타입 검사·전투 규칙 테스트 | 완료 |
| T02 | 협동·영속성·프로토콜 | 아군 동행/대기/지원과 월드 상태 저장·재시작·공격 중복 방지를 구현합니다. | 아군 소유/명령·지원 공격과 DB 재시작/롤백·월드 격리가 유지됩니다. | 실제 PostGIS·WebSocket과 중복/실패/복구 검사 | 완료 |
| T03 | Blender 경량 전투 에셋 | 탱크·화기·근접 장비·군복/좀비 표현과 공격 애니메이션을 제작합니다. | 역할과 공격/이동/파괴 상태가 구분되는 편집 가능한 원본/게임 에셋이 존재합니다. | Blender 출력·Unity 로딩과 실제 게임 화면 확인 | 완료 |
| T04 | 웹 전투 조작·협동 UI | 보급 장비, 조준/공격, 모드 선택, 동행/대기 UI와 효과를 연결합니다. | 실제 웹에서 적 교전·모드 선택·아군 명령이 서버 결과대로 표시됩니다. | 실제 브라우저 입력·NPC 지원·탱크/좀비 장면과 UI 검증 | 완료 |
| T05 | 회귀·성능·로컬 적용 | 기존 생존/거래·멀티플레이와 전투 회귀·동시 부하·12MiB 예산을 검증하고 반영합니다. | 실제 기능과 안전/저장·웹 예산이 통과하고 성능 한계가 측정됩니다. | 서버 전체 검사·실제 Web/Windows·100명 및 활성 전투·압축 예산 검사 | 완료 |
| T06 | 최종 보고·배포 | 실제 화면·구현/제약·시간·메뉴얼과 보고서를 기록·게시합니다. | 실제 외부 보고서·완료 메뉴얼과 전체 현재 버전 QA가 확인됩니다. | 공식 v2 생성·전체 링크/필터·모바일/데스크톱·배포/HTTP 검사 | 완료 |

## QA 반복 기록

### Q01 · step · 2026-10-30T13:34:36.470Z

전투 서버 도메인10개 실제 검사 통과

- T01 r1 · pass: 군사/좀비 분리와 유효 위치·시작점 제외, 선택 보급, 사거리/조준/건물 LOS/탄약/쿨다운/중복, 전차 장갑/로켓, 근접·피로, 무력화/복구, 안전구역·아군 소유/지원·월드 격리10개 검사 및 TypeScript 통과. · 근거: server/test/combat.test.ts 실제 node --test 결과
### Q02 · step · 2026-10-30T13:39:11.464Z

실제 PostGIS 전투 영속·롤백과 WebSocket 동기화 통과

- T02 r1 · pass: 실제 DB에서 동시 중복 공격1회·탄약/적 체력/지원병 소유 복원·영수증 재시작·후기 저장 실패의 SQL/메모리 롤백 통과. 기존 포함 전체48개 검사와 추가 실제 WebSocket 전투/지원·좀비 월드 격리1개 통과. · 근거: docs/qa/combat/postgres.json; server/test/combat-postgres.test.ts; combat-transport.test.ts 실제 실행
### Q03 · step · 2026-10-30T13:56:17.996Z

실제 모델 화면 검토 실패·축 변환 수정

- T03 r1 · fail: Windows 모델 로딩/크기/리그 검사는 통과했지만 실제 렌더 캡처에서 소총 세로 방향과 헬멧 부착 오류를 확인했습니다. GameObject 루트의 회전 초기화 대신 FBX 하위 모델 변환을 보존하는 컨테이너로 수정하고 무기 전방 축/헬멧 높이 검사를 추가해 재QA합니다. 이 판정을 모델 로딩 성공으로 덮지 않습니다. · 근거: docs/qa/combat/attempt-model-01/*.png; CombatPresentation.CombatAsset; CombatRuntimeVerification
### Q04 · step · 2026-10-30T14:14:29.665Z

수정된 Blender 모델·축·실제 파괴 자세 확인

- T03 r1 · pass: 보병/근접/전차/좀비 실제 Windows4개 실행에서 모델/리그/크기/포탑 통과. 소총 전방1.1575m와 헬멧 상단1.975m 검증, 실제 수정 화면과 Web에서 쓰러진 보병 자세를 확인했습니다. 무텍스처 장비1메시·전차5메시로 제작했고 실패 캡처를 보존했습니다. · 근거: docs/qa/combat/runtime/*.json; *.png; attempt-web-01/failed.png; art/combat-export.json
### Q05 · step · 2026-10-30T14:14:29.667Z

Web 보급·모드 통과, 포커스 사격에 따른 기대값 불일치 조사

- T04 r1 · fail: 실제 Web 보급/중복 거부와 군사·좀비 선택은 통과했습니다. 소총 처치 후 탄약 기대값 검사가 실패했습니다. 읽기 전용 DB에서 탄약76·적 HP0·공격 영수증4개를 확인했고, 테스트의 중앙 포커스 클릭도 좌클릭 사격 조건에 들어가는 코드를 대조했습니다. 포커스를 비공격 HUD 영역으로 옮겨 새 QA 상태에서 재검증합니다. · 근거: docs/qa/combat/attempt-web-01; server/tools/combat-qa-probe.ts; browser-combat.ts open
### Q06 · step · 2026-10-30T14:30:04.026Z

포커스 위치를 옮긴 뒤 포인터가 HUD에 남아 사격하지 않은 테스트 입력 오류를 실제 탄약80/적 HP100 화면으로 확인했습

- T04 r1 · fail: 포커스 위치를 옮긴 뒤 포인터가 HUD에 남아 사격하지 않은 테스트 입력 오류를 실제 탄약80/적 HP100 화면으로 확인했습니다. 클릭 없이 포인터만 조준 위치로 옮겨 재QA했습니다. · 근거: docs/qa/combat/attempt-web-02
### Q07 · step · 2026-10-30T14:30:04.028Z

실제 Web에서 선택 보급·모드 전환·소총 탄약/처치·전차 로켓3발 파괴·돌격대/좀비 근접 처치·아군 동행/대기/지원 사격 처

- T04 r1 · pass: 실제 Web에서 선택 보급·모드 전환·소총 탄약/처치·전차 로켓3발 파괴·돌격대/좀비 근접 처치·아군 동행/대기/지원 사격 처치·엔진 오류0을 확인했습니다. · 근거: docs/qa/combat/browser/combat.json; browser/*.png
### Q08 · step · 2026-10-30T14:30:04.028Z

최신 Windows 실행에서 CombatTankVisual 필드 초기화의 MaterialPropertyBlock 생성 예외를

- T05 r1 · fail: 최신 Windows 실행에서 CombatTankVisual 필드 초기화의 MaterialPropertyBlock 생성 예외를 실제 로그로 확인했습니다. Awake로 옮기고 QA가 예외 로그도 실패 처리하도록 수정했으며 재빌드/재QA 중입니다. · 근거: docs/qa/combat/attempt-runtime-03; .runtime/combat-qa/*-runtime.log
### Q09 · step · 2026-10-30T14:38:21.703Z

최신 Windows4모델/예외0·실제 Web 전투/협동·기존 생존 UI 회귀·서버50테스트·100접속·합성 전투·웹12MiB·

- T05 r1 · pass: 최신 Windows4모델/예외0·실제 Web 전투/협동·기존 생존 UI 회귀·서버50테스트·100접속·합성 전투·웹12MiB·기본 로컬 적용을 확인했습니다. · 근거: docs/qa/combat/live.json; regression; runtime; browser/combat.json; docs/qa/load/sustained-100.json
### Q10 · final · 2026-10-30T14:49:50.718Z

실제51테스트·Windows4회·Web14검사·생존UI3검사·기본주소·공개보고 재대조

- T01 r1 · pass: 실제 node --test 전체51/51·실패0·건너뜀0. 군사/좀비 roster·스폰/안전구역·총기 사거리/조준/쿨다운/실제 건물 LOS·전차 장갑·근접·적 피해/회복 테스트가 실행됐습니다. · 근거: docs/qa/combat/server-tests.json; server/test/combat.test.ts; .runtime/combat-final-gate-tests.log
- T02 r1 · pass: 실제 PostgreSQL 재실행 2026-10-30T14:46:46.536Z: 동일 공격 동시 중복1회, 지연 저장 실패의 HP/탄약 롤백, 재시작 후 보급/적 HP/소유권/과거 영수증 복원 모두 true. 실제 WebSocket 피격/원격 무기/소유권 방송 테스트도 전체51개에 포함됐습니다. · 근거: docs/qa/combat/postgres.json; server/test/combat-postgres.test.ts; combat-transport.test.ts
- T03 r1 · pass: 최신 Windows 실제4회 실행과 로그를 대조했습니다. 보병·돌격대·전차·좀비 모델/리그/축 검사 전부 true, 예외0. 소총 전방1.1575m·헬멧 상단1.975m·전차 높이3.125m/길이7.306m를 측정했습니다. · 근거: docs/qa/combat/runtime/*.json; *.png; .runtime/combat-qa/*-runtime.log
- T04 r1 · pass: 최종 실제 Edge 실행 2026-10-30T14:48:59.800Z: 14/14 통과. 보급/중복 거부·두 모드·소총/전차/돌격대/좀비 처치·탄약·아군 동행/대기/지원 사격 처치·엔진 오류0. 소총 탄약 결과 {"hp":0,"beforeAmmo":80,"afterAmmo":76}. · 근거: docs/qa/combat/browser/combat.json; browser/*.png
- T05 r1 · pass: 기존 Web 수색/소비·상점·치료3검사 true, gzip/DPR와 초기 전송 10522730bytes 확인. 실제 기본 localhost8788 군사/좀비 전환·도시 로딩·오류0. 별도100접속 92371ms, 응답 p95 636.73ms·오류0. 대기 중 사거리 밖 적을 추격하지 않는 추가 회귀도 실행됐습니다. · 근거: docs/qa/combat/regression/optimized-browser.json; live.json; docs/qa/load/sustained-100.json
- T06 r1 · pass: 최종 보고서 HTTP200, 실제 게임 WebP HTTP200 및 원본 SHA256 일치. Actions 41074029650 success를 다시 조회했습니다. 실제 헤드리스 HTML1600/390px에서 가로 넘침0·모든 이미지 로딩 true. 기존 공식 빌드/목록/링크 검사도 통과했습니다. 전역 교훈은 기존 실행 근거 지침과 중복되어 변경 없음입니다. · 근거: docs/qa/combat/publication.json; report-layout-final.json; image-compression.json

## 남은 작업과 다음 반복

저사양/모바일·100명 Unity 렌더링, 고급 전술/탑승 전차/외형 파츠 교체는 명시한 후속 범위입니다.

이전 회차: [메뉴얼 열기](../../../projects/last37n/reports/2026-10-30-manual-combat-coop-prototype-20261030143823359-v1.0.6.html)

## 작업 시간

- 제안 시간: 90~150분. 시작2026-10-30 22:20:41 KST.
- 실제로 완료된 시간: 실제 최종 게이트 2026-10-30T14:49:50.681Z (UTC), KST 2026-10-30 23:49:50. 구현·검증·결과 보고 배포 완료. 이 메뉴얼 자체 배포 확인 시각은 전달 기록에 별도로 기록합니다.
- XERJ: 미사용 — XERJ 도구 미제공. rg와 현재 소스/실제 실행으로 검증합니다.
