Commit Graph

12 Commits

Author SHA1 Message Date
깃 관리자 b383e355c8 근접 3병종 특징 재정의(#1111 · PD 2026-11-10) — 창병 견제 제거 · 크게 밀치고 적게 밀림 / 기병 복귀 제거 · 관통 이동 / 보병 = 밀치고 튕기며 연쇄 공격
- 창병: BalanceConfig.spearPushRatio 1.5 신설(보병 1.0) · spearRecoilRatio 0.5 → 0.2 · 목표점 명중 → 대기(견제) 삭제 · HUD 견제 반경·대기 중 문구 삭제
- 기병: 목표점 명중 제자리 복귀 삭제(위진소요 추가 관통 유지) · PreviewCavalryReturn · 조준 복귀 영역(ShowReturnZones) 삭제 · 결과 문구 정리
- 적 AI: ai_weights cav_return · cav_stranded 삭제(기획 tables 원본과 같음) · 관통 점수 = 적중 수 × 10
- 보병: #1098 알까기 + 연쇄 그대로(목표점 명중 추가 이동 1회 유지 = PD 확인 대상)
- 튜토리얼 1-3 이름 「창병 밀치기」 · 팁 3행 새 정의 · CLAUDE.md 충돌 규칙 · 근접 3병종 줄
- 견제·복귀 스킬 15개 = 발동 안 함 · 재설계 PD 결정 대기 → ApplyOverwatch 등 내부는 남겨 둠 · SkillTests.Spear_OverwatchSkills_* [Ignore]
- 확인(고친 부분만): 재컴파일·재임포트 error 0 · 테스트 13 통과 · 1 건너뜀

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 17:25:47 +09:00
깃 관리자 b27edb3c49 기마 크기 상한 ×1.3 · 관우 대기 그림 귀 조각 덮음(#1104 · PD 2026-11-09)
- PD 「완벽한 비율 아니어도 됨(게임적 허용) · 기마는 보병·창병보다 조금 크게 · 너무 커지지 않게 조금 줄여」:
  BalanceConfig.mountedArtMaxTop = 1.3(크기 표 mounted = 1 의 그려진 머리 끝 상한 = 표준 키 × 1.3) →
  조운·조조군 기병 ×1.56 · 여포 ×1.82 · 장비 ×1.43 · 황건 기병 ×1.38 → 모두 ×1.3(탄 사람 = 보병의 약 0.8~0.9)
  · 영웅 목록 카드는 그대로(머리 크기 같음)
- PD 「관우 옆얼굴이 깨진 것처럼 보임」: 원인 = front_idle 오른쪽 귀(붉은 조각 3,795 px)가 외곽선 없이 머리카락 사이에 끼어 있음
  → 그 조각만 둘레 머리카락으로 메움(cv2.inpaint TELEA · 검은 외곽선·얼굴 유지 · 재생성 없음) · ready·action 은 귀에 외곽선이 있어 그대로
- 테스트 118/118(기마 머리 끝 = 표준 키 × 상한 · 보병 < 기마) · console error 0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-09 19:33:00 +09:00
깃 관리자 98f675dfda 지형 기믹 레이어(PD #1097 세션 D) + 병종 규칙 개정 2건 · 예측 시뮬레이션 적 AI(PD #1098)
- 데이터: Assets/Data/Gimmicks/{gimmicks,stage_gimmicks,tutorial_tips}.csv + Assets/Data/AI/ai_weights.csv(기획 tables/ 사본) → 메뉴 TKS/Import Gimmicks(검증 · 오류 시 자산 불변) → Resources/Gimmicks/GimmickDb(16)·StageGimmickTable(16 + 팁 3) · Resources/AI/AiWeights(32)
- 레이어: GimmickLayer(전투 시작 = 스테이지 배치 · 배경 위 유닛 아래 · 원/사각/다각 · 색 도형 + 글자 · 내구 핍 · 강 콜라이더 = 다리 구간 제외 · 겹친 유닛 보정) · 장애물 = 병종별 내구 피해·튕김·창 목책 밀기·바위 굴림·기병 정지 · 투사체 pass/block/destroy · 폭약 광역(아군 포함)+밀기+불 · 책사 광역 덤불 제거 · 강 낙하
- 지대: 경로 스윕(독 1→2→3 % · 늪 ×2 · 불 10 % · 빙판 미끄러짐 · 고지 · 안개 · 군기 · 함정) · 양 진영 턴 시작 훅
- 규칙 개정: 보병 튕김 중 다른 적과 연쇄 1회 · 창병 반작용(spearRecoilRatio · 밀며 전진 폐기) · 기존 테스트 기대값 갱신
- 적 AI: Runtime/AI(Sim 가상 실행 · TacticalAI 후보·점수·난이도·턴 운영 · 1부 보스 액티브) · 조준선 = 가상 실행 예상 궤적·기믹 반응·지대 띠 · TKS/Gimmick Painter · 캡처 GimmickImporter.Capture
- 검증: 컴파일 0 · 플레이모드 113/113(신규 26) · console error 0 · 적 10기 턴 결정 62 ms

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 01:20:07 +09:00
깃 관리자 5def2bb9b1 아웃게임 1차(PD #1093 세션 A) — 본영 로비 · 세이브 · 군량 · 영웅(레벨·승급 6칸·진화·스킬 표시) · 편성(전열 3/후열 2 · 프리셋 3) · 거래(뽑기·골드 장비 상점) · 스테이지 보상·별 3·소탕
- 데이터: 기획 tables/ 12장 → Assets/Data/OutGame/*.csv · 메뉴 TKS/Import OutGame Data(Editor/DataImporter) → Resources/OutGame 9 자산(HeroDb·GearDb·GachaConfig·EconomyConfig·RewardTable·LevelTable·PromotionTable·EvolveTable·SkillInfoDb) · 검증(행 수·필수 열·id 유일·hero↔skill↔gear·확률 합) 오류 시 자산 불변 · BalanceConfig.heroes[]/HeroDef 삭제 → HeroDb(기존 5인 id 유지) · economy.csv 키 17 + gacha.csv 키 2 추가(기획서 본문 값 · C45)
- 세이브: persistentDataPath/save.json · ver 1 · 즉시 저장 · 오프라인 군량 회복 · 일일 초기화 · 신규 유저 = 유비·관우·장비·조운·황충 Lv1 녹 ★=희귀도 · 골드 1000 · 보옥 300 · 군량 30 · 테스트·캡처 = 메모리 전용
- 화면(uGUI 와이어프레임 · img03·06·08·11): 시작 = 본영 로비(출정 → 월드맵 · 편성 · 연무장/보물/내정 준비 중 · 동맹 추후) · 재화 바(월드맵 포함 · 군량 타이머) · 하단 탭 5 · ◀/Esc 일관 · 영웅 목록·상세·상세정보·도감 · 편성(탭·드래그) · 뽑기(천장 n/80 · 확률 공개 · 첫 10연 무료 · 10연 ★★ 보장 · 카드 순차 공개) · 장비 상점(흰/녹 6종 일일 · sell×5 · 새로고침 보옥 20)
- 전투 연결: BattleManager.LineupProvider/Deployed(LineupEntry · §3-2 스탯 · 방어 배율 생성 뒤) · playerSpawnPoints = 전열 (−4/0/4, −12) · 후열 (−2/2, −14) · WorldMapScreen 훅(팝업 군량·보상·별 · 입장 군량 · 노드 별 star_on/off · 소탕 · ◀ 본영 · TopInset) · 결과 패널(별 3 조건 · 골드·경험·보옥·장비) · GameBootstrap/AutoPlayDriver 로비 시작
- B 세션 파일(ActionResolver·Combat·UnitView·BattleHUD·SlingshotInput·EnemyAI) 미변경
- 테스트 56/56(기존 41 유지 · 신규 OutGameTests 15) · console error 0 · 사본 GUI 캡처 11장(DataImporter.CaptureOutGame)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 21:11:10 +09:00
깃 관리자 ce8d45de8f 스테이지 표 기획 회신 반영(#1086 작업 C 후속) — 9-9 하북 4장 배치(마연·장의 = 기병 · 초촉·장남 = 창병 · 엘리트 · 조조군 병사 아트 + 이름표 = generals.csv 새 art 열) · 원소·원술·형주·형주 반란군 병사 art → cc(D3 재사용 · 베리에이션 납품 시 교체) · 5-1 산적·5-2 원술군·세력 코드 lb·sj·jzr 확정 표기 · 무장 판별 = EnemySpawn.isGeneral(아트 이름 대신) · 임포트(무장 72 · 보스 33) · 테스트 40/40 · console error 0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 13:23:01 +09:00
깃 관리자 6992d992df 책사 병종 + 궁병 화살 투사체(PD #1087 ⑤⑥) — 궁병 사격 = 타겟 방향 화살(arrowRadius 0.1 원 캐스트 · 비행 = 사거리 · 경로 위 첫 유닛 피격 · 아군 포함 · 관통 없음 · 첫 피격 = 타겟 + 목표점 명중 시 크리 · 아군 피격 = 같은 공식 · 반격·명중 보상 없음 · 타겟 없으면 쏘지 않음 유지) · UnitType.Strategist(책 · 65/24/3 · 슬링 4.0 · 반지름 0.42 · 상성 5×5 = 궁병과 같은 값 · 근접 패널티 동일) = ArcherRoutine 재사용 + 중심(첫 피격) 반경 strategistSplashRadius 1.5 안 다른 유닛 전원 × strategistSplashRatio 0.6(크리 없음 · 상성 대상별) · 같은 편 × strategistAllyDamageRatio 1.0 · 쏜 책사 제외 · 조준 UI = 화살 경로선 + 첫 피격 강조(아군 붉게) + 책사 광역 원·휩쓸릴 아군 붉게 · 적 AI = 사선이 빈 대상 우선 · 책사는 광역에 자기 편 없는 대상 먼저 · 없으면 그냥 쏨 · 연출 = 투사체 1종(책사 보라) + 광역 터짐 · BalanceConfig 4필드 + BalanceDefaults 시드 · 재시드(추가만) · stages.csv strategist 열(전부 0 · 비거나 없으면 0) + 중군 배치(궁 다음) · 테스트 40/40(신규 9) · console error 0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 13:06:32 +09:00
깃 관리자 2d0fc4fab6 스테이지 데이터 145(챕터 1~10 · 기획서 #1086 §4) = CSV SOT + 임포터 + 월드맵 연결 — Assets/Data/Stages/{stages,chapters,generals,factions}.csv(utf-8-sig) · 메뉴 TKS/Import Stages(StageImporter · 형식 오류면 자산 미변경) → BalanceConfig.chapters·stages · 적 좌표 = formation 규칙(전위·중군·후군·장수 줄 · StageTable.Enemies) · 보스 isBoss = type boss 스테이지만 · 엘리트 = 배율 보정 · 아트 없는 무장·세력 = 도형 · 월드맵 = 챕터·노드 수·보스 노드를 스테이지 표에서(10·10·15·15·15·20·10·15·15·20) · 노드 자리 = anchors slots_N · 3·7장 = 맵 1 임시 · BalanceDefaults 구 4 스테이지 시드 삭제 · 테스트 31/31(신규 4: 145행·보스=5의 배수·병종/아트 id · 자산=CSV·배치가 전장 안·겹침 없음 · 도형 대체 · 월드맵 노드/해금) · console error 0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 12:17:19 +09:00
깃 관리자 365bccc2bf 충돌 연출 #1081 — 보병 알까기 양쪽 동시 튕김(자신 = 반대 방향 × collisionSelfBounceRatio 0.5) · 부딪힌 순간 즉시 피해 교환·밀기(등속 접근 · 돌진 연출 대기 폐기) · 체력바 머리 위 · 전장 배경 2판(VSClone 일러 풍 · 삼국지 전장) · 테스트 22/22
- ActionResolver: MoveStraight(등속) · ImpactExchange(접촉 순간 공격+반격 즉시) · Bounce(상대 Push + 자신 되튕김 동시 · Track) · Infantry/Spear 순서 재배치
- Fx.MoveAlong easeOut 인자 · BalanceConfig/Defaults collisionSelfBounceRatio(자산 재시드) · UnitView HP 바·추가 이동 표시 = 아트 머리 위
- Resources/Board/battlefield_01.png = 원화 세션 2판(md5 1ab19b9b… · 1판은 C:\ArtRnD\samguk_game\bg\_old)
- 테스트: 보병 자신 되튕김 · 아군 밀기 시 A 되튕김 단언 · CLAUDE.md · README

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-04 17:32:07 +09:00
깃 관리자 6cdab1fc11 전투 로직 #1080 — 알까기 충돌(보병) · 관통·아군 직전 정지(기병) · 밀며 함께 전진(창병) · 밀린 아군 공격 기회 · 궁병 제자리 사격(사거리 = 슬링샷)+접근 20 % · 궁수 근접 피해 50 %/피격 +50 % · 원화 1차·2차 반영(전장 배경 + 황건적 5 + 동탁군 4) · 테스트 22/22
- ActionResolver 전면 재작성: InfantryRoutine(접촉점 정지 · Push 접촉 방향 × collisionPushRatio · 적이면 공격+반격 뒤 밀림) · SpearRoutine(앞 유닛과 같은 속도로 함께 전진 · 접촉 간격 유지) · CavalryRoutine(벽만 막음 · StopBeforeUnclearedAllies) · ArcherRoutine(AttackRange = 슬링 · ArcherMoveAllow = 슬링 × archerRangeRatio) · PushedAllyAttack(규칙 ⑤ · ActionOutcome.Pushed/Notes)
- Combat: Damage(melee) 궁병 근접 배율(근접 유닛 상대만) · FirstUnitOnPath · TouchingOpponent · FreeTravel ignore
- BalanceConfig/Defaults: archerMeleeDealtRatio 0.5 · archerMeleeTakenRatio 1.5 · collisionPushRatio 1 · boardArt battlefield_01 (자산 재시드)
- Board: Resources/Board/<boardArt> 원화 배경(격자·진영 띠 생략) · UnitArtImporter Board 규칙 · GameBootstrap
- Resources/Units: hgj_infantry·spear·cavalry·archer·boss_zhangjiao · dz_infantry·spear·cavalry·archer (원화 세션 납품 정지 그림 · rig_frames_export static) · Resources/Board/battlefield_01.png
- BattleManager Describe 「밀어냄 · 밀린 B → 적 공격」 · BattleHUD 궁병 줄 · 테스트 22종(신규·개정 7 + 원화 확인) · CLAUDE.md · README

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-04 15:56:02 +09:00
깃 관리자 bc8e571eea 사거리 표시·궁병 규칙·유닛 아트 반영 — PD 2026-11-04 #1078
- 유닛 탭(아군·적군) → RangeIndicator: 슬링샷 최대 거리 = 얇은 반투명 원 · 궁병 = 슬링샷 범위 ~ ×(1+archerRangeRatio) 채워진 붉은 도넛(범위 안 적 없으면 회색)
- 궁병 사거리 = slingMaxDistance × archerRangeRatio(0.2 · 슬링샷 범위 +20 %) · 조준 방향 「당긴 거리 + 사거리」 안에 적 없으면 놓기 취소(AI 는 Cancelled 대기) · 적 가장자리가 사거리에 들어올 때까지만 이동 후 사격 · UnitStats.attackRange 는 창병 견제 반경만
- 유닛 아트: Resources/Units/<art>/<clip>/f###.png + meta.json(skeletal-anim-pipeline rig_frames_export.py) · UnitArt 로더 + FrameAnimator(대기·준비·공격·피격·승리) · UnitArtImporter(피벗·PPU) · 유비·관우·장비 프레임 12클립 15fps(482×470 · 11 MB) · 조운·황충·적 = 도형 유지 · HeroDef/EnemySpawn.art · unitArtHeight · 카메라 CustomAxis 정렬
- BalanceConfig.asset 재시드(art id · archerRangeRatio · 자산 git 미수정 확인) · 테스트 14 → 17(궁병 사거리·범위 밖 취소·사거리 표시·유닛 아트) · 사본 배치 17/17 · PD 에디터 비동기 17/17 · console error 0
- CLAUDE.md: playMode 확인 절차 · 사본 검증 · 재시드 규칙 · 유닛 아트 반영 절 · test run --async-tests

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-04 13:08:31 +09:00
깃 관리자 ceaec991dd 넓은 전장(20×32)·스크롤 카메라·미니맵·적 교전 범위 — PD 추가 지시 「스크롤 가능한 비교적 넓은 전장」 · 빈 곳 드래그 스크롤·휠 줌·행동 유닛 추적·미니맵 탭 이동 · 적은 교전 범위 안에서만 행동 · 스테이지 4종 전위/중군/후군 재배치 · 창병 대기 링 상시 표시 결함 수정 · 자동 플레이 timeScale 가속 · 테스트 14종
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-04 04:29:16 +09:00
깃 관리자 5135d828e2 삼국지 슬링샷 프로토타입 초기 구현 — 턴제 슬링샷 전투(보병·기병·궁병·창병 규칙 · 상성·반격 · 창병 대기 · 적 AI · HUD · 4 스테이지) · 도형 플레이스홀더 · 설정 자산 SOT · 플레이모드 테스트 12종 · CLI 셋업/테스트/자동 플레이 캡처
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-11-04 04:10:10 +09:00