ThreeKingdomsSlingshot/README.md

57 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 삼국지 슬링샷 (가제) — 턴제 슬링샷 전투 프로토타입
Unity 6000.3.23f1 · 2D · 도형 플레이스홀더(아트 리소스는 별도 세션에서 제작 중).
## 열기·실행
1. Unity Hub 로 이 폴더를 연다 (6000.3.x 권장 · 6000.0 이상이면 열림).
2. `Assets/Scenes/Battle.unity` 를 열고 Play. Game 뷰는 세로(9:16) 비율 권장 — 다른 비율도 전장 전체가 보이도록 카메라가 맞춘다.
3. 씬이 없으면 메뉴 **TKS → Setup Project** 를 실행하면 설정 자산과 씬을 다시 만든다.
## 조작 (버튼 없음)
- 아군 유닛을 누른 채 **뒤로 당겼다 놓으면** 반대 방향으로 날아간다(슬링샷). 하얀 선 = 날아갈 경로, 끝의 링 = 최종 목표점. 링이 주황색이면 목표점이 적 위에 있다(명중).
- 이동과 공격은 하나의 조작이다. 경로 위에 적이 있으면 병종 규칙대로 공격한다. 주황 링이 켜진 적 = 이번 조작으로 공격하게 될 적.
- 전장(20×32)은 화면보다 넓다. **빈 곳을 드래그하면 스크롤**, 마우스 휠 = 줌, 오른쪽 위 **미니맵을 탭하면 그 지점으로 이동**. 행동 중인 유닛은 카메라가 따라간다.
- 적은 교전 범위(스테이지별 11~12) 안에 아군이 들어와야 움직인다. 멀리 있는 부대는 자리를 지키므로 부대 단위로 각개격파할 수 있다.
- 아군 전원이 행동하면 자동으로 적군 턴이 진행된다. 보병 추가 이동만 남았을 때 빈 곳을 탭하면 건너뛴다.
- 승리/패배 화면은 탭으로 다음 전투·재도전.
- 스킬 아이콘은 자리만(초기 단계 미구현).
## 병종 규칙 (초안 기획 반영)
| 병종 | 경로 위 적 | 최종 목표점 명중 시 |
|---|---|---|
| 보병 | 첫 적까지 이동 후 공격(반격 받음) | 추가 이동 1회(이동만) |
| 기병 | 경로 위 모든 적 관통 피해 · 목표점까지 이동 | 제자리로 복귀 |
| 창병 | 보병과 동일 | 대기 — 적군 턴에 반경 안에서 움직이는 적에게 피해 |
| 궁병 | 목표 방향의 적을 향해 사거리까지 이동 후 사격(반격 없음) | 무조건 크리티컬 |
상성: 보병 > 창병 > 기병 > 보병. 궁병은 모두에게 약함(받는 피해 1.5배).
## 데이터(SOT)
모든 수치·영웅·스테이지는 `Assets/Resources/BalanceConfig.asset` 하나에 있다(Inspector 에서 조정). 코드에는 수치가 없다.
초기값 재시드: 메뉴 **TKS → Reset Balance Defaults**.
## CLI
에이전트 작업 워크플로(열린 에디터 제어 = Unity 공식 CLI + `com.unity.pipeline`)는 `CLAUDE.md` 에 있다. 아래는 에디터가 닫혀 있을 때의 배치 실행.
```
# 컴파일 + 설정 자산·씬 생성 (BuildFresh = 기본값 재시드까지)
Unity.exe -batchmode -nographics -projectPath <proj> -executeMethod TKS.EditorTools.ProjectSetup.Build -quit -logFile <log>
# 플레이모드 테스트
Unity.exe -batchmode -nographics -projectPath <proj> -runTests -testPlatform PlayMode -testResults <xml> -logFile <log>
# 자동 플레이 스크린샷 실측 (GUI 에디터 · 스스로 종료)
Unity.exe -projectPath <proj> -executeMethod TKS.EditorTools.ProjectSetup.AutoPlayCapture -autoplayDir <dir> -autoplayTurns 3 -logFile <log>
```
## 구조
- `Assets/Scripts/Runtime/` — `GameBootstrap`(씬 구성) · `BattleManager`(턴·승패) · `ActionResolver`(병종 규칙) · `Combat`(피해 공식·기하 질의) · `SlingshotInput`(조작·스크롤·줌) · `CameraController`(넓은 전장 카메라) · `EnemyAI`(교전 범위) · `BattleHUD`(HUD·미니맵) · `Unit`/`UnitView` · `Board`
- `Assets/Scripts/Editor/` — `ProjectSetup`(자동 구성) · `BalanceDefaults`(최초 시드)
- `Assets/Tests/PlayMode/` — 병종 규칙·턴 흐름·승리 판정 테스트