chore: Delete processed raw file (Skybound Jitter Case)

This commit is contained in:
Antigravity Agent
2026-04-26 21:33:44 +09:00
parent 270cfcb039
commit 4b670647c0
2 changed files with 28 additions and 105 deletions
@@ -1,105 +0,0 @@
# Skybound Red Striker Movement Jitter Fix
작성일: 2026-04-26 21:15 KST
## 요청 요약
- 빨간 적기가 여전히 어디에 낀 것처럼 바들바들 떨린다.
- 이전 수정 이후에도 실제 플레이 화면에서 동일 증상이 보여 원인을 다시 확인해야 한다.
## 확인 결과
빨간 적기 계열의 떨림은 단순한 스프라이트 문제가 아니라 이동 로직과 렌더링 좌표가 동시에 만드는 문제로 판단했다.
확인한 주요 지점:
- `CombatSystem.updateStrikerAI`
- `CombatSystem.applyEnemySeparation`
- `GameRenderer.renderEnemies`
- `GameRenderer`의 lock-on indicator 렌더링
- `EntityManager.spawnEnemy`의 pooled enemy 초기화
## 핵심 원인
`updateStrikerAI`에서 스트라이커가 목표 X 좌표에 가까워진 뒤에도 아래 방식으로 계속 밀어붙이고 있었다.
```ts
e.x += Math.sign(desiredX - e.x) * 1.1
```
이 방식은 목표점을 살짝 지나친 다음 다음 프레임에 반대 방향으로 다시 움직이게 만든다.
결과적으로 목표 지점 근처에서 좌우로 계속 오버슈트가 발생해 “어디에 낀 것처럼 떠는” 느낌이 난다.
추가로 적기 분리, 중력형 스킬, 락온 표시가 같은 적을 동시에 참조하면 실제 좌표의 미세 보정이 화면에 그대로 노출될 수 있었다.
## 적용한 해결 방향
스트라이커 이동은 오버슈트가 나지 않는 감쇠형 접근으로 변경했다.
렌더링은 실제 충돌 좌표와 별개로 표시용 좌표를 한 번 더 부드럽게 보간한다.
즉 게임 로직은 기존처럼 정확한 실제 좌표를 사용하고, 화면에 보이는 위치만 안정적으로 따라가게 했다.
## 적용한 변경
### 스트라이커 AI 오버슈트 제거
수정 파일:
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/CombatSystem.ts`
변경 내용:
- `Math.sign(...) * 1.1` 고정 이동 제거
- 목표 지점까지 남은 거리보다 더 많이 움직이지 않도록 제한
- 목표 X 근처에서 좌우 ping-pong이 발생하지 않게 감쇠 이동 적용
### 적기 표시 좌표 스무딩 추가
수정 파일:
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/types.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/GameRenderer.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/EntityManager.ts`
추가 필드:
- `renderX`
- `renderY`
- `renderRotation`
적용 내용:
- 적기 실제 좌표가 순간 보정되더라도 화면 좌표는 부드럽게 따라간다.
- 너무 큰 위치 차이가 있으면 순간이동/스폰으로 판단하고 즉시 스냅한다.
- pooled enemy 재사용 시 이전 적기의 표시 좌표가 남지 않도록 spawn 시 초기화한다.
### 락온 표시 떨림 완화
수정 파일:
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/GameRenderer.ts`
변경 내용:
- 락온 브라켓이 실제 좌표가 아니라 `renderX`, `renderY`를 우선 사용하게 변경
- 적기 본체는 부드러운데 락온 표시만 떨리는 상황을 방지
## 검증
- `npm run build` 성공
- 출력 디렉터리: `dist/49`
- TypeScript 빌드와 Vite production build 모두 통과
## 기대 효과
- 빨간 스트라이커가 목표 지점 근처에서 좌우로 바들바들 떠는 현상 완화
- 적기 분리, 중력 스킬, 락온 UI가 함께 작동해도 화면상 움직임이 더 안정적으로 보임
- 충돌 판정은 실제 좌표를 유지하므로 게임플레이 정확도는 유지
## 추가 관찰 포인트
이번 수정은 스트라이커 AI의 명확한 오버슈트 원인을 제거한 것이다.
만약 특정 스킬 영역 안에서만 떨림이 남는다면 다음 후보는 gravity mine 또는 vortex pull 계열의 강제 위치 보정이다. 이 경우에는 해당 pull force에도 속도 기반 감쇠를 적용하는 것이 좋다.