02 플레이어 역할 - kyhsa93/karda GitHub Wiki

02. 플레이어 역할

소유자 결정 D1(풀 배틀필드): 플레이어는 보병·모든 지상 탈것·헬기·전투기를 직접 조종한다. 이 장은 그 역할들이 어떻게 이어지는지(선택·전환·협력)와, 역할이 많아서 생기는 위험을 어떻게 막는지를 정한다. 탈것별 상세는 보병·지상 탈것·헬기·전투기.

2.1 역할 구조 한눈에

[전장 설정] 진영 선택(연합/VPA) — 경기 동안 고정
     ↓
[배치 화면] (매 출격마다)
   ├─ 병과 선택: 돌격 · 공병 · 지원 · 정찰   ← 항상 하나 고른다(탈것에서 내리면 이 병과로 싸운다)
   ├─ 스폰 선택: 본진 · 아군 거점 · 아군 분대 · 스폰 비콘
   └─ 또는 탈것 슬롯: 전차 · 장갑차 · 경차량 · 수송 트럭 · 방공 차량 · 공격 헬기 · 수송 헬기 · 전투기
     ↓
[전장] 보병 ⇄ 탈것 (월드에서 E로 탑승·하차, 헬기·전투기는 착지 상태에서만 하차)
     ↓ 사망
[배치 화면] 10초 대기 (전장은 계속 진행)
  • 병과는 사람, 탈것은 자리다. 어떤 병과든 어떤 탈것에도 탈 수 있다. 병과는 탈것에서 내렸을 때의 장비를 정한다(예: 공병이 전차에서 내려 전차를 수리한다).
  • 탈것 슬롯을 고르면 그 탈것 안에서 태어난다(지상 탈것·헬기는 본진, 헬기는 아군 소유 거점 FARP도 가능, 전투기는 본진 상공 공중 출격). 슬롯은 진영이 가진 탈것 풀에서 나오며 봇과 나눠 쓴다(2.3).
  • 진영은 경기 도중 바꾸지 않는다(한 판의 이야기가 한 편에서 흐르도록 — P4′).

2.2 조종 가능한 것 (진영마다 대칭, D8)

분류 연합 VPA 시점 조준 재사용하는 기존 자산 상세
보병 돌격·공병·지원·정찰 같은 4병과(외형·이름만 다름) 1인칭 조준선 + 조준경(ADS) 발사체 적분 projectile.ts, 시커 stinger.ts(휴대용 대공), 레이저 laser.ts/remoteLasers(정찰 지시기) 보병
전차 전차 전차 1인칭 조준경 / 3인칭 추적 포탑 = 시선, 탄도 조준 탄도 예측 ballistics.ts, 피해 damage.ts, 채택 전차 모델 지상 탈것
장갑차 장갑차 보병전투차 같음 같음 + 유선 대전차 미사일 gun30 무기 정의, 헬파이어 LOBL 유도 지상 탈것
경차량 기관총 차량 기관총 차량 3인칭(운전) / 1인칭(사수) 사수석 기관총 채택 픽업 모델 지상 탈것
수송 트럭 수송 트럭 수송 트럭 3인칭 / 1인칭 없음 채택 트럭 모델 지상 탈것
방공 차량 방공 차량 자주대공포 1인칭 조준경 / 3인칭 레이더 선도 조준점 airDefenseModels.ts 코드 모델 지상 탈것
공격 헬기 아파치(기존 그대로) 공격 헬기(코드 모델 air, VPA 조종석 코드 신규) 조종석 + IHADSS / 3인칭 TADS·FCR·헬멧 시선 기관포 비행 모델·무장·TADS·FCR·ASE·조종석 전부 헬기
수송 헬기 수송 헬기 수송 헬기 조종석 / 3인칭 없음(플레어만) 아파치 비행 모델(기체 수치만 다른 airframe JSON) 헬기
전투기 다목적 전투기 다목적 전투기 조종석 HUD / 3인칭 기관포 선도 조준점, 공대공 시커, 폭탄 CCIP 시커·유도(stinger.ts·missile.ts), 탄도 예측, ASE 플레어 전투기

VPA 쪽은 수치가 같고 외형·이름·소리만 다르다(진영·병과·탈것 4.1). 한 벌의 밸런스로 두 진영을 맞추기 위해서다.

2.3 탈것 풀 — 봇과 나눠 쓴다

진영마다 탈것 슬롯이 편제(봇 AI 5.1)에 정해져 있다. 슬롯은 "살아 있음(봇 또는 플레이어가 탐) / 비어 있음(재생성 대기)" 중 하나다.

탈것 대규모 편제 슬롯 (진영당) 파괴 후 재생성 (추정) 스폰 위치
전차 4 90초 본진
장갑차 4 60초 본진, 장갑차 슬롯 1개는 FARP 딸린 거점도
경차량 3 30초 본진, 아군 거점
수송 트럭 2 30초 본진
방공 차량 2 90초 본진
공격 헬기 2 120초 본진 FARP, 아군 거점 FARP
수송 헬기 2 90초 본진 FARP, 아군 거점 FARP
전투기 2 120초 본진 상공 공중 출격(고도 800m·180m/s)
  • 플레이어가 슬롯을 고르면 그 슬롯의 봇 탈것은 생기지 않는다(재생성 대기 중이던 슬롯을 플레이어가 가져감). 이미 살아 있는 봇 탈것은 뺏지 않는다 — 모든 슬롯이 살아 있으면 그 탈것은 배치 화면에서 회색 + "전부 출격 중".
  • 플레이어가 탈것에서 내려 60초 동안 아무도 안 타면(추정) 그 탈것은 봇 소대가 가져간다(지휘관이 가장 가까운 예비 소대에 배정). 버려진 탈것이 전장에 쌓이지 않게.
  • 탈것 파괴 티켓은 탄 사람과 무관하게 탈것 값이다(게임 모드 3.3). 플레이어가 타고 있었으면 플레이어 사망 티켓 1이 더해진다.

2.4 "얕은 탈것"을 막는 최소 손맛 목록

풀 배틀필드의 가장 큰 위험은 탈것 여덟 종이 모두 "덜 만든" 느낌이 되는 것이다. 각 탈것 작업은 아래 항목을 전부 만족해야 끝난다(로드맵 완료 조건에 그대로 들어간다).

탈것 최소 손맛 목록
보병 달리기·질주·앉기·엎드리기가 발견 확률과 명중에 차이를 만든다 / 반동·탄 퍼짐·재장전 중 무방비 / 헤드샷 / 피격 방향 표시 / 엄폐물 뒤에서 머리만 내밀어 쏠 수 있다
전차 포탑과 차체가 따로 돈다 / 주포 탄도 낙차와 비행 시간이 보인다 / 측·후면 명중 피해 증가 / 재장전 5초가 교전 리듬을 만든다 / 조준경 배율 2단
장갑차 보병을 태우고 거점 앞에 내려 준다 / 30mm 연사가 보병·경차량에 강하고 전차에 약하다 / 대전차 미사일 2발은 조준을 유지해야 맞는다
경차량 가장 빠르다(도로 28m/s) / 운전과 사격이 좌석으로 나뉜다 / 한 방에 부서질 만큼 약하다
수송 트럭 봇 분대를 태워 거점 앞에 내려 주면 점령이 빨라진다(탑승 규칙은 봇 AI 5.4)
방공 차량 레이더가 공중 표적을 잡아 선도 조준점을 준다 / 지상 표적에는 약하다
공격 헬기 기존 아파치의 비행 모델·TADS·FCR·헬파이어·로켓·기관포·대응책 전부
수송 헬기 무겁고 느린 자세 반응 / 봇 분대 2개를 태워 강습 착륙 / 착륙 중이 가장 취약
전투기 속도·실속·G 제한 / 기관포 선도 조준점 / 공대공 시커 잠금음 / 폭탄 CCIP / 대공망에 쫓길 때 플레어·저공 회피

2.5 역할 사이의 연결 — 혼자서도 "팀 플레이"

다른 사람이 없으므로 역할 사이의 협력은 플레이어 ↔ 봇으로 만든다. 모두 D5(지휘 권한 = 지원 요청 수락 + 집중 거점 1개) 안에서 자동 규칙으로 돌며, 봇에게 직접 명령하지 않는다.

플레이어가 하는 것 봇이 반응하는 것 기존 자산
정찰병이 레이저로 적 전차를 지시 아군 봇 공격 헬기·전투기가 20초 안에 그 지점을 공격 대상 1순위로(사거리 안이면 헬파이어·폭탄) remoteLasers, 헬파이어 레이저 유도
아파치 TADS로 적을 식별 팀 스폿 20초 — 모든 아군 봇이 표적 후보에 넣고, 플레이어 HUD에 표식 identify, 레이저
수송 트럭·장갑차·수송 헬기를 거점 근처 아군 지점에 세운다 공격 명령을 받은 가장 가까운 봇 분대가 자동 탑승, 목표 거점 300m 안에 서면 자동 하차 신규 cargo.ts
공병이 봇 전차 옆에서 수리 봇 전차 체력 회복, 그 봇 전차는 수리 동안 멈춘다 신규
지원병이 탄약 상자를 놓는다 반경 15m 봇 분대의 발사율 페널티(탄약 부족 상태) 해제 신규
돌격병이 구급 상자를 놓는다 반경 15m 봇 분대의 쓰러진 인원 1명을 15초마다 복귀 신규
지원 요청 수락(무전) 요청한 소대가 연막으로 적 위치 표시, 해결하면 보너스 기존 smoke 행동
집중 거점 지정 진영 지휘관이 그 거점 공격 가중치 +0.8(90초 쿨다운) 신규 commander.ts

2.6 비용·위험과 완화 (D1 기준)

항목 규모 (추정) 위험 완화
새 코드 약 9,600줄(sim 약 5,200 · render 약 2,000 · ui 약 2,200 · save 약 200) 캠페인 제거 뒤 남는 아파치 코드와 섞여 복잡도 폭증 탈것별 모듈(sim/infantry, sim/vehicles, sim/jet) + 공통 sim/avatar 인터페이스(기술 설계 9.2), 아키텍처 테스트로 의존 방향 고정
작업 수 92개(10개 마일스톤) 끝이 안 보임 마일스톤마다 배포 가능, 앞 마일스톤만으로도 게임이 성립
외부 에셋 보병 애니메이션·전투기·수송 헬기 모델·보병/전차/제트 소리 채택 목록에 없음 코드 폴백을 기본으로 구현하고, 후보 조사는 비차단 작업(외부 에셋)
모바일 조작 네 벌 44/48px 규칙과 버튼 과밀 공통 뼈대 + 탈것별 ≤ 8버튼, 쓰지 않는 버튼은 숨김
성능 인형 수백·탈것 40대·전투기 모바일 30fps 실패 분대 단위 sim, 인형 LOD, 모바일 low 예산, 측정 후 조정(D4 — 추가 결정 A9)