11 소유자 결정 - kyhsa93/karda GitHub Wiki
11. 소유자 결정
결정 결과 (2026-09-30 소유자 결정)
| # | 항목 | 결정 | 권장안과 같은가 |
|---|---|---|---|
| D1 | 플레이어 역할 범위 | 풀 배틀필드 — 보병·모든 탈것·전투기를 직접 조종 | 다름 (권장 A) |
| D2 | 리스폰 | 티켓 리스폰 (사망 시 티켓 차감, 대기 후 재출격) | 같음 |
| D3 | 전황 표시 | 게임식 HUD로 통일 — 아파치 포함 모든 병과에 미니맵·티켓 바·표식. 전장 모드에서는 P1(조종석 안에 있다)을 적용하지 않는다 | 다름 |
| D4 | 병력 규모 | 대규모 기본 (모바일 성능은 측정 후 조정) | 다름 |
| D5 | 지휘 권한 | 지원 요청 수락 + 집중 거점 지정 1개 (90초 쿨다운) | 같음 |
| D6 | 진입 조건 | 항상 열림 (전장 안 조작 안내 필요) | 다름 |
| D7 | 전투기 | 처음부터 조종 가능 | 다름 |
| D8 | 플레이어 진영 | 양 진영 선택 (연합/VPA) | 같음 |
| D9 | 민간·오사 | 민간 없음, 아군 오사는 감점만 (실격 없음) | 다름 |
| D10 | 모드 이름 | 전장 | 같음 |
| D11 | 번들 예산 | 경로별 예산 — 캠페인 경로 350KB 유지, 전장 경로는 따로 | 같음 |
| D12 | 봇끼리 실제 전투 | 전장 모드 한정 실제 피해 | 같음 |
| D13 | 기존 아파치 콘텐츠 | 전부 제거 — 캠페인 12임무·훈련 T1~T5·즉시 출격·캠페인 지도·저장·해금·계급·윙맨·브리핑/로드아웃/디브리핑·코치 팁. 아파치 기체(비행 모델·무장·TADS·FCR·조종석 코드)는 전장의 탈것으로 유지. 게임은 전장 단일 모드 | 해당 없음(새 결정) |
결정 전 검토 자료
아래는 결정 전에 쓴 검토 자료를 그대로 남긴 것이다. 캠페인이 있던 시점(D13 이전)의 전제(캠페인 임무·해금·윙맨·P1 등)와 권장안이 들어 있으며, 현재 설계는 위 결정 결과를 따른다. 결정 뒤 새로 생긴 항목은 맨 아래 '추가 결정 필요' 절에 있다.
B0(화면 변화 없는 기반 작업)은 D12만 정해지면 시작할 수 있다. B1을 시작하려면 D1·D2·D3·D6·D11이 필요하고, 나머지는 해당 마일스톤 전까지 정하면 된다(D8·D9·D10은 권장안으로 먼저 진행 가능).
| # | 항목 | 선택지 | 권장안 | 근거 | 필요한 시점 |
|---|---|---|---|---|---|
| D1 | 플레이어 역할 범위 | A. 아파치 전문(전장만 키움) / B. 아파치 + 지상 탈것 1~2종 / C. 풀 배틀필드(보병·모든 탈것·전투기) | A. B는 B6 뒤 조건부(B7 전차 포수석부터) | 비용(A 약 45작업 vs C 150+), 기존 자산 100% 재사용, 모바일 조작 한 벌 유지, 애니메이션 보병·전투기 에셋 없음, 01장 1.5 "아파치만" 결정과 일치 — 플레이어 역할 | B1 전 |
| D2 | 리스폰과 P4("무한 재시작 금지") | ① 전장 모드에 한해 티켓 제한 리스폰 허용 / ② 리스폰 없음(한 번 격추되면 관전 후 경기 결과) / ③ 생애 수 제한(예: 3회) | ① — 사망 시 티켓 8, 대기 15초, 매 출격은 로드아웃부터, 스폰 무적 없음 | 티켓이 유한하므로 무한 재시작이 아니다. ②는 25분 경기에서 첫 실수로 끝나 배틀필드 경험이 안 됨. ③은 티켓과 이중 규칙 — 비전 1.2 | B1 전 |
| D3 | 비행 중 전황 표시(P1) | ① TSD·EUFD·무전·월드 깃발만 + 무릎판(조종석 소품 설정, 누르는 동안) / ② ①에 IHADSS 티켓 한 줄 추가 / ③ 게임식 미니맵·티켓 오버레이 | ① | P1 금지 목록("미니맵 위젯")을 지키면서, 무릎판은 실제 조종사 장비라 조종석 장치로 볼 수 있다. ②는 IHADSS의 "비행 정보" 성격을 흐림 — UI/UX 8.4 | B1 전(무릎판은 B3) |
| D4 | 병력 규모 | 표준만(연합 29·VPA 38) / 표준 + 대규모(×1.5, 데스크톱 전용) / 대규모 기본 | 표준 + 대규모(데스크톱, 3승 해금) | 동시 유닛 150 예산 안(대규모 ≈ 115). 모바일은 삼각형·CPU 부담으로 표준 고정 — 봇 AI 5.1 | B2 전 |
| D5 | 플레이어의 지휘 권한 | ① 없음 / ② 지원 요청 수락만 / ③ 요청 수락 + 집중 거점 지정 1개(90초 쿨다운) / ④ 소대별 직접 명령(RTS식) | ③ | 배틀필드의 "어디서 싸울지 고른다"를 주되, 9.3절 결정("윙맨 지휘 중심으로 키우지 않는다")의 정신에 맞게 지휘를 가볍게. ④는 조종과 동시에 하기 어렵고 모바일 불가 — 봇 AI 5.2 | B2 전 |
| D6 | 전장 모드 진입 조건 | 항상 열림 / 캠페인 임무 3 완료 또는 훈련 T4 완료 / 캠페인 완주 후 | 캠페인 임무 3 또는 T4 | 헬파이어·TADS·식별을 배운 뒤여야 첫 경기가 무력하지 않다. 완주 조건은 너무 늦다. 장비는 캠페인 해금을 따른다 — 진행과 보상 7.5 | B1 전 |
| D7 | 고정익(전투기) | 없음 / 호출형 공습 연출(경기당 진영별 1회, 스크립트 비행 + 폭발, 조종·교전 불가) / AI 전투기 유닛 | 없음으로 시작, B5-6에서 호출형 공습 선택 | 전투기 비행 모델·모델 에셋이 없고, 음속 기체를 12km 맵에 넣으면 P2(저공 은폐)와 무관한 위협이 됨 | B5 전 |
| D8 | 플레이어 진영 | 연합만 / VPA도 선택(적 헬기 조종) | 연합만 | 조종 가능한 기체가 아파치뿐이고 아파치는 연합 기체. VPA 선택은 D1-B/C와 같이 다룰 문제 | B1 전(기본값으로 진행 가능) |
| D9 | 민간 요소·아군 오사 | ① 캠페인 규칙 그대로(민간 −500, 아군 −1000·3회 실격, 마을 거점에 민간 소수) / ② 전장엔 민간 없음, 오사 감점만 / ③ 오사 실격 5회로 완화 | ① | P3(식별의 가치)는 아군이 뒤섞이는 전장에서 더 중요해진다. 규칙이 모드마다 다르면 혼란 — 진행과 보상 7.2 | B1 전(기본값으로 진행 가능) |
| D10 | 모드 이름·메뉴 위치 | "전장" / "점령전" / "대규모 전투" | "전장"(타이틀 캠페인·훈련·즉시 출격·전장·설정, 모드 이름은 그 안에서 점령전·빠른 점령전·돌파) |
짧고 여러 모드를 담는다 | B1 전(기본값으로 진행 가능) |
| D11 | JS 번들 예산 | ① 경로별 예산: 첫 번들 ≤ 210KB / 캠페인 경로 ≤ 350KB / 전장 경로 ≤ 380KB / ② 전체 ≤ 350KB 유지(전장 코드 ≈ 24KB를 넣으려면 기존 코드 11KB 이상을 줄여야 함) | ① | 전장 코드를 지연 청크로 분리하면 캠페인 사용자는 한 바이트도 더 받지 않는다. PWA 무캐시 정책상 전장 사용자만 +24KB — 기술 설계 9.8 | B1 전 |
| D12 | 봇끼리의 실제 전투(05장 5.3 "전투의 결과는 플레이어가 결정해야 한다"의 예외) | ① 전장 모드 한정으로 봇끼리 실제 피해 / ② 봇 전투도 연출 수준으로 두고 거점 점령만 수치로 | ① | ②면 거점 공방이 가짜라 플레이어 개입이 "보이지" 않는다. 하니스 기준(무입력 승률 30~50%, 대리 조종사 ≥ 60%)으로 "플레이어가 결과를 기울인다"를 숫자로 지킨다 — 비전 1.3 | B0 전 |
추가 결정 결과 (2026-09-30 소유자 결정)
| # | 항목 | 결정 | 권장안과 같은가 |
|---|---|---|---|
| A1 | 전장 번들 한도 | 첫 로딩 ≤ 210KB / 첫 출격까지 ≤ 400KB / 모든 청크 ≤ 440KB (gzip) | 같음 |
| A2 | 전투기 공역 | 12km 상세 지형 + 외곽 공역 링(±16km) | 같음 |
| A3 | 전투 구역 이탈 | 경고 + 10초 뒤 사망·파괴(티켓 차감) | 같음 |
| A4 | 새 외부 에셋 채택 | 조사표마다 소유자 개별 승인 | 같음 |
| A5 | Sketchfab | 계속 쓰지 않음(토큰 없는 출처와 코드 모델) | 같음 |
| A6 | 장비 해금 | 모든 장비 처음부터 열림 — 숙련은 기록·도색만 | 다름 (권장 ①) |
| A7 | B1 도중 임시 배포 | B1이 끝날 때까지 기다림 | 같음 |
| A8 | VPA 공격 헬기 공백 | B2부터 진영 선택, VPA 공격 헬기만 B6까지 '준비 중' | 같음 |
| A9 | 모바일 규모 | 30fps 미달이면 모바일 기본값만 표준 규모(×0.6), 설정에서 대규모 선택 가능 | 같음 |
| A10 | 보병 대리 승률 기준(#186) | B3 병과 도입 뒤(B3-8) 재측정 — 돌격병만으로는 판정하지 않음 | 같음 |
| A11 | 빠른 점령전 거점 변경 기준(#179) | 경기 방식별 기준: 빠른 점령전은 가운데 거점 소유 변경 ≥ 80% 시드 + 지는 쪽 시작 거점 함락 ≥ 30% 시드, 원래 기준(모든 거점 80%)은 B5 점령전(7거점)에서 | 같음 |
| A12 | 보병 무기 소리 외부 에셋(#115) | 조사표 1순위 채택(CC0, 합계 ≤ 120KB) | 같음 |
| A13 | 보병 애니메이션 에셋(#116) | 코드 인형 유지, 메시+KayKit 리타깃은 나중에 재검토 | 같음 |
디렉션 결정 결과 (2026-10-03 소유자 결정)
디렉터 4인 조율의 결정 요청 O1~O13(비전과 방향 7장)에 대한 결정이다.
| # | 항목 | 결정 | 디렉터 권장안과 같은가 |
|---|---|---|---|
| O1 | 게임 이름 | 카르다 전선, 부제 "봇과 함께 싸우는 점령전" | 같음 |
| O2 | 저장소·URL | 저장소와 주소도 바꾼다 (새 이름은 반영 작업 때 정함). 옛 주소는 이동 스텁으로 받고, 설치된 PWA는 재설치가 필요하다 | 다름 (권장 ①: 화면 이름만) |
| O3 | 기둥 P0와 역할별 영향력 띠 | 채택 — 역할마다 idle + 20%p 이상, 어떤 역할도 95% 미만, 역할 간 ≤ 25%p, 100시드 구간 판정. 01-비전 1.3과 B5-8 기준 교체 | 같음 |
| O4 | P0 띠를 B3 병과·B4 이후 탈것 완료 조건에 | 포함 | 같음 |
| O5 | 사람 관문 | 도입 — 마일스톤마다 소유자 한 판 + 메모(녹화 또는 스크린샷 3장). 첫 적용 #101 | 같음 |
| O6 | #187 경사 | (a) 45° + 공통 경사 함수 + 맵 도달 검사, 못 오르는 곳은 바위색. 봇 규칙은 B4(그때까지 공정성 부채) | 같음 |
| O7 | B3 착수 전 선행 묶음 | 도입 — 도달 문제 → 하니스 v3 → 사람 관문 #101 → 입구·예산·검사 정리 | 같음 |
| O8 | 공격 헬기 실명 "아파치" | 탈것 이름으로만 유지(배치 슬롯 "공격 헬기 · 아파치"), 타이틀·manifest·아이콘·로딩에서는 뺀다. B6에서 재검토 | 같음 |
| O9 | 전방 집결지와 보병 첫 배치 기본값 | 도입 — 거점이 아님, 첫 출격 600m 이내 + 도달 가능을 맵 검사로 | 같음 |
| O10 | 자동 집중 거점을 B3로 | 당김, 조건부 — 효과 미달이면 제거, 90초 쿨다운은 sim 규칙 | 같음 |
| O11 | 역할 수치 조정 | 하니스 v3 전까지 동결 | 같음 |
| O12 | #186 재정의 | 재정의 — "보병 도착 실패", 판정 전제에 대리 도달 지표 | 같음 |
| O13 | CLAUDE.md "자기 기체는 코드로" | 일반화 — 1인칭으로 안에서 보는 것은 코드로, 밖 외형은 봇과 같은 모델 | 같음 |
추가 결정 필요 (결정 전 검토 자료)
결정 D1~D13을 반영해 다시 설계하면서 새로 생긴 항목이다. 표시된 시점까지 결정이 없으면 권장안으로 진행하고 커밋 메시지에 기본안을 택했다고 적는다(기존 문서 사용 규칙). A7만은 B1 도중에 결정해야 의미가 있다.
| # | 항목 | 선택지 | 권장안 | 근거 | 필요한 시점 |
|---|---|---|---|---|---|
| A1 | 전장 경로 JS 번들 예산 수치 (D11의 숫자) | ① 첫 번들 ≤ 210KB / 전장 첫 출격 경로 ≤ 400KB / 모든 청크 ≤ 440KB ② 이전 초안의 전장 경로 ≤ 380KB 유지(넘으면 기능 삭감) ③ 수치 없이 매 마일스톤 측정만 | ① | 풀 배틀필드 코드 약 80KB(추정)를 탈것별 지연 청크로 나누면 첫 출격 경로 약 347KB·전체 약 377KB. 제거(D13)로 30~50KB가 빠진다는 추정이 틀릴 여유를 둔다 — 기술 설계 9.10 | B2 전 (B1-16에서 실측 보고) |
| A2 | 전투기 공역 | ① 12km 상세 지형 + 외곽 공역 링(±16km, 100m 셀 원경 지형, 전투기만) ② 전장 맵 자체를 16km로 확대 ③ 12km 유지 + 전투기 최고 속도 170m/s | ① | ①은 생성 약 0.1초·드로우콜 +4로 선회 여유(한 바퀴 30~40초)를 준다. ②는 지형 생성 약 1.8초·메모리 약 1.8배이고 보병·지상엔 이득이 없다. ③은 전투기답지 않다 — 전투기 15.3 | B7 전 |
| A3 | 전투 구역 이탈 처리 | ① 경고 + 10초 뒤 사망·파괴(티켓 차감) ② 경고 + 지상은 경계에서 밀어냄·항공은 자동 선회 ③ 경고만 | ① | 무적·자유 비행 없음 결정과 일관되고 배틀필드 관례. ②는 조종을 빼앗아 P1′(손맛)을 해치고 구현도 크다. ③은 전투기가 외곽으로 도망가 버린다 | B1 전 (B1-7) — 기본안으로 진행 가능 |
| A4 | 새 외부 에셋 분류 채택 (애니메이션 보병·전투기·수송 헬기 모델·보병/전차/제트 소리) | ① 조사표(외부 에셋 16.4)마다 소유자가 개별 승인 ② 16.2 조건을 만족하면 일괄 사전 승인 ③ 새 분류는 쓰지 않음(코드 폴백만) | ① | 기존 채택 규칙이 "채택된 것만"이고 새 분류는 목록에 없다. 로드맵은 코드 폴백으로 완결되므로 승인이 늦어도 막히지 않는다 | 첫 조사표(B2-15) 나올 때, 늦어도 B10-6 |
| A5 | Sketchfab 다운로드(#65, 기존 미결) | ① 계정 토큰으로 다운로드 허용 ② 계속 불가(Poly Pizza·자체 사이트 출처만) | ② 유지로 진행 | Mi-24(VPA 공격 헬기)·전투기 후보 일부가 Sketchfab에만 있을 수 있지만, 코드 모델로 완결된다. ①을 택하면 B6-5·B7-10 조사 범위가 넓어진다 | B6 전이면 좋음(없어도 진행) |
| A6 | 장비 해금 방식 | ① 역할 숙련 레벨로 옆 선택지 해금(진행과 보상 7.5) ② 모든 장비 처음부터 열림, 숙련은 기록·도색만 ③ 계급으로 해금 | ① | 캠페인이 없어진 게임에서 "안 해 본 역할을 해 볼 이유"가 된다. 원칙("단순 수치 상승 없음")에 맞추려 해금 장비는 교환 비용을 둔다(예: 공격 헬기 L2 레이더 = 레이저 미사일 8 → 4). 그래도 레이더(FCR)가 성능 상승으로 보이면 ②가 맞다 | B8 전 (그 전까지 모두 열림) |
| A7 | B1 도중 임시 배포 | ① B1이 끝날 때까지 기다림(16작업) ② B1-7 이후 임시 규칙으로 먼저 배포: 적 봇이 지키는 거점 3곳을 아파치로 공격, 거점 안 적이 전멸하면 점령(연합 봇 없음, 기존 적 AI만) — 약 3작업 추가, B1 완료 때 폐기 | ① | B1 16작업 중 앞 7개(기준선·훅·유닛 표·맵·아바타·런타임)는 어느 쪽이든 필요해 절약되는 것은 봇 대 봇·편제·지휘관 약 5작업분이다. 임시 규칙 코드는 버려진다. 다만 "플레이 불가 기간"을 가장 줄이고 싶으면 ② | B1-7 끝날 때 |
| A8 | VPA를 고른 플레이어의 공격 헬기 공백 (B2~B6) | ① B2부터 진영 선택을 열고 VPA 공격 헬기 슬롯은 B6까지 "준비 중" ② B6까지 진영 선택을 닫음(연합만) ③ B2에서 VPA 쪽에 아파치 외형·조종석을 임시 허용 | ① | D8을 가장 빨리 지키면서(보병·지상 탈것은 대칭 완성) 비대칭 기간을 명시한다. ③은 외형 대칭 원칙을 깨고 나중에 되돌려야 한다 | B2 전 |
| A9 | 모바일 규모 조정 (D4 "측정 후 조정"의 마지막 단계) | ① 렌더를 단계적으로 줄여도 30fps 미달이면 모바일 기본값만 표준 규모(× 0.6)로, 설정에서 대규모 선택 가능 ② 모바일도 대규모 고정, 렌더만 계속 축소 ③ 모바일은 빠른 점령전을 권장 표시 | ① | D4(대규모 기본)를 데스크톱에서 그대로 지키고, 모바일은 측정 근거로만 기본값을 바꾼다. 사용자가 되돌릴 수 있다 — 기술 설계 9.9 | B5-7 결과 후 (최종 확인 B10-1) |
결정 뒤에 할 일
- 결정 D1
D13과 추가 결정 A1A9를docs/design에 기록한다. 캠페인 제거(D13)로 docs/design 대부분이 낡으므로 B1-16에서 01·09장을 1차 개정하고, B10-5에서 전면 개정한다(이 위키의 내용을 옮긴다). - 로드맵 B1
B10 작업 92개를 GitHub 이슈로 만든다(마일스톤B1B10, 작업 ID[B2-7]형식, 본문에 목표·완료 조건·선행 이슈). - 결정이 늦어진 추가 결정 항목은 권장안으로 구현하고 커밋 메시지에 적는다.