Add travel map flow and update docs

This commit is contained in:
jongjae0305
2026-06-24 15:34:09 +09:00
parent 8561fab0a2
commit af26dd4311
37 changed files with 3114 additions and 165 deletions
+59 -42
View File
@@ -12,6 +12,22 @@
## 기본 게임 흐름
현재 구현된 화면 흐름은 다음과 같습니다.
```text
Intro
-> MapPreview
-> Main(Game)
-> Result
-> DutyFreeShop
-> MapPreview
-> 다음 맵 진행
```
`Intro`, `MapPreview`, `Result`, `DutyFreeShop`은 실제 `.unity` 씬으로 분리되어 있으며, 게임 본편은 `Main` 씬에서 진행됩니다. 화면 UI는 `GameFlowManager`가 런타임에 공통 오버레이로 생성합니다.
기획상 전체 여행 흐름은 다음 구조를 목표로 합니다.
```text
한국 튜토리얼
-> 인천공항 도착
@@ -232,7 +248,7 @@
## 현재 구현 상태
현재 프로젝트는 기존 단순 러너에서 여행 튜토리얼 러너 형태로 확장 중입니다.
현재 프로젝트는 기존 단순 러너에서 여행형 맵 진행 러너 구조로 확장되었습니다.
반영된 주요 기능은 다음과 같습니다.
@@ -262,58 +278,59 @@
- 오른쪽 상단 점수/마일리지/속도 텍스트 축소 배치
- 공항 튜토리얼용 발판/천장 타일 이미지 추가
- 기존 공항 배경 느낌을 길게 만든 `Sky_AirportLong.png` 추가
- 점프, 2단 점프, 슬라이딩, 강제 피격, 아이템 사용을 순서대로 체험하는 튜토리얼 코스
- 튜토리얼 상황에 맞는 발판/장애물/아이템 배치
- `ItemPickup` 기반 필드 아이템 획득
- 초밥, 라멘, 방어막, 운동화, 마일리지 카드 효과
- 피격 방어 아이템 처리
- `MapDefinition`, `MapDatabase`, `MapId` 기반 맵 데이터 구조
- `Tutorial / Incheon`, `Japan`, `China`, `America` 맵 등록
- 맵별 목표 거리, 제한 시간, 보상 마일리지, 다음 맵 해금 정보
- 맵별 시작 패턴과 반복 패턴 분리
- `GameSaveData`, `GameSaveManager` 기반 저장/로드
- 공용 마일리지, 해금 맵, 현재 맵, 구매 아이템 수량 저장
- `GameFlowManager` 기반 전체 화면 흐름 관리
- `Intro`, `MapPreview`, `Result`, `DutyFreeShop` 씬 추가
- Build Settings 시작 씬을 `Intro`로 구성
- 게임 시작 전에는 플랫폼 스폰과 플레이어 입력이 멈추도록 처리
- 맵 클리어 시 결과 화면, 보상 지급, 다음 맵 해금, 면세점 이동 처리
- 면세점에서 도시락, 방어막, 운동화, 마일리지 카드 구매 가능
최근 커밋 기준:
## 현재 남은 작업
```text
d4ab621 Add airport tutorial assets and long background
```
현재 가장 중요한 남은 작업은 면세점 구매 아이템을 실제 플레이 준비/사용 구조와 연결하는 것입니다.
## 현재 확인된 문제
가장 먼저 확인해야 할 문제는 배경입니다.
의도한 방향은 기존 공항 사진 느낌의 `Sky.png`를 바탕으로, 반복이 덜 보이도록 긴 배경 이미지 `Assets/Sprites/Backgrounds/Sky_AirportLong.png`를 사용하는 것입니다.
디스크의 `Assets/Sence/Main.unity`에는 다음 설정이 들어가 있습니다.
- `Background/Sky``Background/Sky (1)`가 긴 배경 스프라이트를 참조
- 배경 한 장의 크기: `81.92 x 10.24`
- 두 번째 배경 위치: `x = 81.92`
- 두 배경을 루프시키기 위해 `BackgroundLoop` 사용
하지만 Unity 에디터에서 열려 있는 씬 메모리가 외부에서 수정한 씬 파일을 즉시 다시 읽지 않아, 실제 플레이 화면에서는 배경이 제대로 보이지 않는 문제가 확인되었습니다.
다음 스레드에서 먼저 할 일:
1. Unity에서 `Main` 씬을 다시 열어 디스크의 씬 변경 사항을 에디터에 반영한다.
2. `Background/Sky`, `Background/Sky (1)`의 Sprite가 `Sky_AirportLong`인지 확인한다.
3. 두 오브젝트의 BoxCollider2D 크기가 `81.92 x 10.24`인지 확인한다.
4. `Background/Sky (1)`의 위치가 `x = 81.92`인지 확인한다.
5. 게임 뷰에서 배경이 보이는지 캡처로 확인한다.
- 면세점 구매 수량은 저장되지만, 아직 스테이지 시작 전 장착 슬롯과 연결되지 않았습니다.
- 도시락, 방어막, 운동화, 마일리지 카드를 플레이 시작 전에 선택하고 소모하는 UI가 필요합니다.
- 가방 업그레이드와 아이템 슬롯 확장 기능은 아직 실제 구매 상품으로 연결되지 않았습니다.
- 맵별 배경, 발판, 장애물, 마일리지 토큰 스킨 교체는 아직 `MapDefinition`과 연결되지 않았습니다.
- `Intro`, `MapPreview`, `Result`, `DutyFreeShop` 씬은 현재 얇은 컨테이너이며, 실제 화면 UI는 런타임 오버레이로 생성됩니다.
- 기념품 수집 화면과 클리어 보상 수집 데이터는 아직 구현 전입니다.
- 일본, 중국, 미국 맵은 데이터상 분리되어 있지만, 시각적 지역 차이는 아직 적용 전입니다.
## 다음 개발 우선순위
1. 배경 표시 문제 해
2. 공항 발판/천장 타일의 크기와 콜라이더 최종 점검
3. 낮은 장애물은 점프, 매달린 표지판은 슬라이딩으로 명확히 구분
4. 마일리지 토큰 크기, 위치, 콜라이더 재점검
5. 튜토리얼 패턴의 간격과 난이도 조정
6. 목표 거리와 제한 시간 기반 클리어 구조 추가
7. 면세점 화면 실제 UI 구현
8. 구매 아이템의 보유/사용 구조 구현
9. 일본 1스테이지용 패턴과 에셋 적용
10. 기념품 수집 화면 기초 구현
1. 면세점 구매 아이템을 스테이지 시작 전 장착 슬롯과 연
2. 장착 아이템의 실제 소모 타이밍과 효과 정리
3. 가방 업그레이드로 아이템 슬롯 1칸에서 최대 3칸까지 확장
4. 맵별 배경/발판/장애물/마일리지 스킨을 `MapDefinition`에 연결
5. 일본 맵의 실제 지역 에셋과 반복 패턴 조정
6. 중국, 미국 맵 난이도와 패턴 차별화
7. 결과 화면 실제 디자인 UI로 정리
8. 면세점 화면을 실제 상품 진열 UI로 정리
9. 기념품 보상 데이터와 수집 화면 기초 구현
10. 맵 선택/해금 상태 화면 고도화
## 새 스레드 인수인계 메모
새 Codex 글에서 이어갈 때는 이 순서로 보면 됩니다.
1. `README.md``현재 확인된 문제` 먼저 읽는다.
2. `desing.md``최신 구현용 에셋 상태``튜토리얼 배경 최신 결정`을 확인한다.
3. Unity 브리지가 연결되면 `Background/Sky``Background/Sky (1)`의 현재 에디터 상태를 확인한다.
4. 에디터 상태가 씬 파일과 다르면 Unity에서 `Main` 씬을 다시 열거나, 에디터에서 배경 오브젝트 값을 직접 맞춘다.
5. 배경이 해결된 뒤에 발판/장애물/마일리지 위치 조정을 진행한다.
1. `README.md``현재 구현 상태``현재 남은 작업` 먼저 읽는다.
2. `desing.md``최신 구현용 에셋 상태``다음 이미지/시각 작업`을 확인한다.
3. `Assets/Scripts/Flow/GameFlowManager.cs`에서 화면 전환 흐름을 확인한다.
4. `Assets/Scripts/Maps/MapDatabase.cs`에서 맵별 코스, 제한 시간, 보상 데이터를 확인한다.
5. `Assets/Scripts/PlatformSpawner.cs``Assets/Scripts/Platform.cs`에서 튜토리얼 코스 배치 방식을 확인한다.
6. 다음 작업은 면세점 구매 아이템을 장착 슬롯과 실제 플레이 효과에 연결하는 것이다.
## 최종 목표