docs: update boss system technical reports and knowledge hub
This commit is contained in:
@@ -1,25 +0,0 @@
|
||||
# [LOG] All Repositories Update (Full Sync)
|
||||
|
||||
- **작업 일시**: 2026-04-22
|
||||
- **작업 내용**: 4개 주요 프로젝트 거점(`2nd`, `skybound`, `Legal`, `Agent`)에 대한 원격 저장소 동기화(`git pull`).
|
||||
- **이유/목적**: 로컬 작업 환경을 최신 상태로 유지하여 개발 및 문서화 작업 시 발생할 수 있는 충돌을 방지하고 코드 정합성을 확보하기 위함.
|
||||
- **기대값**:
|
||||
1. 모든 로컬 브랜치가 최신 원격 브랜치(`main`)와 동기화됨.
|
||||
2. 동기화 과정에서 에러 및 수동 충돌 해결 작업 0건 유지.
|
||||
- **처리 과정**:
|
||||
1. `2nd` (Wiki): `git pull lm_sync main` 진행 -> 최신 상태 확인.
|
||||
2. `skybound`: `git pull origin main` 진행 -> 최신 상태 확인.
|
||||
3. `Legal`: `git pull origin main` 진행 -> 최신 상태 확인.
|
||||
4. `Agent`: `git pull origin main` 진행 -> 최신 상태 확인.
|
||||
- **사용 지식**:
|
||||
1. Git Remote Operations (`git pull`)
|
||||
2. Local Git Mapping Protocol (신규 수립 지침)
|
||||
- **결과**:
|
||||
* 4개 프로젝트 모두 성공적으로 `Already up to date` 또는 최신 커밋 반영 완료.
|
||||
* 작업 경로 및 리모트 명칭(lm_sync vs origin) 혼선 없이 처리됨.
|
||||
- **연결 지식 (Relevant Knowledge)**:
|
||||
* [[E:\Wiki\2nd\10_Wiki\Topics\03_DevOps_Environment]] (데브옵스 및 환경 구성)
|
||||
* [[E:\Wiki\2nd\10_Wiki\Topics\Automation]] (작업 자동화)
|
||||
|
||||
---
|
||||
**작성자**: AI 개발부장 코다리 🫡
|
||||
@@ -1,66 +0,0 @@
|
||||
# 작업 로그: Combat Level Design — Time-Based Difficulty Scaling 구현
|
||||
|
||||
## 📋 작업 내용 (What)
|
||||
"전투 타임라인 & 난이도 프로토콜" 설계안을 기반으로 Skybound 프로젝트의
|
||||
StageDirectorSystem, SpawnerSystem, EngineProtocol을 업그레이드하고,
|
||||
신규 CombatTimeline 설정 파일을 추가함.
|
||||
|
||||
## 🎯 왜 했는지 (Why)
|
||||
기존 스테이지 시스템의 문제점:
|
||||
- StageDirectorSystem: 하드코딩된 `if frame >= X` 체이닝, 새 phase 추가 불가
|
||||
- SpawnerSystem: 완전 무작위 스폰 → 스파이크 없음, 긴장감 없음
|
||||
- 난이도 곡선 부재: 적 HP 단순 배율만 존재, 밀도/타이밍 변화 없음
|
||||
- Death Trap 발생 가능: EVO 준비 없이 Spike 구간 진입
|
||||
|
||||
## 💡 기대값 (Expected Value)
|
||||
- 시간(초) 기반 스크립티드 웨이브 등장 (STANDARD 15분 / BLITZ 8분)
|
||||
- 페이즈별 difficultyMult / spawnIntervalMult 자동 동기화
|
||||
- Spike 30초 전 자동 EXP 젬 밀도 2배 부스트 (Death Trap Avoidance)
|
||||
- 스웜 구간에서 최대 6유닛씩 3프레임 간격 분산 스폰 (성능 보장)
|
||||
- 보스 처치 후 영구 성장 보상 발행 (UX Continuity)
|
||||
- TypeScript 에러 0개
|
||||
|
||||
## 🔧 처리 과정 (How)
|
||||
|
||||
### 1. CombatTimeline.ts (신규 생성)
|
||||
- StageMode: STANDARD(15분) / BLITZ(8분)
|
||||
- DifficultyPhase: name, startSec, diffMult, spawnIntervalMult, maxEnemyCount, bgmCue
|
||||
- WaveTrigger: triggerSec, enemyType, density, isSpike, eventEffect, comms, shake
|
||||
- STANDARD_TIMELINE: 5개 페이즈, 15개 WaveTrigger (Spike 4회)
|
||||
- BLITZ_TIMELINE: 5개 페이즈, 10개 WaveTrigger (Spike 6회)
|
||||
- 유틸 함수: getActivePhase(), collectDueTriggers(), getTimeline()
|
||||
|
||||
### 2. StageDirectorSystem.ts (전면 재작성 v2.0)
|
||||
- tickTimeline(): 매 프레임 currentSec = frame/60로 getActivePhase() 및 collectDueTriggers() 호출
|
||||
- 페이즈 자동 전환: activePhase.name !== phase일 때 STAGE_TRANSITION 인텐트 발행
|
||||
- difficultyMult / tensionLevel: activePhase.diffMult + densityFactor로 자동 동기화
|
||||
- EXP 밀도 부스트: 다음 Spike까지 30초 이내 시 EXP_DENSITY_BOOST 인텐트 발행
|
||||
- processTriggers(): WaveTrigger → 이벤트(COMMS, SCREEN_SHAKE) + SCRIPTED_SPAWN 인텐트
|
||||
- UX Continuity: 보스 처치 시 PERMANENT_REWARD 인텐트 발행
|
||||
|
||||
### 3. SpawnerSystem.ts (전면 재작성 v2.0)
|
||||
- notifyScriptedSpawn(): Director로부터 스폰 요청 수신 (메서드 호출 방식)
|
||||
- flushSpawnQueue(): 큐 소비 + MAX_ENEMIES_HARD_CAP(=30) 보호막
|
||||
- activateSwarmBurst(): SWARM_BURST 모드 활성화
|
||||
- tickSwarmBurst(): MAX_SWARM_BATCH(=6), SWARM_SPAWN_GAP(=3프레임) 분산 스태거링
|
||||
- 절차적 스폰: difficultyMult 기반 간격 계산, 타임라인 간격 채우기 보조 역할
|
||||
- dispose(): 큐 + 버스트 상태 초기화
|
||||
|
||||
### 4. EngineProtocol.ts (확장)
|
||||
- SCRIPTED_SPAWN, SPAWN_MODE, EXP_DENSITY_BOOST, PERMANENT_REWARD 인텐트 타입 추가
|
||||
|
||||
## 🧠 사용한 지식 (Knowledge Used)
|
||||
- Time-Based Difficulty Scaling 패턴
|
||||
- Object Pool + Staggered Spawn 패턴 (성능 최적화)
|
||||
- "Death Trap Avoidance" 게임 디자인 원칙
|
||||
- "UX Continuity" 실패 보상 설계
|
||||
- TypeScript discriminated union (EngineIntentType)
|
||||
- Observer → Direct Method Call 결정 (EventBus 미도입 상태에서의 최적 통신 방식)
|
||||
|
||||
## ✅ 결과 (Result)
|
||||
TypeScript 에러 0개 — `npx tsc --noEmit` 클린 통과
|
||||
|
||||
## 🔗 연결 지식 (Relevant Knowledge)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\Game-Design (Difficulty Curve, Spike Design, Time-Based Scaling)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\Software-Architecture (Intent Protocol, Event-Driven)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\Performance-Optimization (Staggered Spawn, Object Pooling)
|
||||
@@ -1,56 +0,0 @@
|
||||
# 작업 로그: Combat Progression — Nova Burst, Permanent Upgrades & Event Pass 구현
|
||||
|
||||
## 📋 작업 내용 (What)
|
||||
Skybound 프로젝트의 핵심 성장 루프(Dopamine Loop)를 완성하기 위해 다음 3대 요소를 구현함:
|
||||
1. **Nova Burst (aoe_nova)**: 광범위 충격파 및 넉백 기능을 갖춘 신규 액티브 스킬 인게임 로직 구현.
|
||||
2. **Permanent Upgrade (Hangar Shop)**: 런 간 유지되는 기체 스탯 영구 강화 시스템 및 전용 상점 UI 구축.
|
||||
3. **Event Pass System**: 포인트 적립형 티어 시스템 및 S/SS급 장비 보장 쿠폰 보상 체계 수립.
|
||||
|
||||
## 🎯 왜 했는지 (Why)
|
||||
- **전투 카타르시스 부족**: 기존 스킬들은 투사체 중심이라 '물량'을 한 번에 정리하는 쾌감이 부족함.
|
||||
- **메타 게임 부재**: 게임이 끝나면 모든 성장이 초기화되어 장기 리텐션(Retention) 유인이 약함.
|
||||
- **아이템 가치 인플레이션 방지**: S/SS급 아이템이 너무 쉽게 드롭되지 않도록 희귀도를 극한으로 조정하고, 확정 획득 경로(Pass/Crafting)를 명확히 함.
|
||||
|
||||
## 💡 기대값 (Expected Value)
|
||||
- **Nova Burst**: 5초마다 발생하는 강력한 충격파로 위기 탈출 및 대량 처치 쾌감 (Dopamine Spike).
|
||||
- **영구 성장**: 골드(Gold) 소모처를 제공하여 "한 판 더" 할 이유를 제공 (Meta-Progression).
|
||||
- **희귀도 밸런스**: SS급 장비의 자연 드롭율을 0%로 설정하여 제작(Cosmic Cast) 및 패스 최종 보상의 가치 극대화.
|
||||
- **UI 일관성**: Hangar 내 7개 탭(EQUIP, MERGE, DISASSEMBLE, COSMIC, FORGE, UPGRADE, PASS) 통합 관리.
|
||||
|
||||
## 🔧 처리 과정 (How)
|
||||
|
||||
### 1. ModularWeaponSystem.ts (Nova Burst 로직)
|
||||
- `updateNovaBurst()`: 5/4/3초 주기로 동작하는 전방위 충격파 로직 구현.
|
||||
- **넉백 물리**: 중심점으로부터의 거리(dist)에 반비례하는 벡터 힘을 적군 vx, vy에 가산.
|
||||
- **시각 연출**: Lv1~2(16방향 링), Lv3(24방향 2중 링) 파티클 및 강력한 화면 흔들림(Screen Shake) 연동.
|
||||
|
||||
### 2. useGameStore.ts (상태 관리 확장)
|
||||
- `permanentUpgrades`: HP, ATK, SPEED, MAGNET, GOLD_GAIN 5종 스탯 정의 (최대 5레벨).
|
||||
- `purchasePermanentUpgrade()`: Gold 차감 및 지수적 비용(300~8000G) 테이블 적용.
|
||||
- `eventPass`: 500pts당 1티어 상승, Tier 10(S급 쿠폰), Tier 20(SS급 쿠폰) 보상 로직 구현.
|
||||
|
||||
### 3. LootGenerator.ts (희귀도 조정)
|
||||
- `rollLoot()`: S급(엘리트 1.5%), SS급(자연 드롭 0%)으로 드롭률 극한 하향 조정.
|
||||
- `rollWithCoupon()`: 패스 보상용 S/SS급 확정 생성 메서드 추가.
|
||||
|
||||
### 4. HangarOverlay.tsx & CSS (UI/UX)
|
||||
- **탭 확장**: 기존 5탭에서 UPGRADE(🛸), PASS(🎫) 포함 7탭으로 확장.
|
||||
- **UPGRADE UI**: 레벨별 Pip 바(5칸) 시각화 및 구매 가능 여부 실시간 피드백.
|
||||
- **PASS UI**: 티어 진행도 바, 마일스톤 카드, 프리미엄 패스 구매 CTA 구현.
|
||||
- **Premium Style**: 네온 블루/황금색 그라디언트, 마이크로 애니메이션(Hover Scale) 적용.
|
||||
|
||||
## 🧠 사용한 지식 (Knowledge Used)
|
||||
- **Dopamine Loop Design**: 'Pop Effect'와 'Satisfaction of Scale'을 위한 파티클/넉백 결합.
|
||||
- **Resource Scarcity**: 고가치 자산(SS_CLASS)의 인위적 희소성 관리.
|
||||
- **Exponential Cost Curve**: 후반부 성장을 위한 지수적 비용 설계.
|
||||
- **Meta-Progression Architecture**: Zustand를 이용한 영구 상태(Persistent State) 관리.
|
||||
|
||||
## ✅ 결과 (Result)
|
||||
- TypeScript 에러 0개 (`npx tsc --noEmit` 통과)
|
||||
- Git Commit: `0ac0084` (feat_nova_burst_perm_upgrade_event_pass)
|
||||
- Push 완료: `origin/main`
|
||||
|
||||
## 🔗 연결 지식 (Relevant Knowledge)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\Game-Design (Meta-Progression, Dopamine Loop, Scarcity)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\Software-Architecture (Persistent State, Action-Reducer Pattern)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\UI-UX (Tab System, Progress Visualization)
|
||||
@@ -1,65 +0,0 @@
|
||||
# 작업 과정 로그 (Process Log): Event Pass & Nova Burst 시각화 구현
|
||||
|
||||
## 🗓️ 날짜: 2026-04-22
|
||||
## 👤 담당: Antigravity (AI Coding Assistant)
|
||||
|
||||
---
|
||||
|
||||
## 1. 요구사항 분석 및 아키텍처 탐색 (Analysis)
|
||||
|
||||
### 🔍 분석 대상
|
||||
- `useGameEngine.ts`: 엔진의 메인 루프와 외부 API(Store) 연결부.
|
||||
- `StageDirectorSystem.ts`: 스테이지 페이즈(Boss, Stage Clear) 관리 주체.
|
||||
- `GameRenderer.ts`: Canvas 2D 렌더링 최상위 클래스.
|
||||
- `ModularWeaponSystem.ts`: 스킬 로직 처리부.
|
||||
|
||||
### 🚩 발견된 문제점
|
||||
- **이벤트 연결 누락**: `addEventPassPoints` 함수는 스토어에 정의되어 있었으나, 실제 인게임 이벤트(보스 처치, 클리어) 발생 시 호출되는 로직이 부재함.
|
||||
- **렌더링 레이어 분리**: `ModularWeaponSystem`은 물리/데미지 로직만 처리하며, `GameRenderer`는 상태(State) 기반으로만 그려야 함. 즉, "방금 폭발함"이라는 정보를 전달할 매개체가 필요했음.
|
||||
|
||||
---
|
||||
|
||||
## 2. 해결 전략 수립 (Strategy)
|
||||
|
||||
### 💡 포인트 지급 전략
|
||||
- **보스 처치**: 이미 존재하는 `PERMANENT_REWARD` Intent를 재활용. Intent 핸들러에서 Gold와 Pass Point를 동시에 지급하도록 수정하여 코드 중복 방지.
|
||||
- **미션 클리어**: `StageDirectorSystem`의 `STAGE_CLEAR` 페이즈 전환 시 `phaseTimer === 1` 조건을 활용하여 딱 한 번만 포인트를 지급하는 'Atomic Trigger' 방식 채택.
|
||||
- **런 실패**: `useGameEngine`의 사망 루프에서 런 타임(프레임)을 포인트로 환산하여 지급.
|
||||
|
||||
### 💡 시각화 전략 (Signal Pattern)
|
||||
- `ModularWeaponSystem`이 `novaBurstRingEffect`라는 임시 객체를 `state`에 기록.
|
||||
- `GameRenderer`가 매 프레임 이 객체가 있는지 확인하고, 있으면 20프레임 동안 애니메이션 처리 후 스스로 타이머를 깎아 소멸시키는 'Auto-decay Signal' 패턴 적용.
|
||||
|
||||
---
|
||||
|
||||
## 3. 구현 단계 (Execution)
|
||||
|
||||
### Step 1: 통신 채널 확장
|
||||
- `stateMachine.ts`의 `PhaseTransitionContext` 인터페이스를 확장하여 `addEventPassPoints` 콜백을 주입할 준비를 마침. (추후 리팩토링 대비)
|
||||
|
||||
### Step 2: 실제 로직 주입
|
||||
- `useGameEngine.ts` 내 Intent 핸들러 수정.
|
||||
- `StageDirectorSystem.ts` 내 클리어 보상 로직 추가.
|
||||
- `useGameEngine.ts` 내 사망 보상 로직 추가.
|
||||
|
||||
### Step 3: 프리미엄 시각 효과 구현
|
||||
- `GameRenderer.ts`에 4단계 레이어(링, 보조 링, 플래시, 스파이크) 렌더링 로직 작성.
|
||||
- `ModularWeaponSystem.ts`에서 폭발 시점에 신호(Signal) 발생 코드 삽입.
|
||||
|
||||
---
|
||||
|
||||
## 4. 검증 및 배포 (Verification & Sync)
|
||||
|
||||
### ✅ 기술 검증
|
||||
- `npx tsc --noEmit`을 통한 타입 안정성 확인.
|
||||
- PowerShell 권한 이슈 발생 시 즉시 `cmd /c`로 전환하여 작업 중단 방지.
|
||||
|
||||
### ✅ 기록 및 동기화
|
||||
1. **Skybound Repo**: 코드 커밋 및 푸시 (`226eb7c`).
|
||||
2. **Wiki Repo (RAW)**: 작업 내용 요약(`2026-04-22_EventPass_NovaBurst_Renderer.md`) 및 본 과정 로그 기록.
|
||||
3. **Wiki Repo (Sync)**: 모든 문서를 원격 저장소에 Push 하여 대표님(User)과 공유.
|
||||
|
||||
---
|
||||
|
||||
## 🧐 부장님(코다리) 한마디 😎
|
||||
"단순히 코드만 짜는 게 아니라, 왜 이렇게 짰는지 흐름을 기록하는 것이 진짜 엔지니어링이지! 🫡 시스템은 기록으로 증명된다. 🐟"
|
||||
@@ -1,98 +0,0 @@
|
||||
# [RAW LOG] 2026-04-22 — Crafting System Full Activation
|
||||
|
||||
## 작업 개요
|
||||
- 날짜: 2026-04-22
|
||||
- 세션: Skybound Crafting Economy Full Integration (Option B)
|
||||
- Git: `facb2ba` → `9e0110d`
|
||||
|
||||
---
|
||||
|
||||
## 1. 감사 결과 (진단)
|
||||
|
||||
| 항목 | 이전 상태 |
|
||||
|------|----------|
|
||||
| `mergeEquipment()` | ✅ HangarOverlay에서만 연결됨 |
|
||||
| `cosmicCast()` | ❌ 호출처 없음 |
|
||||
| `astralForge()` | ❌ 호출처 없음 |
|
||||
| `disassemble()` | ❌ 호출처 없음 |
|
||||
| `mergeTechPart()` | ❌ 호출처 없음 |
|
||||
| `techParts`, `materials` 상태 | ❌ 선언만 있고 실제 데이터 입출력 없음 |
|
||||
|
||||
---
|
||||
|
||||
## 2. 구현 내역
|
||||
|
||||
### A. `useGameStore.ts` — 크래프팅 액션 전면 활성화
|
||||
- `addMaterials(mats)`: TechMats/Core 획득 시 상태 누적
|
||||
- `addTechPart(part)`: 드롭된 TechPart 인벤토리 추가
|
||||
- `disassembleItems(ids)`: 선택 아이템 일괄 분해 → 재료 획득 + 슬롯 해제
|
||||
- `cosmicCastAction()`: 재료(Eternal×50, Destruction×50, Tech×2000) 소모 → SS급 장비 생성
|
||||
- `astralForgeAction(targetId, sacrificeId)`: LEGEND/SS 대상 + S급 희생 → forgeLevel +1
|
||||
- `mergeTechPartAction(targetId, fodderIds)`: 동일 티어/스킬 TechPart 합성 → plusLevel +1
|
||||
|
||||
### B. `HangarOverlay.tsx` — 5탭 크래프팅 UI 전면 재작성
|
||||
| 탭 | 기능 |
|
||||
|----|------|
|
||||
| 🔩 EQUIP | 기존 장착 슬롯 + 인벤토리 |
|
||||
| ⬆ MERGE | 장비 합성(3개) + TechPart 합성(2개) |
|
||||
| 🔧 DISASSEMBLE | 선택 아이템 분해 + 재료 미리보기 |
|
||||
| ✦ COSMIC CAST | SS급 제작 재료 요구량 체크 + 실행 |
|
||||
| ⚒ FORGE | TARGET/SACRIFICE 슬롯 선택 → forgeLevel +1 |
|
||||
|
||||
- 재료 패널(TechMats, Eternal, Destruction, Relic)을 좌측 패널에 항상 표시
|
||||
- Feedback Toast: 성공/실패 3초 표시
|
||||
|
||||
### C. `HangarOverlay.css` — 새 스타일 추가
|
||||
- `.craft-tabs`, `.craft-tab-btn` — 5탭 네비게이션
|
||||
- `.materials-panel`, `.mat-grid` — 재료 표시
|
||||
- `.disassemble-preview` — 분해 미리보기 패널
|
||||
- `.cosmic-recipe`, `.cosmic-result-preview` — 코스믹 캐스트
|
||||
- `.forge-slots`, `.forge-slot-box` — 포지 슬롯 UI
|
||||
- `.craft-feedback` — 피드백 토스트 애니메이션
|
||||
- `.tech-list`, `.tech-row` — TechPart 목록
|
||||
|
||||
### D. `CombatSystem.ts` — 재료 드롭 연결
|
||||
- 일반 적: 3% 확률 TechMats 10~30 획득
|
||||
- 엘리트 적: 10% 확률 TechMats 50~100 획득 + 파란 텍스트 알림
|
||||
- 엘리트 적: 5% 확률 TechPart 드롭 → 보라색 텍스트 알림
|
||||
|
||||
### E. `LootGenerator.ts` — `rollTechPart()` 신규 추가
|
||||
- 6종 스킬 풀: fire_rate / speed_boost / magnet_range / damage_up / shield / missile
|
||||
- 스테이지 연동 티어: Stage 1-2→EXCELLENT, 3-4→EPIC, 5+→LEGEND
|
||||
|
||||
---
|
||||
|
||||
## 3. 경제 흐름 (완성된 파이프라인)
|
||||
|
||||
```
|
||||
적 처치 (일반 3% / 엘리트 10%)
|
||||
↓
|
||||
addMaterials({ techMats })
|
||||
↓
|
||||
HangarOverlay [DISASSEMBLE 탭] → 불필요 장비 분해 → Eternal/Destruction Core 획득
|
||||
↓
|
||||
HangarOverlay [COSMIC CAST 탭] → 코스믹 캐스트 → SS급 장비 생성
|
||||
↓
|
||||
HangarOverlay [FORGE 탭] → SS/LEGEND 장비 forgeLevel +1~5
|
||||
|
||||
엘리트 처치 (5%)
|
||||
↓
|
||||
addTechPart()
|
||||
↓
|
||||
HangarOverlay [MERGE 탭] → TechPart 합성 → plusLevel +1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. TypeScript & Git
|
||||
- `npx tsc --noEmit`: **에러 0개 ✅**
|
||||
- Commit: `feat_crafting_full_ui_economy` (`9e0110d`)
|
||||
- Push: `main` ✅
|
||||
|
||||
---
|
||||
|
||||
## 5. 다음 과제 (Next Steps)
|
||||
1. **보스 처치 시 Eternal/Destruction Core 보장 드롭** 추가
|
||||
2. **코스믹 캐스트 결과 다양화** — Twin Lance 외 랜덤 SS급 풀 확장
|
||||
3. **TechPart 효과 실제 반영** — 인게임 스탯에 plusLevel 반영 로직
|
||||
4. **UI 시각 검증** — `http://localhost:5174/` 5탭 동작 확인
|
||||
@@ -1,59 +0,0 @@
|
||||
# 작업 로그: Event Pass 연동 + Nova Burst Canvas 렌더러 구현
|
||||
|
||||
## 📋 작업 내용 (What)
|
||||
1. **addEventPassPoints 실제 연결**: 보스 처치, 미션 클리어(STAGE_CLEAR), 미션 실패(부분 런) 시 Event Pass 포인트를 실제 게임플레이 이벤트에 연결.
|
||||
2. **Nova Burst Canvas 링 이펙트**: `GameRenderer`에 20프레임 확장 충격파 링을 4개 레이어로 렌더링하는 `renderNovaBurstEffect` 메서드 구현.
|
||||
|
||||
## 🎯 왜 했는지 (Why)
|
||||
- **패스 포인트가 UI에만 존재**: HangarOverlay에 PASS 탭을 만들었지만 실제 게임플레이에서 포인트를 지급하는 파이프라인이 없었음.
|
||||
- **Nova Burst 시각 부재**: 스킬 논리(`ModularWeaponSystem`)는 완성됐으나 Canvas 렌더러와 연동되지 않아 플레이어가 충격파를 시각적으로 느끼지 못했음.
|
||||
|
||||
## 💡 기대값 (Expected Value)
|
||||
- 보스 처치 시 스테이지 × 200pts 지급 (Stage 1: 200, Stage 3: 600)
|
||||
- 스테이지 클리어(STAGE_CLEAR) 시 기본 500 + 스테이지 × 100pts
|
||||
- 런 실패 시에도 10초당 1pt 지급 → "패배해도 진전이 있다" 심리적 보상
|
||||
- Nova Burst 발동 시 20프레임(0.33초) 확장 충격파 링 + 스파이크 라인 시각화
|
||||
|
||||
## 🔧 처리 과정 (How)
|
||||
|
||||
### 1. useGameEngine.ts — 보스 처치 패스 포인트
|
||||
- `PERMANENT_REWARD` intent 핸들러에 `addEventPassPoints(200 × stage)` 추가.
|
||||
- 보라색 플로팅 텍스트 `+N PASS PTS` 연출.
|
||||
|
||||
### 2. StageDirectorSystem.ts — STAGE_CLEAR 패스 포인트
|
||||
- `case 'STAGE_CLEAR'`의 `phaseTimer === 1` 시점에 `addEventPassPoints(500 + stage × 100)` 1회 호출.
|
||||
- phaseTimer === 1 조건으로 중복 지급 완전 차단.
|
||||
|
||||
### 3. useGameEngine.ts — 게임오버 부분 런 보상
|
||||
- 최종 사망 분기에 `Math.floor(frame / 60 / 10)` pts 지급 (10초당 1pt).
|
||||
- "실패해도 패스 티어가 오른다" UX 확보.
|
||||
|
||||
### 4. stateMachine.ts — PhaseTransitionContext 확장
|
||||
- `addEventPassPoints`, `addGold` 콜백 시그니처 추가 (미래 확장성 확보).
|
||||
|
||||
### 5. ModularWeaponSystem.ts — novaBurstRingEffect 신호 생성
|
||||
- 충격파 발동 시 `state.novaBurstRingEffect = { x, y, radius, level, timer: 20 }` 설정.
|
||||
- GameRenderer가 이 신호를 읽어 20프레임 동안 링을 렌더링.
|
||||
|
||||
### 6. GameRenderer.ts — renderNovaBurstEffect (4레이어 렌더러)
|
||||
- **레이어 1**: 외부 청록(#00e5ff) 충격파 링 — 두께 4→1px, 글로우 shadow
|
||||
- **레이어 2**: 내부 흰색 보조 링 (50% 반경, 40% 투명도)
|
||||
- **레이어 3**: 중심 시안 라디알 플래시 (초기 8프레임만, 빠른 소멸)
|
||||
- **레이어 4**: 6/8방향 스파이크 라인 (Lv3이면 8개) — 링 바깥으로 뻗는 방출 연출
|
||||
- `ring.timer--`로 자체 tick하여 별도 상태 관리 불필요.
|
||||
|
||||
## 🧠 사용한 지식 (Knowledge Used)
|
||||
- **Canvas 2D Compositing**: globalAlpha 스택 + save/restore 패턴으로 레이어별 독립적 투명도 관리.
|
||||
- **RadialGradient API**: createRadialGradient(cx, cy, r0, cx, cy, r1) 패턴으로 중심 플래시 구현.
|
||||
- **Signal Pattern**: 시스템 간 결합을 최소화하기 위해 state 오브젝트에 임시 신호 필드를 기록하고 렌더러가 읽는 방식.
|
||||
- **Event Pass Economics**: 보스>클리어>실패 순의 포인트 차등화로 플레이 깊이에 따른 보상 곡선 설계.
|
||||
|
||||
## ✅ 결과 (Result)
|
||||
- TypeScript 에러 0개
|
||||
- Git Commit: `226eb7c` (feat_event_pass_hooks_nova_burst_canvas_renderer)
|
||||
- Push: `origin/main`
|
||||
|
||||
## 🔗 연결 지식 (Relevant Knowledge)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\Game-Design (Event Pass Economy, Consolation Reward)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\Software-Architecture (Signal Pattern, System Decoupling)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\UI-UX (Canvas Compositing, Visual Feedback Loop)
|
||||
@@ -1,27 +0,0 @@
|
||||
# [LOG] Git Operation Mapping Protocol & Work Log System Setup
|
||||
|
||||
- **작업 일시**: 2026-04-22
|
||||
- **작업 내용**: 구역별 Git 명령어 맵핑(Wiki, Skybound, Legal, Agent) 및 작업 자동 기록 시스템(Work Log) 수립.
|
||||
- **이유/목적**: 대표님의 명령 한마디로 복잡한 Git 작업을 정확한 경로와 저장소에 수행하고, 모든 AI 작업 과정을 체계적으로 문서화하여 누락 없는 히스토리 관리를 하기 위함.
|
||||
- **기대값**:
|
||||
1. Git 작업 시 경로 혼선 및 저장소 오류 0건 달성.
|
||||
2. 모든 작업의 의도, 지식, 결과가 md 파일로 축적되어 추후 지식 베이스 강화에 기여.
|
||||
- **처리 과정**:
|
||||
1. 각 프로젝트별(`2nd`, `skybound`, `Legal`, `Agent`) 현재 Git 설정 확인.
|
||||
2. 대표님 지시 URL과 로컬 설정 대조 및 필요 시 `set-url`로 업데이트.
|
||||
3. 각 폴더에 `GIT_PROTOCOL.md`를 생성하여 명문화.
|
||||
4. `E:\Wiki\2nd\00_Raw` 경로에 작업 일지 작성 시스템 가동.
|
||||
- **사용 지식**:
|
||||
* Git Remote Management (`git remote set-url`)
|
||||
* Organizational Process Assets (OPA) 구축 방법론
|
||||
* Markdown 기반 기술 문서 표준화
|
||||
- **결과**:
|
||||
* 4개 주요 거점의 Git 맵핑 완료 및 승인 대기.
|
||||
* 첫 번째 작업 로그(`2026-04-22_Git_Protocol_Setup.md`) 생성 완료.
|
||||
- **연결 지식 (Relevant Knowledge)**:
|
||||
* [[E:\Wiki\2nd\10_Wiki\Topics\04_Governance_Reliability]] (거버넌스 및 신뢰성)
|
||||
* [[E:\Wiki\2nd\10_Wiki\Topics\Automation]] (자동화)
|
||||
* [[E:\Wiki\2nd\10_Wiki\Topics\Skybound]] (프로젝트 연계)
|
||||
|
||||
---
|
||||
**작성자**: AI 개발부장 코다리 🫡
|
||||
@@ -1,70 +0,0 @@
|
||||
# 작업 로그: In-Game Level-Up & Evolution System (Phase 1~4) 전체 구현
|
||||
|
||||
## 📋 작업 내용 (What)
|
||||
Skybound 프로젝트의 인게임 레벨업 및 진화 시스템을 4개 핵심 파일에 걸쳐 완전 구현.
|
||||
|
||||
## 🎯 왜 했는지 (Why)
|
||||
기존 `ProgressionSystem.ts`에 EXP 수집, 레벨업, 진화 구조가 골격만 있었고:
|
||||
- 게임 Pause 연동이 없어 카드 선택 중에도 전투가 진행됨
|
||||
- 스킬 선택 후 엔진 내부 상태에 `(engine as any).state` 해킹으로 불완전 반영
|
||||
- EVO 스탯 적용 로직 없음, 패시브 스킬 확장 불가
|
||||
- 카드 풀 생성이 UI에서 무작위 생성되어 엔진 로직과 분리됨
|
||||
|
||||
## 💡 기대값 (Expected Value)
|
||||
- 레벨업 시 게임 완전 Pause + 3지선다 카드 표시 → 선택 후 재개
|
||||
- 스킬이 엔진 내부 state에 정확히 반영됨 (단방향 플로우)
|
||||
- 진화 조건 달성 시 EVO 이펙트 + 스탯 즉시 반영
|
||||
- TypeScript 타입 에러 0개
|
||||
|
||||
## 🔧 처리 과정 (How)
|
||||
|
||||
### 1. ProgressionSystem.ts (전면 재작성)
|
||||
- `handleLevelUp()`: ctx.setPaused(true) 호출 후 `generateSkillCards()` 결과를 LEVEL_UP 이벤트에 포함
|
||||
- `generateSkillCards()`: MAX_SKILL_SLOTS 가드, 소유 스킬 2x 가중치 Fisher-Yates 셔플
|
||||
- `applySkillSelection(ctx, skillId)`: 외부 콜백 포트 — UI에서 호출 → 엔진 state.skills 직접 업데이트 → setPaused(false)
|
||||
- `processEvolution()`: EVOLUTION_RECIPES 레지스트리 기반 스캔으로 EVO 트리거
|
||||
- `syncPassives()`: magnetRadius, speedBoost, fireRateBoost 패시브 스탯 매 프레임 동기화
|
||||
|
||||
### 2. useGameEngine.ts
|
||||
- `skillUpdaterRef` 추가: React UI → 엔진 단방향 주입 포트
|
||||
- `ctx` 선언 전 클로저 TDZ 방지를 위해 `let ctx` 패턴 사용
|
||||
- `applySkill()` 메서드 훅 반환에 추가
|
||||
|
||||
### 3. GameSceneRenderer.tsx (전면 재작성)
|
||||
- `engineRef` 패턴으로 hoisting 에러 제거
|
||||
- `handleEngineEvent`에서 `e.cards` 수신 → `levelUpCards` state 저장
|
||||
- `handleSkillSelect`: addSkill(store) + engine.applySkill(engine) 순서 보장
|
||||
- LevelUpModal에 `preGeneratedCards` prop 전달
|
||||
|
||||
### 4. LevelUpModal.tsx (전면 재작성)
|
||||
- `preGeneratedCards` prop 우선 사용 (엔진 결정론적 생성)
|
||||
- 레벨 업그레이드 표시 (Lv.N → Lv.N+1)
|
||||
- 빈 풀 처리 (Skip 옵션)
|
||||
|
||||
### 5. 타입 시스템 업데이트
|
||||
- `EffectiveStats`: `magnetRadius: number` 추가
|
||||
- `GameEvent.LEVEL_UP`: `cards: string[]` 추가
|
||||
- `createDefaultState`: `magnetRadius: 180` 초기화
|
||||
- `calculateEffectiveStats`: `magnetRadius: 180` 반환
|
||||
|
||||
### 6. AudioManager.ts
|
||||
- `playLevelUp()`: C5→E5→G5→C6 상승 아르페지오 절차형 사운드
|
||||
- `playEvoSuccess()`: 베이스 충격파 + 5음 하모닉 버스트 + 시머 레이어
|
||||
- `playSFX()` 라우팅: 'level-up', 'evo-success' → 전용 메서드
|
||||
|
||||
## 🧠 사용한 지식 (Knowledge Used)
|
||||
- JavaScript TDZ (Temporal Dead Zone): `let ctx` + closure 패턴
|
||||
- Fisher-Yates 셔플 알고리즘 (결정론적 랜덤)
|
||||
- Game Engine State-Driven Architecture (Pause Gate Pattern)
|
||||
- React useRef 패턴 (closure staleness 방지)
|
||||
- Web Audio API: OscillatorNode, BiquadFilterNode, GainNode 절차형 합성
|
||||
- TypeScript 인터페이스 확장 원칙
|
||||
|
||||
## ✅ 결과 (Result)
|
||||
**TypeScript 타입 에러 0개** — `npx tsc --noEmit` 클린 통과
|
||||
|
||||
## 🔗 연결 지식 (Relevant Knowledge)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\Game-Design (State Machine, Loop Design)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\TypeScript-Patterns (Closure, TDZ, Ref Pattern)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\Audio-Engineering (Procedural Sound Design)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\Software-Architecture (Unidirectional Data Flow)
|
||||
@@ -1,69 +0,0 @@
|
||||
# 작업 로그: NOVA_GUARDIAN EVO + Permanent Upgrade Stat Injection
|
||||
|
||||
## 📋 작업 내용 (What)
|
||||
1. **NOVA_GUARDIAN EVO 레시피**: `aoe_nova(Lv3 MAX) + energy_shield(Lv1+)` 조합으로 황금 충격파 수호자 진화 구현.
|
||||
2. **Permanent Upgrade → EffectiveStats 실반영**: 영구 업그레이드 구매 시 실제 인게임 스탯(HP, ATK, SPD, MAGNET, GOLD)에 즉시 반영.
|
||||
|
||||
## 🎯 왜 했는지 (Why)
|
||||
- **Nova Burst의 EVO 목적지 부재**: `aoe_nova` 스킬이 최대 레벨 달성 후 더 이상 성장이 없어 장기 동기부여 약화.
|
||||
- **Permanent Upgrade 구조적 결함**: 골드를 소비해 영구 업그레이드를 구매해도 실제 인게임 세션에 아무런 영향이 없는 "빈 껍데기" 상태였음.
|
||||
|
||||
## 🔧 처리 과정 (How)
|
||||
|
||||
### 1. evolutions.ts — 레시피 등록 + 스킬 최대 레벨 테이블
|
||||
- `aoe_nova`를 `SKILL_REGISTRY`에 PRIMARY 스킬로 등록 (기존에 없었음).
|
||||
- `SKILL_MAX_LEVEL` 테이블 추가: `aoe_nova`의 최대 레벨을 3으로 명시적 정의.
|
||||
- `checkEvolutionPossible()` 로직을 하드코딩 `>= 5` → `SKILL_MAX_LEVEL[baseId]` 조회로 변경하여 **스킬별 상이한 최대 레벨 지원** 확보.
|
||||
- NOVA_GUARDIAN 레시피 및 메타데이터 추가 (icon: ✨).
|
||||
|
||||
### 2. ProgressionSystem.ts — NOVA_GUARDIAN EVO 스탯
|
||||
- `applyEvoStats()` switch에 `NOVA_GUARDIAN` 케이스 추가:
|
||||
- 쿨다운: 5s → 2.5s (`novaBurstCooldown` = 150프레임)
|
||||
- 반경: +50% (`novaBurstRadiusBonus` = 0.5)
|
||||
- 데미지: 기존 대비 ×2.5
|
||||
- 버스트 발동 시 1.5초(90프레임) 무적 플래그 (`novaGuardianShield: true`)
|
||||
|
||||
### 3. ModularWeaponSystem.ts — 분기 처리 + 황금 색상 연출
|
||||
- `update()`: `evolved.has('NOVA_GUARDIAN')` 분기 추가 → `isGuardian=true`로 `updateNovaBurst()` 호출.
|
||||
- `updateNovaBurst(isGuardian)` 파라미터 추가:
|
||||
- `eff.novaBurstCooldown` 오버라이드 (EVO 스탯 반영)
|
||||
- `eff.novaBurstRadiusBonus`로 반경 확장
|
||||
- Guardian 발동 시: 90프레임 무적, 황금 파티클 3중 링, "✨ SHIELD BURST ✨" 텍스트
|
||||
- `novaBurstRingEffect.isGuardian` 플래그 → GameRenderer에 색상 전달
|
||||
|
||||
### 4. GameRenderer.ts — 황금/청록 이중 색상 분기
|
||||
- `renderNovaBurstEffect()`: `ring.isGuardian` 기반 색상 팔레트 분기:
|
||||
- Guardian: `#ffd700` 황금 외부 링, `#ffab40` 중간 링(75%), `#ff8f00` 글로우, 12방향 스파이크
|
||||
- Nova: 기존 청록 팔레트 유지
|
||||
- Guardian 전용 3번째 중간 링 레이어 추가 (확장감과 위용 강화).
|
||||
|
||||
### 5. combatUtils.ts — V12.0 Stat Injection Engine
|
||||
- `calculateEffectiveStats()` 시그니처 변경:
|
||||
- 3번째 인자: `PermanentUpgradeState | any[]` (하위 호환성 유지)
|
||||
- 4번째 인자: `inventory?: any[]` (옵셔널)
|
||||
- Permanent Upgrade 파이프라인:
|
||||
- HP_MAX: `eff.maxHp += level` (레벨당 +1 HP)
|
||||
- ATTACK: `eff.dmg *= (1 + level * 0.05)` (레벨당 +5%)
|
||||
- SPEED: `eff.speed *= (1 + level * 0.04)` (레벨당 +4%)
|
||||
- MAGNET: `magnetRadius = 180 + level * 30` (레벨당 +30px)
|
||||
- GOLD_GAIN: `eff.goldGainBonus = level * 0.10` (경제 시스템용 계수)
|
||||
|
||||
### 6. 호출부 동기화
|
||||
- `useGameEngine.ts` L110: `calculateEffectiveStats('FALCON', equipped, permanentUpgrades, inventory)`
|
||||
- `HangarOverlay.tsx` L27: `useMemo` 의존성 배열에 `permanentUpgrades` 추가 → 구매 즉시 미리보기 갱신
|
||||
|
||||
## 🧠 사용한 지식 (Knowledge Used)
|
||||
- **하위 호환성 패턴**: 3번째 인자 타입 분기(`Array.isArray`)로 기존 HangarOverlay 호출도 에러 없이 유지.
|
||||
- **EVO 설계 원칙**: 기반 스킬(aoe_nova)의 최대 레벨 도달 + 보조 스킬(energy_shield) 보유를 EVO 조건으로 하여 조합 전략성 부여.
|
||||
- **Signal Pattern**: `eff.novaGuardianShield`, `eff.novaBurstCooldown`, `eff.novaBurstRadiusBonus`를 EffectiveStats에 플래그로 전달하여 WeaponSystem이 렌더러/로직에 결합 없이 EVO 상태를 인식.
|
||||
|
||||
## ✅ 결과 (Result)
|
||||
- TypeScript 에러 0개
|
||||
- 수정 파일: 7개 (evolutions.ts, ProgressionSystem.ts, ModularWeaponSystem.ts, GameRenderer.ts, combatUtils.ts, useGameEngine.ts, HangarOverlay.tsx)
|
||||
- Git Commit: `cefd1a2` (feat_nova_guardian_evo_permanent_upgrade_stat_injection)
|
||||
- Push 완료: `origin/main`
|
||||
|
||||
## 🔗 연결 지식 (Relevant Knowledge)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\Game-Design (EVO Design, Skill Max Level, Meta-Progression)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\Software-Architecture (Signal Pattern, Backward Compatibility, Pipeline Design)
|
||||
- E:\Wiki\2nd\10_Wiki\Topics\UI-UX (Canvas Ring Rendering, Color Palette Branching)
|
||||
@@ -0,0 +1,113 @@
|
||||
# 🛡️ Skybound: Boss Battle System & Damage Architecture
|
||||
|
||||
이 문서는 Skybound 프로젝트의 보스전 메커니즘과 데미지 계산 체계를 정의합니다. 향 후 새로운 보스가 추가될 때, 이 문서의 **[Data Schema]**를 참조하여 `BossDefinition` 객체를 생성하십시오.
|
||||
|
||||
---
|
||||
|
||||
## 1. [Core] Damage & Shield System (데미지 체계)
|
||||
|
||||
플레이어 기체의 생존은 '장갑(Shield)' 게이지에 의존하며, 피탄 유형에 따라 감쇄율이 다릅니다.
|
||||
|
||||
### 📊 기체별 피탄 감쇄율 (Damage Multiplier)
|
||||
| 플레이어 기체명 | 탄환 피탄 시 (Projectile) | 충돌 시 (Collision/Crash) |
|
||||
| :--- | :---: | :---: |
|
||||
| **아즈마 (Azuma)** | 17% 감소 | 34% 감소 (2x) |
|
||||
| **스피릿 오브 드래곤** | 13% 감소 | 26% 감소 (2x) |
|
||||
| **물랑 루즈 (Mulang Rouge)** | 20% 감소 | 40% 감소 (2x) |
|
||||
|
||||
> **Rule**: 모든 충돌(Collision) 데미지는 탄환 피탄 데미지의 정확히 **2배**를 적용한다.
|
||||
|
||||
---
|
||||
|
||||
## 2. [Architecture] Boss Implementation Schema (보스 구현 구조)
|
||||
|
||||
새로운 보스를 추가할 때는 아래의 `BossDefinition` 인터페이스를 구현하는 클래스를 생성하십시오. 확장성을 위해 **Phase(형태)**를 리스트로 관리합니다.
|
||||
|
||||
### 🧬 Boss Definition Interface
|
||||
```typescript
|
||||
interface BossDefinition {
|
||||
id: string; // 예: 'STAGE_01_PLATON'
|
||||
name: string; // 보스 명칭
|
||||
totalPhases: number; // 총 형태 수 (2 or 📋)
|
||||
|
||||
phases: Array<{
|
||||
phaseIndex: number; // 1, 2, 3...
|
||||
description: string; // 해당 페이즈의 특징
|
||||
attackPatterns: Pattern[]; // 이 페이즈에서 사용 가능한 패턴 리스트
|
||||
transformationTrigger: string | null; // 다음 페이즈로 넘어가는 조건
|
||||
}>;
|
||||
|
||||
warningSequence: {
|
||||
audioSfx: string; // 경고음 ID
|
||||
cameraEffect: 'ZOOM_IN' | 'SHAKE'; // 카메라 연출
|
||||
};
|
||||
}
|
||||
|
||||
interface Pattern {
|
||||
type: 'DIRECT_FIRE' | 'SPREAD' | 'WINDER' | 'DRIFT' | 'AOE';
|
||||
projectileType: 'NORMAL' | 'DESTRUCTIBLE' | 'GREEN_HAZARD';
|
||||
complexity: number; // 탄창의 밀도 및 난이도
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. [Database] Boss Patterns Registry (보스별 데이터)
|
||||
|
||||
### ⚔️ Stage 1: 플라톤 (Platon) [2 Phases]
|
||||
* **Phase 1**: 기생 전투기 2대 소환 $\rightarrow$ 플레이어 조준 4점사 및 저격탄 발사.
|
||||
* **Phase 2**: 본체 등장 $\rightarrow$ 날개 충전식 포(2), 직선 기총(6), 파괴 가능 탄(4)을 통한 정밀 사격.
|
||||
|
||||
### ⚔️ Stage 2: 그레이트 혼 (Great Horn) [2 Phases]
|
||||
* **Phase 1**: 조준탄 $\rightarrow$ 회오리탄 $\rightarrow$ 드릴(파일벙커) 및 돌덩이 투척.
|
||||
* **Phase 2**: 전방 팽이 포탑 배치 $\rightarrow$ 일렬탄 난사 및 전방 돌진 $\rightarrow$ 좌우 산탄/조준탄 복합 패턴.
|
||||
|
||||
### 🦑 Stage 3: 크라켄 (Kraken) [3 Phases]
|
||||
* **Phase 1 (Ship Form)**: 직선 함포, 고속 조준탄, 기뢰 투척, 탄뭉텅이 생성.
|
||||
* **Phase 2 (Transformed)**: 함체 뒤집힘 $\rightarrow$ 초고속 방사(5/7점사), 잠수 후 미사일, 5-way 이중 조준탄.
|
||||
* **Phase 3 (Land/Flight Form)**: 4족 보행 비행형 $\rightarrow$ 파괴 가능 탄량사, 주포 3점사, 중앙 돌진 패턴.
|
||||
|
||||
### 🦋 Stage 4: 스파이스 버드 (Spice Birds) [2 Phases]
|
||||
* **Phase 1**: 광역 조준탄 $\rightarrow$ 화면 이동 후 산탄(4회) $\rightarrow$ 대각선 연사 및 빈 공간 탄 형성.
|
||||
* **Phase 2 (Split)**: 본체 분리(호버 탱크 2대) $\rightarrow$ 전체 화면 회오리탄 $\rightarrow$ 3-way 및 산탄 난사.
|
||||
|
||||
### 🐝 Stage 5: 블로우 오브 호른 (Blow of Hornet) [3 Phases]
|
||||
* **Phase 1**: 회오리탄(3~5발) 이중 난사, 고속 광역 조준탄, 2연속 록온 레이저.
|
||||
* **Phase 2**: 연사탄 좌우 발사 $\rightarrow$ 고속 광역탄 $\rightarrow$ 노란색 경고 표시 광역 레이저 투하.
|
||||
* **Phase 3**: 중앙 코어 거대 레이저(이동 제한) $\rightarrow$ 양옆 포의 조준탄 및 초고속 확산탄.
|
||||
|
||||
### 🚂 Stage 6: 쉬프트 메시아 (S.H.I.F.T Messiah) [3 Phases]
|
||||
* **Phase 1**: 열차 1대 $\rightarrow$ 와인더(침탄줄)로 플레이어 가둠 $\rightarrow$ 고속 조준탄 및 촘촘한 탄막.
|
||||
* **Phase 2 (Armor Up)**: CIWS 개틀링, 3포신 포탑 고속탄, 랜덤탄, 화염방사 패턴 추가.
|
||||
* **Phase 3 (Triple Threat)**: 열차 3대 동시 등장 $\rightarrow$ 광역 공격, 중형 미사일, 랜덤탄 및 화염방사 합동 공격.
|
||||
|
||||
### 👼 Stage 7: 콜로니 엔젤 (Colony Angel) [3 Phases]
|
||||
* **Phase 1**: 다리(6개) 파괴 단계 $\rightarrow$ 각 다리를 순차적으로 제거.
|
||||
* **Phase 2**: 고속 원형 확산탄 및 조준탄 대량 투하.
|
||||
|
||||
* **Phase 3 (Final Form)**: 상부 회전 $\rightarrow$ 초고속 와인더 탄줄 + 고속 조준탄 $\rightarrow$ 이중 회전 탄줄 발악 패턴.
|
||||
|
||||
### 👑 Stage 8: 최종 보스 (Ultimate Boss) [3 Phases]
|
||||
* **Boss A: 험프티 덤프티 (Humpty Dumpty)**: 3단계 진행 $\rightarrow$ 최종 단계에서 초고속 확산탄 및 고속 조준탄 연사.
|
||||
* **Boss B: 디바인 램파트 (Divine Rampart)** *(조건: 모든 무기 Lv.10)*
|
||||
* **Phase 1**: 초고속 회오리탄 + 6-way 와인더 탄줄.
|
||||
* **Phase 2**: 전함 3대 사출 $\rightarrow$ 전함들의 조준탄/회전탄/확산탄 합동 공격.
|
||||
* **Final Phase**: 본체 회전 및 무수한 탄량사 $\rightarrow$ 순간 이동 후 광폭화 패턴 반복.
|
||||
|
||||
|
||||
## 4. [Level Design] 보스전 난이도 조절 메커니즘 (Difficulty Scaling)
|
||||
|
||||
보스전의 재미는 '예측 가능한 위협'과 '극복하기 힘든 압박' 사이의 균형에 있습니다. 다음 요소를 활용하여 스테이지별 난이도를 설계하십시오.
|
||||
|
||||
### 📈 난이도 곡선 제어 요소
|
||||
* 탄환 밀도 (Bullet Density): Pattern.complexity 값을 조절하여 탄창의 빈틈을 줄입니다. 초반부에는 플레이어가 피할 공간(Safe Zone)을 확보해주고, 후반부로 갈수록 탄창 사이의 간격을 최소화합니다.
|
||||
* 공격 패턴의 복합성 (Pattern Layering):
|
||||
* Phase 1: 단일 방향성 공격 (예: 직선 기총).
|
||||
* Phase 2: 다방향성 + 물리적 방해 (예: 회오리탄 + 돌덩이 투척).
|
||||
* Phase 3: 플레이어의 이동을 제한하는 '환경 제약'형 패턴 (예: 거대 레이저로 인한 구역 제한).
|
||||
* 공격 주기 (Attack Frequency): Cooldown 값을 줄여 공격 사이의 공백을 없앰으로써 플레이어가 반격할 타이밍을 극도로 제한합니다.
|
||||
|
||||
### ⚠️ 위험 요소 관리 (Hazard Integration)
|
||||
보스전은 단순히 보스만 등장하는 것이 아니라, 주변 환경(Stage Environment)과의 상호작용이 필수적입니다.
|
||||
* 환경 장애물: 보스가 파괴 가능한 부속물(예: Stage 1의 날개 끝 포, Stage 3의 기뢰)을 생성하여 플레이어의 이동 경로를 물리적으로 차단하게 설계합니다.
|
||||
* 데미지 누적 압박: Spike 이벤트를 활용하여 특정 시간대에 탄환 밀도를 폭발적으로 증가시켜, 플레이어가 '생존'에만 집중하게 만드는 구간을 배치합니다.
|
||||
@@ -0,0 +1,46 @@
|
||||
# [TECH-REPORT] Skybound Boss Battle Architecture (v1.0)
|
||||
**Date**: 2026-04-22
|
||||
**Author**: Antigravity (Dev Lead)
|
||||
**Status**: COMPLETED / STABLE
|
||||
|
||||
## 1. 개요 (Overview)
|
||||
Skybound Protocol의 8단계 캠페인 시스템 완성을 위한 '데이터 주도형 보스 전투 시스템'의 구현 상세를 기록한다. 본 시스템은 하드코딩된 보스 로직을 탈피하고, 외부 레지스트리 기반의 페이즈 제어 및 플레이어 숙련도(Mastery)에 따른 최종 보스 분기 로직을 핵심으로 한다.
|
||||
|
||||
## 2. 주요 구현 사항 (Key Implementations)
|
||||
|
||||
### 2.1 기체별 데미지 감쇄 시스템 (Damage Mitigation)
|
||||
- **목적**: 기체(Airframe)별 개성을 강화하고 생존 전략의 차별화 제공.
|
||||
- **로직**: `CombatSystem.ts` 내 피격 판정 시 `GAME_BALANCE`의 감쇄율 적용.
|
||||
- **수치**:
|
||||
- **FALCON**: 탄환 -17% / 충돌 -34%
|
||||
- **RAYCE**: 탄환 -13% / 충돌 -26%
|
||||
|
||||
### 2.2 보스 레지스트리 아키텍처 (Boss Registry)
|
||||
- **파일**: `src/features/game/config/bossRegistry.ts`
|
||||
- **역할**: 스테이지별 보스 데이터(이름, ID, 페이즈 구성, 패턴 밀도)의 Single Source of Truth.
|
||||
- **특징**: `resolveNextPhase()` 유틸리티를 통해 HP 임계값, 부하 기체 전멸(`MINIONS_CLEARED`), 부품 파괴 등 다양한 조건에 따른 동적 페이즈 전환 지원.
|
||||
|
||||
### 2.3 최종 보스 분기 로직 (Mastery Branching)
|
||||
- **위치**: `StageDirectorSystem.ts` -> `instantiateBoss()`
|
||||
- **조건**: 인게임 모든 업그레이드(6종)가 **Level 10 (Mastery)**에 도달했는지 체크.
|
||||
- **분기**:
|
||||
- **Normal**: 험프티 덤프티 (Humpty Dumpty)
|
||||
- **Mastery**: 디바인 램파트 (Divine Rampart) - 기본 체력 1.5배 증가 및 4단계 페이즈 구성.
|
||||
|
||||
## 3. 데이터 구조 (Data Structure)
|
||||
|
||||
```typescript
|
||||
export interface BossPhase {
|
||||
phaseIndex: number;
|
||||
attackPatterns: Pattern[];
|
||||
transformationTrigger: 'HP_THRESHOLD' | 'ALL_PARTS_DESTROYED' | 'MINIONS_CLEARED' | null;
|
||||
hpThreshold: number | null;
|
||||
}
|
||||
```
|
||||
|
||||
## 4. 향후 유지보수 가이드 (Maintenance)
|
||||
- **보스 추가**: `bossRegistry.ts`의 `BOSS_REGISTRY` 배열에 신규 `BossDefinition`을 추가하는 것만으로 신규 보스 및 페이즈 설계 가능.
|
||||
- **밸런스 조정**: `balance.ts`의 `PLAYER.AIRFRAMES` 섹션에서 감쇄율 수치 즉시 조정 가능.
|
||||
|
||||
---
|
||||
**Approval Status**: 🫡 (Kodari Approved)
|
||||
Vendored
+1
-1
@@ -17,6 +17,6 @@
|
||||
"repelStrength": 10,
|
||||
"linkStrength": 1,
|
||||
"linkDistance": 250,
|
||||
"scale": 0.015355906606692529,
|
||||
"scale": 0.16348370567220236,
|
||||
"close": true
|
||||
}
|
||||
+4
-4
@@ -178,6 +178,9 @@
|
||||
},
|
||||
"active": "5e19c94f304a33d1",
|
||||
"lastOpenFiles": [
|
||||
"Skybound/05_Project_Issues/2026-04-22_Engine_Stability_Audit.md",
|
||||
"Skybound/01_Core_Engine/Visual_Feedback_Signal_Pattern.md",
|
||||
"Skybound/04_Mechanics_Progression/Meta_Economy_Growth_Loop.md",
|
||||
"10_Wiki/💡 Topics/Graphics & Performance.md",
|
||||
"10_Wiki/💡 Topics",
|
||||
"10_Wiki",
|
||||
@@ -206,9 +209,6 @@
|
||||
"React_Testing_Strategy.md",
|
||||
"React_Clean_Code_Best_Practices.md",
|
||||
"React_State_Management_Strategy.md",
|
||||
"React_Performance_Optimization.md",
|
||||
"Component_Design_Patterns.md",
|
||||
"React_Hooks_Deep_Dive.md",
|
||||
"React_Mental_Model.md"
|
||||
"React_Performance_Optimization.md"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
# 🛠️ Git Operation & Work Log Protocol (Git 작업 및 기록 지침)
|
||||
|
||||
> **카테고리**: [[03_DevOps_Environment]], [[Automation]]
|
||||
> **상태**: 🟢 활성화 (Active)
|
||||
> **최종 업데이트**: 2026-04-22
|
||||
|
||||
---
|
||||
|
||||
## 📌 개요 (Overview)
|
||||
본 문서는 Skybound 프로젝트를 포함한 4개 주요 개발 거점의 원격 저장소 동기화 정합성을 유지하고, 모든 AI 작업 과정을 체계적으로 문서화하기 위한 Git 운영 규정 및 작업 로그(Work Log) 시스템을 정의한다.
|
||||
|
||||
## 🔗 프로젝트별 Git 맵핑 (Repository Mapping)
|
||||
대표님의 명령 한마디로 정확한 경로에서 작업을 수행하기 위해 각 폴더별로 독립적인 Git 설정을 유지한다.
|
||||
|
||||
| 프로젝트 | 로컬 경로 | 원격 저장소 (Remote URL) | 리모트 명칭 |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **Wiki (2nd)** | `E:\Wiki\2nd` | `https://github.com/wonseokjung/solopreneur-ai-agents.git` | `lm_sync` |
|
||||
| **Skybound** | `E:\Wiki\skybound` | `https://github.com/wonseokjung/skybound-protocol.git` | `origin` |
|
||||
| **Legal** | `E:\Wiki\legal-bridge` | `https://github.com/wonseokjung/legal-bridge.git` | `origin` |
|
||||
| **Agent** | `E:\Wiki\auto-research-agent`| `https://github.com/wonseokjung/auto-research-agent.git` | `origin` |
|
||||
|
||||
## 🛠️ 운영 지침 (Operational Guidelines)
|
||||
|
||||
### 1. 동기화 프로토콜 (Full Sync)
|
||||
- **주기**: 모든 작업 세션 시작 전 및 종료 후.
|
||||
- **명령**: `git pull <remote> <branch>` (일반적으로 main).
|
||||
- **목적**: 로컬 작업 환경과 원격 저장소의 정합성 확보 및 충돌 방지.
|
||||
|
||||
### 2. 작업 로그 시스템 (Work Log)
|
||||
- **생성 경로**: `E:\Wiki\2nd\00_Raw`
|
||||
- **파일명 규칙**: `YYYY-MM-DD_Task_Description.md`
|
||||
- **필수 포함 항목**:
|
||||
- **What**: 작업 내용 요약.
|
||||
- **Why**: 작업의 의도 및 목적.
|
||||
- **How**: 주요 코드 수정 내역 및 기술적 처리 과정.
|
||||
- **Knowledge**: 사용된 지식 및 새롭게 습득한 패턴.
|
||||
- **Result**: 최종 결과 및 관련 연결 지식.
|
||||
|
||||
### 3. 위키화 (Wikification)
|
||||
- `00_Raw`에 축적된 로그는 주기적으로 `10_Wiki\Topics` 하위 카테고리로 고도화(Refinement)되어 이동된다.
|
||||
- 위키화가 완료된 원본 로그는 삭제하여 지식 베이스의 정결성을 유지한다.
|
||||
|
||||
## 🚀 기대 효과
|
||||
1. **정확성**: 경로 혼선으로 인한 Git 작업 오류 0건 유지.
|
||||
2. **지속성**: AI의 모든 작업 과정이 지식 자산(OPA)으로 축적되어 지식 베이스 강화.
|
||||
3. **신뢰성**: 대표님의 명령에 따른 즉각적이고 투명한 히스토리 관리.
|
||||
|
||||
---
|
||||
**승인인**: AI 개발부장 코다리 🫡
|
||||
**관련 문서**: [[GIT_PROTOCOL.md]], [[WIKIFICATION_PROTOCOL.md]]
|
||||
@@ -0,0 +1,29 @@
|
||||
# 🚩 Git Synchronization & Knowledge Mesh Protocol
|
||||
|
||||
**Category:** Governance / DevOps
|
||||
**Status:** Active (v1.0)
|
||||
**Related:** [[Skybound-Knowledge-Hub|Knowledge Hub]], [[WIKIFICATION_PROTOCOL|Wikification Protocol]]
|
||||
|
||||
---
|
||||
|
||||
## 1. Dual-Repository Structure
|
||||
Skybound 프로젝트는 '코드'와 '지식'의 분리 및 유기적 결합을 위해 이중 리포지토리 체계를 유지한다.
|
||||
|
||||
- **Skybound (Dev)**: 인게임 소스 코드 (React/Vite/TS).
|
||||
- **Wiki (Knowledge)**: 시스템 설계, 연구 보고서, 지식망 (Obsidian/Markdown).
|
||||
|
||||
## 2. Synchronization Workflow
|
||||
|
||||
### A. Development Logging
|
||||
- 모든 주요 테스크 완료 후 `00_Raw` 폴더에 `YYYY-MM-DD_Subject.md` 형식으로 작업 내역을 즉시 기록한다.
|
||||
|
||||
### B. Commit Strategy
|
||||
- **Independent Commits**: 각 리포지토리의 변경 사항은 독립적으로 관리한다.
|
||||
- **Session Finalization**: 작업 세션 종료 전, 지식 베이스의 실시간 동기화를 위해 Wiki 리포지토리를 반드시 Push한다.
|
||||
|
||||
## 3. Knowledge Maturation (지식의 숙성)
|
||||
- `00_Raw` (원석) → `10_Wiki` (정제 및 링크) → `Knowledge Hub` (지형도 완성)
|
||||
- 모든 기술적 의사결정은 `knowledge` 디렉토리 내의 KI(Knowledge Item)로 자산화하여 미래의 AI 및 팀원에게 전수한다.
|
||||
|
||||
---
|
||||
**Last Updated:** 2026-04-22 🫡
|
||||
@@ -0,0 +1,39 @@
|
||||
# 🎨 Visual Feedback & Signal Pattern (시각적 피드백 및 신호 패턴)
|
||||
|
||||
> **카테고리**: [[Skybound]], [[UI-UX]], [[Graphics & Performance]]
|
||||
> **상태**: 🔵 표준화 완료 (Standardized)
|
||||
> **최종 업데이트**: 2026-04-22
|
||||
|
||||
---
|
||||
|
||||
## 📌 개요 (Overview)
|
||||
Skybound의 렌더링 시스템은 게임 로직(ModularWeaponSystem 등)과 렌더러(GameRenderer) 간의 결합도를 낮추기 위해 'Auto-decay Signal Pattern'을 사용한다. 이를 통해 복잡한 애니메이션 상태 관리 없이도 화려한 특수 효과를 구현한다.
|
||||
|
||||
## 🛠️ 핵심 디자인 패턴 (Core Patterns)
|
||||
|
||||
### 1. Auto-decay Signal Pattern
|
||||
- **작동 원리**: 로직 시스템에서 시각 효과가 필요할 때, 공유 `state` 객체에 짧은 생명주기(timer)를 가진 신호 객체를 기록한다.
|
||||
- **예시 (Nova Burst)**:
|
||||
```typescript
|
||||
state.novaBurstRingEffect = { x, y, radius, level, timer: 20 };
|
||||
```
|
||||
- **렌더러 동작**: `GameRenderer`는 매 프레임 해당 신호가 있는지 확인하고, 있으면 그림을 그린 뒤 `timer--`를 수행한다. 타이머가 0이 되면 신호는 자연 소멸한다.
|
||||
- **장점**: 로직과 렌더링 레이어의 완벽한 분리, 시스템 간 의존성 최소화.
|
||||
|
||||
### 2. Multi-Layer Canvas Compositing
|
||||
화려한 연출을 위해 단일 `arc`가 아닌 여러 레이어의 합성(Compositing)을 사용한다.
|
||||
- **Base Layer**: 중심점에서의 강한 플래시 (Radial Gradient).
|
||||
- **Shockwave Layer**: 시간에 따라 확장되며 얇아지는 메인 링.
|
||||
- **Spike/Particle Layer**: 방향성을 가진 스파이크 라인 및 파티클 방출.
|
||||
- **Color Branching**: 일반 스킬은 청록(#00e5ff), EVO 스킬(Nova Guardian)은 황금(#ffd700) 팔레트를 사용하여 위계 차별화.
|
||||
|
||||
### 3. Screen Shake & Damage Text
|
||||
- **Shake Intent**: 강력한 타격 시 `SCREEN_SHAKE` 인텐트를 발행하여 카메라 좌표에 노이즈를 가산.
|
||||
- **Floating Text**: 획득 보상(Gold, Pass Points)이나 데미지를 색상별로 구분하여 플로팅 텍스트로 처리.
|
||||
|
||||
## 💡 성능 최적화 (Optimization)
|
||||
- 모든 렌더링은 `Canvas 2D API`의 `globalAlpha`와 `save/restore` 스택을 활용하여 상태 오염을 방지하고 성능 부하를 최소화함.
|
||||
|
||||
---
|
||||
**승인인**: AI 개발부장 코다리 🫡
|
||||
**관련 코드**: `GameRenderer.ts`, `ModularWeaponSystem.ts`, `useGameEngine.ts`
|
||||
@@ -0,0 +1,41 @@
|
||||
# 👾 Boss Encounter & Timeline Design
|
||||
|
||||
**Category:** Combat Design / Level Design
|
||||
**Status:** Optimized (v12.1)
|
||||
**Related:** [[02_Combat_AI/Combat-System-and-Bullet-Interaction-Pipeline|Combat System]], [[04_Mechanics_Progression/Campaign_and_Dual_Loop_System|Campaign System]]
|
||||
|
||||
---
|
||||
|
||||
## 1. Timeline Compression Strategy
|
||||
Skybound의 전투는 '긴장감의 밀도'를 최우선으로 한다. 기존의 지루한 대기 시간을 제거하고 핵심 인카운터를 전면에 배치한다.
|
||||
|
||||
### A. Accelerated Engagement
|
||||
- **초반 30초**: 기본 적 편대와의 교전으로 빌드업.
|
||||
- **60초 지점**: 중간 보스 또는 특수 기믹 적기 등장.
|
||||
- **120초 지점**: 스테이지 최종 보스 조우 (기존 대비 50% 단축).
|
||||
|
||||
### B. Power Spike Reward
|
||||
- 보스 조우 30초 전, 확정적인 **AoE/Knockback** 스킬 보상을 지급하여 보스전의 '화력 투사' 준비를 도움.
|
||||
|
||||
---
|
||||
|
||||
## 2. Advanced Boss Mechanics
|
||||
|
||||
### 🛡️ Multi-Part Destruction (부위 파괴)
|
||||
보스는 단일 개체가 아닌 다중 파츠의 집합체로 구성된다.
|
||||
- **Core (핵심)**: 보스의 생명력. 파괴 시 최종 승리.
|
||||
- **Wings (날개)**: 보스의 이동 속도 및 회피 기동 제어. 파괴 시 기동성 50% 저하.
|
||||
- **Turrets (포탑)**: 주력 화력. 파괴 시 특정 공격 패턴(예: 탄막 방사) 봉쇄.
|
||||
|
||||
### 📊 Loot Integration
|
||||
- **Guaranteed Drop**: 보스 처치 시 최소 Rare 등급 이상의 모듈 확정 드롭.
|
||||
- **Scaling Loot**: 스테이지 인덱스가 높을수록 전설(Legendary) 등급 드롭률 지수적 상승.
|
||||
|
||||
---
|
||||
|
||||
## 3. Deployment Logic
|
||||
- **Module**: `CombatTimeline.ts`, `ProgressionSystem.ts`
|
||||
- **Configuration**: `getStandardTimeline()` 팩토리 함수를 통한 스테이지별 특화 타임라인 생성.
|
||||
|
||||
---
|
||||
**Last Updated:** 2026-04-22 🫡
|
||||
@@ -0,0 +1,45 @@
|
||||
# ♾️ Campaign & Dual-Loop Architecture
|
||||
|
||||
**Category:** Core System / Economy
|
||||
**Status:** Implemented (v12.1)
|
||||
**Related:** [[04_Mechanics_Progression/InGame_Progression_System|In-Game Progression]], [[04_Mechanics_Progression/Meta_Economy_Growth_Loop|Meta-Economy]]
|
||||
|
||||
---
|
||||
|
||||
## 1. Concept: The Dual-Loop Strategy
|
||||
Skybound는 두 가지 서로 다른 성격의 플레이 루프를 유기적으로 결합하여 지속적인 동기부여와 성장을 도모한다.
|
||||
|
||||
### A. Blitz Loop (Farming)
|
||||
- **성격**: 무한 경쟁, 자원 획득 중심.
|
||||
- **목표**: 최대한 많은 [[04_Mechanics_Progression/Meta_Economy_Growth_Loop|Gold]]와 모듈 파편을 획득.
|
||||
- **연계**: 여기서 벌어들인 골드는 캠페인 모드의 난이도를 낮추는 결정적인 자원이 된다.
|
||||
|
||||
### B. Campaign Loop (Standard)
|
||||
- **성격**: 기승전결이 있는 시나리오 기반 도전.
|
||||
- **목표**: 8단계의 스테이지를 클리어하여 세계관을 확장하고 고유 보상을 획득.
|
||||
- **연계**: 클리어 시 더 높은 등급의 크래프팅 도면과 특수 기체(Airframe)를 해금.
|
||||
|
||||
---
|
||||
|
||||
## 2. Core Components
|
||||
|
||||
### 🛰️ StageManager (Orchestrator)
|
||||
스테이지의 진행 상태와 모드 간의 데이터를 브릿징하는 싱글톤 시스템.
|
||||
- **Stage Persistence**: 클리어한 스테이지 정보를 브라우저 LocalStorage에 영구 보존.
|
||||
- **Tactical Support**: Blitz에서 번 500G를 소모하여 다음 스테이지 보스의 방어력을 10% 삭감 (최대 중첩 가능).
|
||||
|
||||
### ⏳ Dynamic Timeline Scaling
|
||||
스테이지 번호에 따라 엔진의 난이도 계수(`Difficulty Multiplier`)를 실시간 조정.
|
||||
- **Scaling Formula**: `1.0 + (stageIndex * 0.35)`
|
||||
- **Stage 1**: 1.0x (입문)
|
||||
- **Stage 8**: 3.45x (극한의 도전)
|
||||
|
||||
---
|
||||
|
||||
## 3. Technical Implementation
|
||||
- **Data Source**: `StageManager.ts`
|
||||
- **UI Interaction**: `HangarOverlay.tsx`, `ResultCard.tsx`
|
||||
- **Logic Guard**: `useGameEngine.ts` (일시정지 동기화 보강)
|
||||
|
||||
---
|
||||
**Last Updated:** 2026-04-22 🫡
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
# 📈 Combat Timeline & Difficulty Scaling (전투 타임라인 및 난이도 조절 시스템)
|
||||
|
||||
> **카테고리**: [[Skybound]], [[Game Design]], [[Software Architecture]]
|
||||
> **상태**: 🔵 구현 완료 (Implemented)
|
||||
> **최종 업데이트**: 2026-04-22
|
||||
|
||||
---
|
||||
|
||||
## 📌 개요 (Overview)
|
||||
Skybound의 전투 시스템은 단순히 무작위로 적을 생성하는 것을 넘어, 시간 흐름에 따른 긴장감의 완급 조절(Difficulty Curve)과 성능 최적화(Staggered Spawn)를 동시에 달성하는 스크립트 기반 타임라인 시스템을 채택한다.
|
||||
|
||||
## 🛠️ 시스템 아키텍처 (Architecture)
|
||||
|
||||
### 1. 데이터 레이어: `CombatTimeline.ts`
|
||||
- **StageMode**: `STANDARD`(15분) 및 `BLITZ`(8분) 모드 지원.
|
||||
- **DifficultyPhase**: 페이즈별 난이도 배율(`diffMult`), 스폰 간격 배율(`spawnIntervalMult`), 최대 개체수(`maxEnemyCount`) 정의.
|
||||
- **WaveTrigger**: 특정 시간(초)에 발생하는 스크립트 기반 웨이브. 적 유형, 밀도, 스파이크 여부, 화면 흔들림 효과 등을 포함.
|
||||
|
||||
### 2. 제어 레이어: `StageDirectorSystem.ts` (v2.0)
|
||||
- **Time-Based Tick**: 매 프레임 타임라인을 체크하여 현재 페이즈와 활성화될 트리거를 수집.
|
||||
- **Intent Dispatching**: 페이즈 전환(`STAGE_TRANSITION`), 스크립트 스폰(`SCRIPTED_SPAWN`), 보상 발행(`PERMANENT_REWARD`) 등의 인텐트를 엔진에 전달.
|
||||
- **Death Trap Avoidance**: 스파이크(Spike) 구간 진입 30초 전, 플레이어의 레벨업을 돕기 위해 EXP 젬 밀도를 일시적으로 2배 강화(`EXP_DENSITY_BOOST`).
|
||||
|
||||
### 3. 실행 레이어: `SpawnerSystem.ts` (v2.0)
|
||||
- **Staggered Spawn Pattern**: 대량의 적 스폰 시 프레임 드랍을 방지하기 위해 `MAX_SWARM_BATCH`(6유닛)를 `SWARM_SPAWN_GAP`(3프레임) 간격으로 분산 생성.
|
||||
- **Hard Cap Protection**: 필드 내 총 적 개체수를 `MAX_ENEMIES_HARD_CAP`(30)으로 제한하여 시스템 부하 방지.
|
||||
|
||||
## 💡 주요 설계 원칙 (Design Principles)
|
||||
|
||||
### 1. 긴장감 곡선 (Tension Curve)
|
||||
- 무작위 스폰은 플레이어에게 지루함을 줄 수 있으므로, 명확한 'Spike' 구간과 'Recovery' 구간을 배치하여 도파민 분비를 최적화함.
|
||||
|
||||
### 2. 성능 중심 설계 (Performance-First)
|
||||
- Object Pooling과 Staggered Spawn을 결합하여 모바일/웹 환경에서도 부드러운 전투 환경 제공.
|
||||
|
||||
### 3. UX 연속성 (UX Continuity)
|
||||
- 보스 처치 후 단순히 게임이 끝나는 것이 아니라, 영구 성장 시스템(`PERMANENT_REWARD`)과 연계하여 다음 플레이로의 동기를 부여함.
|
||||
|
||||
---
|
||||
**승인인**: AI 개발부장 코다리 🫡
|
||||
**관련 코드**: `StageDirectorSystem.ts`, `SpawnerSystem.ts`, `CombatTimeline.ts`
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
# 🛠️ Equipment Crafting & Synthesis System
|
||||
|
||||
**Category:** Economy / Progression
|
||||
**Status:** Feature Complete
|
||||
**Related:** [[04_Mechanics_Progression/Meta_Economy_Growth_Loop|Meta-Economy]], [[04_Mechanics_Progression/Campaign_and_Dual_Loop_System|Campaign System]]
|
||||
|
||||
---
|
||||
|
||||
## 1. System Overview
|
||||
Skybound의 장비 시스템은 '획득'보다 '연성'과 '진화'에 초점이 맞춰져 있다. 플레이어는 필드에서 얻은 파편을 모아 강력한 기체 모듈을 직접 제작한다.
|
||||
|
||||
## 2. Core Mechanics
|
||||
|
||||
### ✨ Cosmic Cast (기본 연성)
|
||||
- **대상**: 일반(Common) ~ 희귀(Rare) 등급 모듈.
|
||||
- **방식**: 동일 등급의 모듈 3개를 소모하여 상위 등급 모듈 1개를 무작위 생성.
|
||||
- **성공률**: 100%.
|
||||
|
||||
### ☄️ Astral Forge (고급 합성)
|
||||
- **대상**: 희귀(Rare) ~ 전설(Legendary) 등급 모듈.
|
||||
- **방식**: 특정 레시피와 특수 자원(Cosmic Dust)을 소모하여 능력치가 강화된 커스텀 모듈을 제작.
|
||||
- **특이사항**: 낮은 확률로 'Overclocked' 옵션이 붙은 변종 기체 파츠가 탄생할 수 있음.
|
||||
|
||||
---
|
||||
|
||||
## 3. Modular Management
|
||||
|
||||
### 🔍 Metadata & Tracking
|
||||
- **isNew System**: 새로 획득한 아이템에 시각적 알림(Red Dot)을 부여하고, 확인 시 제거하는 UX 로직 포함.
|
||||
- **Category Labels**: (A)ttack, (E)ngine, (W)eapon 등 모호한 약어를 제거하고 직관적인 텍스트 레이블로 전면 개편.
|
||||
|
||||
### 💰 Recycling (분해)
|
||||
- 불필요한 장비를 분해하여 합성 재료 및 골드 환급.
|
||||
- **Efficiency**: 고등급 장비일수록 재료 회수율이 기하급수적으로 증가.
|
||||
|
||||
---
|
||||
|
||||
## 4. Technical Integration
|
||||
- **Store**: `useGameStore.ts` (Inventory & Crafting Actions)
|
||||
- **UI**: `HangarOverlay.tsx`, `CraftingTab.tsx`
|
||||
|
||||
---
|
||||
**Last Updated:** 2026-04-22 🫡
|
||||
@@ -0,0 +1,38 @@
|
||||
# 🔄 In-Game Progression & Evolution (인게임 성장 및 진화 시스템)
|
||||
|
||||
> **카테고리**: [[Skybound]], [[Game Design]], [[Software Architecture]]
|
||||
> **상태**: 🔵 구현 완료 (Implemented)
|
||||
> **최종 업데이트**: 2026-04-22
|
||||
|
||||
---
|
||||
|
||||
## 📌 개요 (Overview)
|
||||
Skybound의 인게임 성장은 EXP 수집을 통한 레벨업, 3지선다 스킬 선택, 그리고 특정 조건 만족 시 발생하는 '진화(Evolution)'로 구성된다. 이 시스템은 게임 엔진의 상태 기계(State Machine)와 React UI 간의 단방향 데이터 흐름을 기반으로 동작한다.
|
||||
|
||||
## 🛠️ 핵심 메커니즘 (Core Mechanisms)
|
||||
|
||||
### 1. 레벨업 프로세스 (Level-Up Pipeline)
|
||||
- **EXP 수집**: 적 처치 시 드롭되는 젬을 수집하여 `exp` 게이지가 차오르면 트리거됨.
|
||||
- **Pause Gate Pattern**: 레벨업 발생 시 엔진은 즉시 `setPaused(true)`를 호출하여 인게임을 멈추고, `LEVEL_UP` 이벤트를 UI로 발송한다.
|
||||
- **결정론적 카드 생성**: 카드 풀은 UI가 아닌 `ProgressionSystem` 엔진 로직 내에서 생성되어 전달되므로, 엔진의 상태와 UI가 항상 동기화된다.
|
||||
- **Resume**: 플레이어가 카드를 선택하면 `applySkillSelection`을 통해 엔진 state가 업데이트되고 다시 `setPaused(false)`로 재개된다.
|
||||
|
||||
### 2. 진화 시스템 (Evolution / EVO)
|
||||
- **발동 조건**: 주 무기(Primary Skill)가 최대 레벨에 도달하고, 특정 보조 무기(Support Skill)를 보유하고 있을 때 다음 레벨업 시 발생.
|
||||
- **NOVA_GUARDIAN**: `aoe_nova` (Lv.3 MAX) + `energy_shield` (Lv.1+) 조합의 진화형.
|
||||
- **EVO 효과**: 단순히 데미지가 증가하는 것이 아니라, 쿨다운 대폭 감소, 반경 확장, 시각적 강화(황금색), 그리고 발동 시 짧은 무적(Shield Burst) 등의 유틸리티 성능이 추가된다.
|
||||
|
||||
### 3. 패시브 동기화 (Passive Sync)
|
||||
- 패시브 스킬(Fire Rate, Speed, Magnet)은 `syncPassives()`를 통해 매 프레임 플레이어의 `EffectiveStats`에 주입되어 즉각적인 성능 변화를 체감하게 한다.
|
||||
|
||||
## 💡 주요 설계 패턴 (Design Patterns)
|
||||
|
||||
### 1. TDZ (Temporal Dead Zone) 회피 패턴
|
||||
- `useGameEngine` 내에서 `ctx` 선언 전 클로저 참조 문제를 해결하기 위해 `let ctx` 선언 후 나중에 할당하는 패턴을 사용하여 초기화 안정성을 확보함.
|
||||
|
||||
### 2. 단방향 데이터 흐름 (Unidirectional Data Flow)
|
||||
- UI는 엔진의 상태를 직접 수정하지 않고, `applySkill` 콜백을 통해서만 의사결정을 엔진에 주입한다.
|
||||
|
||||
---
|
||||
**승인인**: AI 개발부장 코다리 🫡
|
||||
**관련 코드**: `ProgressionSystem.ts`, `evolutions.ts`, `GameSceneRenderer.tsx`, `useGameEngine.ts`
|
||||
@@ -0,0 +1,47 @@
|
||||
# 💰 Meta-Economy & Growth Loop (메타 경제 및 성장 루프)
|
||||
|
||||
> **카테고리**: [[Skybound]], [[Game Design]], [[Economics & Algorithms]]
|
||||
> **상태**: 🔵 구현 완료 (Implemented)
|
||||
> **최종 업데이트**: 2026-04-22
|
||||
|
||||
---
|
||||
|
||||
## 📌 개요 (Overview)
|
||||
Skybound의 장기 리텐션을 책임지는 메타 게임 시스템이다. 격렬한 인게임 세션이 종료된 후, 플레이어는 획득한 Gold와 자원을 사용하여 격납고(Hangar)에서 영구적인 성장을 도모한다.
|
||||
|
||||
## 🛠️ 시스템 구성 (System Components)
|
||||
|
||||
### 1. 영구 업그레이드 (Permanent Upgrade)
|
||||
- **Hangar Shop**: 인게임에서 획득한 Gold를 소모하여 HP, ATK, SPEED, MAGNET, GOLD_GAIN 등 5종의 스탯을 영구 강화.
|
||||
- **Stat Injection Engine**: 구매한 업그레이드 레벨은 매 세션 시작 시 `calculateEffectiveStats`를 통해 플레이어 기체에 즉시 주입됨.
|
||||
- **지수적 비용 곡선**: 후반부 성장을 위해 레벨업 비용이 지수적으로 증가(300~8000G)하도록 설계.
|
||||
|
||||
### 2. 크래프팅 경제 (Crafting Economy)
|
||||
아이템의 가치 보존과 인플레이션 방지를 위한 복합 제작 시스템이다.
|
||||
- **Disassemble (분해)**: 불필요한 장비를 분해하여 제작 재료(`Eternal Core`, `Destruction Core`, `TechMats`)를 확보.
|
||||
- **Cosmic Cast (코스믹 캐스트)**: 고가치의 재료를 대량 소모하여 자연 드롭으로 획득 불가능한 **SS급 장비**를 확정 제작.
|
||||
- **Astral Forge (아스트랄 포지)**: SS/LEGEND급 장비에 S급 장비를 제물로 바쳐 `forgeLevel`(+1~5)을 강화.
|
||||
- **TechPart Merge**: 동일 등급의 테크 파츠를 합성하여 스탯 보너스(`plusLevel`)를 강화.
|
||||
|
||||
### 3. 이벤트 패스 (Event Pass)
|
||||
- **Atomic Trigger**: 보스 처치, 스테이지 클리어 등 인게임 이벤트 발생 시 실시간으로 패스 포인트 적립.
|
||||
- **Consolation Reward**: 런 실패 시에도 플레이 시간에 비례하여 포인트가 지급되어 "실패해도 진전이 있다"는 심리적 보상 제공.
|
||||
- **Reward Tiers**: 특정 티어 도달 시 S/SS급 확정 쿠폰 등 고가치 보상 지급.
|
||||
|
||||
## 💡 경제 순환 구조 (Economy Pipeline)
|
||||
```mermaid
|
||||
graph TD
|
||||
A[적 처치 / 런 완료] -->|Gold / 재료 드롭| B(Hangar)
|
||||
B --> C{선택}
|
||||
C -->|Gold 소모| D[Permanent Upgrade]
|
||||
C -->|장비 분해| E[Crafting Materials]
|
||||
E -->|제작| F[SS_CLASS Equipment]
|
||||
F -->|포지 강화| G[End-game Stats]
|
||||
A -->|Pass Points| H[Event Pass Tier Up]
|
||||
H -->|보상| I[S/SS Coupon]
|
||||
I -->|사용| F
|
||||
```
|
||||
|
||||
---
|
||||
**승인인**: AI 개발부장 코다리 🫡
|
||||
**관련 코드**: `useGameStore.ts`, `HangarOverlay.tsx`, `combatUtils.ts`, `LootGenerator.ts`
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
# ⚙️ Engine Logic Optimization & Modernization
|
||||
|
||||
**Category:** Architecture / Physics
|
||||
**Status:** Completed (v12.1)
|
||||
**Related:** [[01_Core_Engine/Game-Engine-Loop-and-System-Orchestration|Engine Loop]], [[03_Boss_Systems/Boss_Encounter_and_Timeline_Design|Boss Encounter Design]]
|
||||
|
||||
---
|
||||
|
||||
## 1. Tactical Logical Modernization
|
||||
Skybound의 초기 '무작위성' 중심 로직을 '의도된 연출' 중심으로 전환한 핵심 최적화 내역입니다.
|
||||
|
||||
### 🛡️ Reactive Stat Sync (실시간 스탯 동기화)
|
||||
- **메커니즘**: `useGameStore.subscribe`를 통해 장비 교체나 영구 업그레이드 발생 시, 엔진의 `effectiveStats`를 런타임에 즉시 재계산.
|
||||
- **효과**: "인벤토리에서 공격력을 올렸는데 왜 바로 강해지지 않는가?"라는 모순을 해결.
|
||||
|
||||
### 🛰️ Priority-Based Spawning (우선순위 기반 스폰)
|
||||
- **Logic**: 하드캡(`MAX_ENEMIES_HARD_CAP`) 도달 시, `ELITE` 이상의 등급은 일반 적(`NORMAL`)을 **강제 퇴거(Despawn)**시키고 자리를 확보함.
|
||||
- **효과**: 물량에 밀려 보스가 등장하지 못하는 치명적인 결함 방지.
|
||||
|
||||
---
|
||||
|
||||
## 2. Combat Physics & HP Revamp
|
||||
|
||||
### 📏 100-Base HP System
|
||||
- **구형**: 하트 5칸 기반의 단순 생명력 시스템 (회복 및 성장 가시성 낮음).
|
||||
- **신규**: 100 기준의 체력 시스템으로 통합하여 퍼센트 단위 회복 및 영구 HP 업그레이드 반영이 가능하도록 구조화.
|
||||
|
||||
### 💥 Mutual Knockback (물리 충돌)
|
||||
- 단순히 겹칠 때 대미지를 입는 방식에서 벗어나, 충돌 벡터(`vx`, `vy`)를 기반으로 서로 밀려나는 물리 작용 구현.
|
||||
- **타격감**: 기체 간 충돌 시의 '묵직함' 확보.
|
||||
|
||||
---
|
||||
|
||||
## 3. Engagement Compression
|
||||
- **Blitz Mode**: 보스 출현 시간을 **60초**로 단축하여 파밍 효율 극대화.
|
||||
- **Standard Mode**: 보스 조우 타임라인을 **2분**으로 압축하여 검증 및 플레이 텐션 강화.
|
||||
|
||||
---
|
||||
**Last Updated:** 2026-04-22 🫡
|
||||
@@ -0,0 +1,38 @@
|
||||
# 🔍 Skybound 엔진 구조 정밀 감사 보고서 (V12.1)
|
||||
|
||||
> **카테고리**: [[Skybound]], [[Software Reliability]], [[Governance & Reliability]]
|
||||
> **상태**: ✅ 감사 완료 (Audited)
|
||||
> **최종 업데이트**: 2026-04-22
|
||||
|
||||
---
|
||||
|
||||
## 📌 개요 (Overview)
|
||||
엔진 안정성에 대한 의구심(코드 잘림, 상태 단절 등)이 제기됨에 따라, 전체 시스템 파이프라인(ECS-like Update, Zustand Sync, Progression Flow)을 전수 조사하여 아키텍처적 건전성을 검증함.
|
||||
|
||||
## 📊 감사 요약 (Audit Summary)
|
||||
|
||||
| 이슈 항목 | 실제 상태 | 심각도 | 판정 결과 |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| **#1 Engine Execution Gap** | **정상** — `ctx` 객체 완전 구성됨 | 🟢 Low | 단순 파일 읽기 초과로 인한 오판 |
|
||||
| **#2 State-Physics Disconnect** | **정상** — `setExp/setLevel` 액션 완결 | 🟢 Low | 15프레임 Dirty Checking 동기화 확인 |
|
||||
| **#3 Gimmick Manager 빈 껍데기** | **부분 유효** — 구현 완료, 타입 불일치 1건 | 🟡 Med | `spawnParticle` 인자 불일치 수정 완료 |
|
||||
| **#4 Collision-to-EXP 미연결** | **정상** — Combat → Progression 연결됨 | 🟢 Low | Gem 수집부터 카드 생성까지 연결 확인 |
|
||||
|
||||
## 🛠️ 정밀 분석 (Detailed Analysis)
|
||||
|
||||
### 1. 엔진 컨텍스트 (`ctx`) 및 루프 구조
|
||||
- **Context Integrity**: `useGameEngine.ts` 내에서 플레이어, 상태, 입력, 엔티티 매니저 및 각종 스폰 함수가 `ctx` 객체에 완전히 맵핑되어 각 시스템에 전달되고 있음.
|
||||
- **Loop Flow**: `StageDirector` → `System Logic` → `Combat/Progression` → `Renderer` 순의 고전적 ECS 파이프라인이 매 프레임(60FPS) 정상 작동함.
|
||||
|
||||
### 2. 상태 관리 브릿지 (Store Sync)
|
||||
- **Zustand Interface**: 엔진 내부 상태(`state.currentExp` 등)와 외부 UI 스토어(`useGameStore`) 간의 데이터 동기화는 `useGameEngine.ts`에서 15프레임마다 수행되는 브릿지 로직을 통해 효율적으로 관리됨 (불필요한 React Re-render 방지).
|
||||
|
||||
### 3. 실제 수정 사항 (Bug Fix)
|
||||
- **GravityGimmick.ts**: `ctx.spawnParticle` 호출 시 엔진 시그니처와 불일치하는 5번째 인자(`'DIR'`)가 전달되는 문제를 식별하여 제거함. 이는 시스템 오류를 유발하지는 않으나 타입 정결성을 위해 조치됨.
|
||||
|
||||
## 📋 최종 결론
|
||||
Skybound 엔진은 **구조적으로 건강하며, 모든 핵심 파이프라인이 완전히 구현된 상태**임. 향후 확장을 위한 아키텍처적 기반(Intent Protocol, Signal Pattern)이 견고하게 구축되어 있음을 확인함.
|
||||
|
||||
---
|
||||
**승인인**: AI 개발부장 코다리 🫡
|
||||
**관련 문서**: [[02_Architecture_Principles]], [[Visual_Feedback_Signal_Pattern]]
|
||||
@@ -9,44 +9,44 @@ Skybound 프로젝트의 모든 시스템은 유기적으로 연결되어 있습
|
||||
- **Master Plan**: [[01_Core_Engine/Skybound-Modular-Game-Architecture|Modular Architecture]]
|
||||
- **Data Flow**: [[01_Core_Engine/Stat-Injection-and-Visual-Renderer-Pipeline|Stat Injection & Renderer Pipeline]]
|
||||
- **Engine Loop**: [[01_Core_Engine/Game-Engine-Loop-and-System-Orchestration|Runtime Pipeline]]
|
||||
- **Campaign**: [[04_Mechanics_Progression/Campaign_and_Dual_Loop_System|Campaign & Dual-Loop Architecture]]
|
||||
- **Governance**: [[01_Core_Engine/Git_Synchronization_Protocol|Git & Knowledge Sync Protocol]]
|
||||
- **Visual Pattern**: [[01_Core_Engine/Visual_Feedback_Signal_Pattern|Visual Feedback Signal Pattern]]
|
||||
- **State Control**: [[01_Core_Engine/State-Machine-and-Phase-Transition-Events|Global State Machine]]
|
||||
- **Recent Reports**:
|
||||
- [[05_Project_Issues/2026-04-21-Implementation-and-Architecture-Report|V10.5 Implementation Report]]
|
||||
- [[05_Project_Issues/2026-04-22_Engine_Stability_Audit|V12.1 Engine Stability Audit]]
|
||||
- [[05_Project_Issues/2026-04-21-Project-Report-V11.5-Combat-and-UI-Recovery|V11.5 Project Report (Recovery)]]
|
||||
|
||||
## 🏷️ Keyword Cluster: #Battle_Tactics (전투 및 AI)
|
||||
교전 규칙과 적 기체의 지능적 행동 양식입니다.
|
||||
- **Physics**: [[02_Combat_AI/Combat-System-and-Bullet-Interaction-Pipeline|Bullet Collision Pipeline]]
|
||||
- **Timeline**: [[03_Boss_Systems/Boss_Encounter_and_Timeline_Design|Boss Encounter & Timeline Design]]
|
||||
- **Rhythm**: [[02_Combat_AI/Staggered-Firing-Logic-and-Phase-Offset|Staggered Firing & Offset]]
|
||||
- **Boss Intel**: [[03_Boss_Systems/Boss-AI-Contextual-Decision-Engine|Boss Contextual Decision]]
|
||||
- **Orchestration**: [[03_Boss_Systems/Boss-Orchestration-and-Gimmick-Management|Boss Gimmick Logic]]
|
||||
- **Implementation**: [[10_Wiki/Technical_Reports/2026-04-22_Boss_Battle_System_Implementation|V13.0 Boss Battle System Implementation]]
|
||||
|
||||
## 🏷️ Keyword Cluster: #Dopamine_UX (피드백 및 텐션)
|
||||
유저가 느끼는 '재미'의 수치화 및 연출 기법입니다.
|
||||
- **Feedback**: [[05_Project_Issues/2026-04-21-UX-Dopamine-Feedback-Upgrade|Dopamine Feedback Engine]]
|
||||
- **Visuals**: [[01_Core_Engine/Stat-Injection-and-Visual-Renderer-Pipeline|Dynamic Color & Renderer Signal]]
|
||||
- **Tension**: [[02_Combat_AI/Stage-Director-and-World-Tension-Scaling|World Tension Scaling]]
|
||||
- **Patterns**: [[03_Boss_Systems/Boss-Orchestration-and-Gimmick-Management|Telegraphing & Gimmicks]]
|
||||
- **Visuals**: [[01_Core_Engine/Visual_Feedback_Signal_Pattern|Dynamic Color & Renderer Signal]]
|
||||
- **Tension**: [[04_Mechanics_Progression/Combat_Timeline_Difficulty_Scaling|World Tension Scaling]]
|
||||
|
||||
## 🏷️ Keyword Cluster: #Growth_Loop (성장 및 자원)
|
||||
루프물로서의 지속 가능성을 담보하는 시스템입니다.
|
||||
- **Evolution**: [[04_Mechanics_Progression/Modular-Weapon-Evolution-and-Skill-Trees|Weapon Synergy & Evo-Tree]]
|
||||
- **Economy**: [[04_Mechanics_Progression/Meta-Progression-and-Economy-Systems|Meta-Progression & Event Pass]]
|
||||
- **Crafting**: [[04_Mechanics_Progression/Equipment-Crafting-and-Synthesis-Engine|Equipment Crafting & Merge]]
|
||||
- **Evolution**: [[04_Mechanics_Progression/InGame_Progression_System|In-Game Progression & Evolution]]
|
||||
- **Economy**: [[04_Mechanics_Progression/Meta_Economy_Growth_Loop|Meta-Economy & Growth Loop]]
|
||||
- **Crafting**: [[04_Mechanics_Progression/Equipment_Crafting_and_Synthesis_Full|Equipment Crafting & Synthesis]]
|
||||
- **Logistics**: [[04_Mechanics_Progression/Tactical-Air-Drop-and-Supply-Logistics|Tactical Air-Drop & Supply]]
|
||||
- **Progression**: [[05_Project_Issues/2026-04-21-Implementation-and-Architecture-Report|Meta-Game Economy Section]]
|
||||
|
||||
## 🏷️ Keyword Cluster: #Stability_QA (안정성 및 디버깅)
|
||||
시스템의 무결성을 유지하기 위한 기록입니다.
|
||||
- **Optimization**: [[05_Project_Issues/2026-04-21-Engine-Stability-and-Optimization|Performance Tuning]]
|
||||
- **Recovery**: [[05_Project_Issues/2026-04-21-Project-Report-V11.5-Combat-and-UI-Recovery|Combat & UI Recovery Log]]
|
||||
- **Debug Log**: [[05_Project_Issues/Issue-001-Combat-Reference-Error-Troubleshooting|Troubleshooting Case #001]]
|
||||
- **Standards**: [[02_Combat_AI/Combat-System-and-Bullet-Interaction-Pipeline|Collision Standards]]
|
||||
- **Audit**: [[05_Project_Issues/2026-04-22_Engine_Stability_Audit|V12.1 Engine Integrity Audit]]
|
||||
- **Optimization**: [[05_Project_Issues/2026-04-22_Engine_Logic_Optimization_Report|Engine Logic & Physics Optimization]]
|
||||
- **Performance**: [[05_Project_Issues/2026-04-21-Engine-Stability-and-Optimization|Performance Tuning]]
|
||||
|
||||
---
|
||||
**Root Policy**: Ps-Reinforce v2.5 (Graph Expansion)
|
||||
**Last Audit**: 2026-04-21
|
||||
**Last Audit**: 2026-04-22
|
||||
|
||||
---
|
||||
**Root Policy**: Ps-Reinforce v2.0
|
||||
**Project Status**: Knowledge Ingestion Complete (Batch 11.01-B)
|
||||
**Project Status**: Knowledge Ingestion Complete (Batch 12.1-A)
|
||||
|
||||
Reference in New Issue
Block a user