Update: Skybound weapon migration, tuning logs & raw files wikification

This commit is contained in:
Antigravity Agent
2026-04-24 01:29:50 +09:00
parent 8e81abc4b3
commit ae2723a9f8
9 changed files with 195 additions and 0 deletions
@@ -0,0 +1,25 @@
# [LOG] Skybound Asset Generation Roadmap & Prompts
- **Timestamp**: 2026-04-23 23:03 (KST)
- **Status**: Planning
- **Lead**: Steve (Executive Director)
## 1. 작업 내용 (Task Summary)
- **에셋 생성 가이드 수립**: 아직 이미지가 확보되지 않은 10종의 스킬(Gatling Gun, Energy Shield 등)에 대한 AI 이미지 생성 프롬프트 설계.
- **시각적 가이드라인 정의**: Top-down view, 2D Sprite, Isolated on white background 등 Skybound 전용 에셋 표준 정의.
## 2. 설계 철학 (Design Philosophy)
- **Consistency**: 모든 에셋은 '미래 산업(Future-Industrial)' 테마와 '고해상도 2D' 스타일을 공유해야 함.
- **Clarity**: 인게임 화면에서 각 스킬의 기능(공격, 방어, 제어 등)이 실루엣만으로도 구분될 수 있도록 특징적 요소를 강조.
## 3. 프롬프트 리스트 (Prompt Inventory)
- *상세 리스트는 위 대화 내용의 테이블 참조*
## 4. 향후 실행 계획 (Next Steps)
- 생성된 이미지를 `public/sprites`에 배치.
- `SpriteUtils.ts` 화이트리스트에 신규 경로 추가.
- `skills.ts``useGameAssets.ts` 메타데이터 업데이트.
## 5. 관련 토픽 (Linked Topics)
- [[Skybound]]: 비주얼 아이덴티티 확장.
- [[Design & Experience]]: 시각적 직관성 확보를 위한 에셋 설계.
@@ -0,0 +1,26 @@
# [LOG] Skybound Asset Purity & Transparency Synchronization
- **Timestamp**: 2026-04-23 22:52 (KST)
- **Status**: Completed
- **Lead**: Steve (Executive Director)
## 1. 작업 내용 (Task Summary)
- **스프라이트 자산 교체**: 사용자 기체(Falcon, Rayce), 일반 적기(Normal), 엘리트 적기(Elite), 보스 적기(Boss)의 이미지를 배경이 제거된 고해상도 PNG로 전면 교체.
- **렌더링 로직 최적화**: `SpriteUtils.ts``loadTransparentSprite` 함수 내에서 해당 에셋들이 'Fake Transparency Removal' 로직을 거치지 않고 원본 알파 채널을 그대로 사용하도록 화이트리스트 업데이트.
## 2. 작업 이유 (Rationale)
- **미학적 완성도**: 대표님(Yesung)께서 직접 가공하신 배경 없는 고해상도 에셋의 무결성을 100% 보존하기 위함.
- **성능 최적화**: 픽셀 단위의 색상 비교 및 배경 제거 연산(Flood-fill style algorithm)은 CPU 자원을 소모함. 이미 투명 배경이 확보된 에셋에 대해 이를 수행하는 것은 'Shit'이며, 이를 제거함으로써 로딩 속도와 런타임 효율성을 확보함.
## 3. 수정된 코드 (Code Changes)
- **Target File**: `/Volumes/Data/project/Antigravity/Skybound/src/features/game/utils/SpriteUtils.ts`
- **변경 사항**: `trueTransparencyAssets` 배열에 `'normal_enemy'`, `'elite_enemy'`, `'boss'` 키워드 추가. 이를 통해 해당 경로를 포함하는 모든 에셋은 원본 투명도를 신뢰하고 즉시 로딩됨.
## 4. 왜 했는가 (Why It Matters)
- **Zero-Tolerance for Mediocrity**: 도구가 창작자의 의도를 훼손하게 두지 않기 위함. 엔진은 창작자가 제공한 완벽한 재료를 가장 순수한 상태로 유저에게 전달해야 함.
- **System Integrity**: 에셋의 상태(Transparent vs Solid)에 따라 처리 파이프라인을 분기함으로써 시스템의 유연성과 전문성을 강화함.
## 5. 관련 토픽 (Linked Topics)
- [[Skybound]]: 프로젝트 전체 에셋 관리 표준 수립.
- [[Graphics & Performance]]: 불필요한 이미지 프로세싱 오버헤드 제거.
- [[Design & Experience]]: 픽셀 퍼펙트한 실루엣을 통한 게임 몰입감 증대.
@@ -0,0 +1,24 @@
# [LOG] Skybound Defensive Architecture Reboot
- **Timestamp**: 2026-04-23 23:08 (KST)
- **Status**: Completed / Integrity Guaranteed
- **Lead**: Steve (Executive Director)
## 1. 작업 내용 (Task Summary)
- **전방위적 타입 무결성 확보**: `Bullet`, `GameState` 인터페이스를 확장하여 `spriteKey`, `maxHp`, `novaBurstTimer` 등 누락된 속성들을 정식 명세로 통합.
- **방어적 프로그래밍(Defensive Programming) 도입**: `WeaponBehaviorEngine``ModularWeaponSystem``[INPUT/EXPECTED/FLOW]` 주석 체계 적용.
- **시스템 엔트로피 감소**: `SpawnerSystem``WeaponBehaviorEngine` 내 미사용 변수 및 잘못된 스코프 참조(`weaponId`) 전량 수정.
- **any 캐스팅 숙청**: `ModularWeaponSystem` 내 Nova Burst 로직 등에서 사용되던 `as any` 접근을 정식 인터페이스 접근으로 전환.
## 2. 수정한 이유 (Rationale)
- **Anti-Fragility**: 시스템이 커짐에 따라 발생하는 타입 불일치와 참조 오류를 방지하기 위해 '수동적 디버깅'에서 '능동적 방어' 체제로 전환.
- **Cognitive Load Reduction**: 명시적인 주석과 정교한 타입을 통해 코드를 읽는 즉시 로직의 의도와 제약 조건을 파악할 수 있게 함.
## 3. 핵심 설계 결정 (Key Decisions)
- **Types-First Development**: 기능 구현 전 인터페이스 명세를 먼저 확정하고, 모든 시스템이 이를 준수하도록 강제함.
- **Fail-Fast Principle**: 불완전한 초기 상태를 방지하기 위해 `createDefaultState`를 강화하여 런타임 안정성을 확보.
## 4. 연관성 (Linked Topics)
- [[Skybound]]: 엔진 아키텍처 고도화.
- [[Design & Experience]]: 시스템 안정성을 통한 유저 경험 보장.
- [[Graphics & Performance]]: 리소스 참조 무결성 확보.
@@ -0,0 +1,21 @@
# [LOG] Skybound Enemy Orientation Fix (Crab Movement Bug)
- **Timestamp**: 2026-04-23 23:13 (KST)
- **Status**: Resolved
- **Lead**: Steve (Executive Director)
## 1. 버그 내용 (Bug Description)
- **현상**: 적기가 화면 상단에서 등장할 때 정면(아래)을 보지 않고 오른쪽을 바라본 채 하강하는 '꽃게 이동' 현상 발생.
- **원인**: 적기 생성 시 `rotation` 초기값이 `0`이었으며, 등장 단계(Entrance)에서 플레이어를 조준하는 로직이 조기 종료(Early Return)로 인해 실행되지 않아 렌더링 오프셋(`+PI/2`)만 적용되어 오른쪽을 바라보게 됨.
## 2. 해결 방법 (Resolution)
- **초기화 강화**: `SpawnerSystem`에서 적기 생성 시 `rotation: Math.PI / 2`를 기본값으로 명시적 할당.
- **로직 순서 재조정**: `CombatSystem`의 업데이트 루프에서 회전값 계산을 등장 단계 분기점 이전으로 전진 배치하여, 어떤 상태에서도 적기가 플레이어 방향(또는 아래 방향)을 유지하도록 보장.
## 3. 결과 (Expected Result)
- 적기가 생성되는 즉시 플레이어를 향해 정면을 유지하며 하강함.
- 시각적 직관성 및 전투 몰입도 향상.
## 4. 관련 토픽 (Linked Topics)
- [[Skybound]]: 엔진 렌더링 무결성 확보.
- [[Graphics & Performance]]: 스프라이트 회전 행렬 최적화.
@@ -0,0 +1,23 @@
# [LOG] Skybound Firepower Overclock (v1.5 Buff)
- **Timestamp**: 2026-04-23 23:23 (KST)
- **Status**: Completed / Balanced
- **Lead**: Steve (Executive Director)
## 1. 조정 내용 (Buff Summary)
- **전역 공격력 계수 상향**: 초기 `effective.dmg` 스탯을 **1.0 → 1.5**로 변경하여 모든 스킬 데미지 1.5배 증강.
- **기본 공격 로직 수정**: `PlayerSystem` 내 메인 웨폰 발사 로직에 `eff.dmg` 계수 연동. 이제 기본 공격도 전역 버프 및 업그레이드 효과를 정밀하게 반영함.
- **필살기 밸런싱**: `GAME_BALANCE` 내 Bomb 데미지 수치 1.5배 상향 조정 (Falcon: 40→60, Rayce: 15→22.5 등).
## 2. 조정 이유 (Rationale)
- **Player Empowerment**: 초기 게임 진입 장벽을 낮추고, 유저에게 더욱 시원한 파괴적 쾌감을 제공하기 위함.
- **Architectural Fix**: 기본 공격이 스탯 계수를 무시하던 설계를 수정하여 시스템의 일관성 확보.
## 3. 세부 수치 변화 (Detailed Specs)
- **Falcon Main**: 1.3 * 1.5 = 1.95 per bullet.
- **Rayce Main**: 4.5 * 1.5 = 6.75 per shot.
- **Skills**: All base damages defined in logic are now multiplied by 1.5 starting point.
## 4. 관련 토픽 (Linked Topics)
- [[Skybound]]: 전투 밸런스 튜닝.
- [[Design & Experience]]: 압도적인 화력을 통한 사용자 만족도 증대.
@@ -0,0 +1,25 @@
# [LOG] Skybound Custom Skill Asset Integration
- **Timestamp**: 2026-04-23 23:31 (KST)
- **Status**: Fully Integrated
- **Lead**: Steve (Executive Director)
## 1. 에셋 통합 내역 (Asset Integration)
- **Gatling Gun**: 사용자 기체 코 부분(Nose)에 실물 스프라이트 부착 완료. 기체 회전과 실시간 동기화.
- **Energy Shield**: 기존 더미 원형 이펙트를 `Energy Shield.png`로 교체.
- **Nova Burst**: 충격파 발동 시 중심부에 `Nova Burst.png` 플레어 연출 추가.
- **Ricochet Bolt**: `Ricochet Bolt.png`를 투사체 스프라이트로 적용.
- **Missile Pod & Plasma Torpedo**: 렌더링 파이프라인 누락 수정으로 이제 정상적으로 고해상도 스프라이트 출력.
## 2. 기술적 해결 (Technical Fixes)
- **Asset Pipeline Bug Fix**: `useGameAssets`에서 로드된 에셋이 `assets` 객체 누락으로 인해 `GameRenderer`에 전달되지 않던 문제 해결.
- **Transparency Protection**: 화이트리스트 최적화를 통해 배경 제거 PNG 파일의 투명도 무결성 확보.
- **Scaling Optimization**: 각 스킬 스프라이트의 성격에 맞춰 인게임 렌더링 사이즈(32px~48px) 최적화.
## 3. 향후 과제 (Next Steps)
- 남은 스킬들에 대한 프롬프트 기반 이미지 생성 및 추가 통합.
- 보스 파괴 시 발생하는 Physical Debris System에 대한 에셋 준비.
## 4. 관련 토픽 (Linked Topics)
- [[Skybound]]: 비주얼 아이덴티티 완성.
- [[Graphics & Performance]]: 60FPS 스프라이트 렌더링 최적화.
@@ -0,0 +1,29 @@
# [LOG] Skybound Skill Image & Icon Integration
- **Timestamp**: 2026-04-23 23:01 (KST)
- **Status**: Completed
- **Lead**: Steve (Executive Director)
## 1. 작업 내용 (Task Summary)
- **스킬 아이콘 시각화**: `Missile Pod``Plasma Torpedo` 스킬의 아이콘을 텍스트 이모지에서 실제 경로 기반의 고해상도 이미지(`homing_missile.png`, `homing_missile04.png`)로 전면 교체.
- **인게임 투사체 동기화**: 게임 플레이 중 발사되는 해당 무기들의 투사체(Projectile)가 실제 스프라이트로 렌더링되도록 `GameRenderer` 및 무기 시스템 업데이트.
- **UI 렌더링 엔진 수정**: `LevelUpModal` 컴포넌트가 이미지 기반 아이콘과 텍스트 기반 아이콘을 모두 처리할 수 있도록 조건부 렌더링 로직 도입.
## 2. 작업 이유 (Rationale)
- **Visual Consistency**: 유저가 선택 창에서 본 이미지가 전장에서 그대로 구현되는 '시각적 연속성'은 몰입감의 핵심임.
- **Insanely Great UX**: 이모지는 프로토타입의 흔적임. 실제 에셋을 통한 'Stitch Fidelity'를 확보하여 제품의 격을 높임.
## 3. 수정된 코드 (Code Changes)
- **Config**: `skills.ts` (아이콘 경로 업데이트)
- **Assets**: `useGameAssets.ts` (신규 미사일 에셋 로딩 로직 추가)
- **UI**: `LevelUpModal.tsx`, `LevelUpModal.css` (이미지 아이콘 지원 및 네온 글로우 스타일링)
- **Engine**: `GameRenderer.ts`, `ModularWeaponSystem.ts`, `WeaponBehaviorEngine.ts` (`spriteKey` 메타데이터 연동 및 스프라이트 드로잉 로직 추가)
## 4. 왜 했는가 (Why It Matters)
- **Brand Identity**: Skybound만의 독창적인 자산을 전면에 내세움으로써 타 게임과의 차별성을 확보함.
- **Technical Scalability**: 향후 모든 스킬 아이콘을 이미지로 교체할 수 있는 확장 가능한 UI 구조를 구축함.
## 5. 관련 토픽 (Linked Topics)
- [[Skybound]]: 메카닉 비주얼 아이덴티티 수립.
- [[Design & Experience]]: 고품질 에셋을 통한 유저 리텐션 강화.
- [[Graphics & Performance]]: 스프라이트 기반 렌더링 파이프라인 정립.
@@ -0,0 +1,22 @@
# [LOG] Skybound Weapon Behavior Engine Migration & Tuning
- **Timestamp**: 2026-04-24 01:28 (KST)
- **Status**: Completed
- **Lead**: Antigravity
## 1. 작업 개요 (Task Summary)
- **WeaponBehaviorEngine 전면 도입**: 기존 `ModularWeaponSystem`에 남아있던 하드코딩된 레거시 무기 로직(`missile_pod`, `DIMENSION_SLAYER` 등)을 완벽히 제거하고 데이터 기반(Data-Driven) 엔진으로 마이그레이션 완료.
- **수치 및 발사 좌표 동기화 (Tuning)**: `missile_pod` 스킬이 렌더러 파이프라인의 시각적 부착점(Attachment Point)과 일치하도록 발사 좌표(spawnX, spawnY)를 기체 양쪽 날개(x: -30, +30)로 재조정.
## 2. 주요 버그 해결 (Bug Fixes)
- **미사일 중복 발사 문제 해결**: 구버전 레거시 로직과 신버전 데이터 주도 로직이 동시에 실행되며 중앙과 양측에서 미사일이 중복 발사되는 구조적 충돌을 `DATA_DRIVEN_WEAPONS` 배열 편입을 통해 완벽 해결.
- **착시 현상(연속 발사) 진단**: 유저가 체감한 '초당 4~5발의 연속 발사'는 미사일 스킬의 오류가 아닌, **기본 무기(Falcon)가 3레벨에 도달했을 때 발동하는 '소형 유도 미사일(Homing Micro-Missiles)' 2발이 15프레임 단위로 발사되는 정상적인 시스템 기믹**임을 논리적 수치 분석으로 규명함.
- **EXP Gem 투명도 버그 수정**: `SpriteUtils`의 투명도 제거 알고리즘 예외 목록(`trueTransparencyAssets`)에 `orb.png`를 명시하여 렌더링 무결성 확보.
## 3. 코드 설계 (Architectural Impact)
- 무기별 고유 상태(`WeaponState`)는 `weaponStates` Map 객체를 통해 격리 관리되어 간섭 방지.
- 스킬의 레벨업에 따른 발사체 쿨다운 단축 로직을 엔진 단에서 독립적으로 연산하여 확장성 부여.
## 4. 관련 토픽 (Linked Topics)
- [[Skybound]]: 무기 아키텍처 및 렌더링 파이프라인.
- [[Design & Experience]]: 시각적 피드백과 로직의 일치화.