180 lines
4.4 KiB
Markdown
180 lines
4.4 KiB
Markdown
# Maps
|
|
|
|
맵별 배경, 스킨, 도착 지점, 목적을 정리합니다.
|
|
|
|
## 공통 구조
|
|
|
|
각 맵은 `MapDefinition`으로 관리합니다.
|
|
|
|
주요 필드:
|
|
|
|
- `mapId`
|
|
- `displayName`
|
|
- `routeName`
|
|
- `platformSkin`
|
|
- `backgroundResourcePath`
|
|
- `finishGateStyle`
|
|
- `targetDistance`
|
|
- `timeLimit`
|
|
- `clearMileageReward`
|
|
- `openingSteps`
|
|
- `loopSteps`
|
|
|
|
리팩터링 목표:
|
|
|
|
- `openingSteps`, `loopSteps`는 `CourseProfile` 기반 이름으로 정리합니다.
|
|
- `PlatformSpawner.TutorialStep`은 `CourseStep`으로 독립시켰습니다.
|
|
- `MapDatabase`는 맵 목록 관리만 담당하고, 실제 맵 정의는 맵별 파일로 나눴습니다.
|
|
|
|
현재 구조:
|
|
|
|
```text
|
|
MapDatabase
|
|
-> Definitions/TutorialIncheonMap.cs
|
|
-> Definitions/JapanMap.cs
|
|
-> Definitions/ChinaMap.cs
|
|
-> Definitions/AmericaMap.cs
|
|
|
|
Course
|
|
-> TutorialCourseProfile.cs
|
|
-> JapanCourseProfile.cs
|
|
-> ChinaCourseProfile.cs
|
|
-> AmericaCourseProfile.cs
|
|
```
|
|
|
|
## 코스 분리 기준
|
|
|
|
튜토리얼과 일반 맵은 같은 구조를 복사하지 않습니다.
|
|
|
|
| 코스 | 목적 |
|
|
| --- | --- |
|
|
| Tutorial / Incheon | 조작 학습, 강제 피격, 아이템 효과 체험, 출국 게이트 실전 연습 |
|
|
| Japan | 첫 일반 맵, 쉬운 점프/슬라이드 반복 패턴 |
|
|
| China | 간격 변화, 연속 슬라이드/점프 확장 |
|
|
| America | 빠른 속도, 후반 난이도, 긴 주행 압박 |
|
|
|
|
현재 `PlatformSpawner`는 맵이 가진 `CourseStep` 배열을 실행합니다.
|
|
다음 목표는 맵별 코스를 `CourseProfile`로 묶어, 스포너가 현재 맵의 프로필만 실행하게 만드는 것입니다.
|
|
|
|
## Tutorial / Incheon
|
|
|
|
역할:
|
|
|
|
- 기본 조작과 아이템 학습
|
|
- 실제 플레이 시작 전 연습 코스
|
|
|
|
배경:
|
|
|
|
- `Assets/Resources/Map_Tutorial_Incheon_Airport.png`
|
|
|
|
도착 지점:
|
|
|
|
- `Assets/Resources/FinishGate_Tutorial_Incheon.png`
|
|
- 출국 심사/보딩 게이트 느낌
|
|
|
|
체험 순서:
|
|
|
|
1. 점프
|
|
2. 2단 점프
|
|
3. 슬라이드
|
|
4. 강제 피격
|
|
5. 초밥
|
|
6. 라멘
|
|
7. 방어막
|
|
8. 마일리지 카드
|
|
9. 운동화
|
|
10. 실전 연습 후 출국 게이트
|
|
|
|
## Japan
|
|
|
|
역할:
|
|
|
|
- 첫 일반 여행 맵
|
|
- 튜토리얼에서 배운 조작을 반복 패턴으로 사용
|
|
- 튜토리얼 설명, 강제 피격 체험, 아이템 설명 트리거는 사용하지 않음
|
|
|
|
도착 지점:
|
|
|
|
- `Assets/Resources/FinishGate_Japan_Torii.png`
|
|
- 토리이
|
|
|
|
스킨:
|
|
|
|
- 일본 발판
|
|
- 석등 낮은 장애물
|
|
- 배너/표지판 슬라이드 장애물
|
|
|
|
코스 방향:
|
|
|
|
- 안전 발판으로 시작
|
|
- 낮은 점프 장애물과 짧은 슬라이드를 번갈아 배치
|
|
- 마일리지 코인은 점프 아크와 안전 라인 중심
|
|
- 튜토리얼보다 긴 반복 패턴을 사용하되 난이도는 낮게 유지
|
|
|
|
## China
|
|
|
|
역할:
|
|
|
|
- 붉은색/금색 지역감
|
|
- 슬라이드와 점프 패턴 확장
|
|
- 일본보다 장애물 간격 변화가 큼
|
|
|
|
도착 지점:
|
|
|
|
- `Assets/Resources/FinishGate_China_Paifang.png`
|
|
- 중국 패방
|
|
|
|
스킨:
|
|
|
|
- 중국 발판
|
|
- 시장 상자 낮은 장애물
|
|
- 홍등 슬라이드 장애물
|
|
|
|
코스 방향:
|
|
|
|
- 점프 뒤 슬라이드, 슬라이드 뒤 점프처럼 전환 패턴을 늘림
|
|
- 마일리지 라인은 안전 구간과 위험 보상 구간을 구분
|
|
- 튜토리얼용 강제 피격 패턴은 사용하지 않음
|
|
|
|
## America
|
|
|
|
역할:
|
|
|
|
- 뉴욕 도착 맵
|
|
- 자유의 여신상에 도착하면 클리어되는 느낌
|
|
- 후반 맵답게 속도와 반응 시간을 더 강하게 사용
|
|
|
|
배경:
|
|
|
|
- `Assets/Resources/Map_America_NewYork.png`
|
|
|
|
도착 지점:
|
|
|
|
- `Assets/Resources/FinishGate_America_Liberty.png`
|
|
- 도착 게이트가 나올 때 전용 착지 발판을 함께 깔아 이미지가 공중에 뜬 것처럼 보이지 않게 합니다.
|
|
- 도착 게이트 뒤에는 추가 코스가 생성되지 않게 막아 클리어 지점이 끝처럼 보이게 합니다.
|
|
|
|
스킨:
|
|
|
|
- 미국 발판
|
|
- 콘/도로 장애물
|
|
- 배너/표지판 슬라이드 장애물
|
|
|
|
코스 방향:
|
|
|
|
- 넓은 점프와 짧은 슬라이드가 빠르게 이어짐
|
|
- 안전 발판 비중은 줄이고 패턴 반복 속도를 올림
|
|
- 도착 지점 전 마지막 구간은 시야가 복잡하지 않게 정리
|
|
|
|
## 맵 추가 규칙
|
|
|
|
새 맵을 추가할 때:
|
|
|
|
1. `MapId` 추가
|
|
2. `Maps/Definitions`에 맵별 정의 파일 추가
|
|
3. 배경 이미지를 `Assets/Resources/Map_*.png`로 저장
|
|
4. 도착 지점 이미지를 `Assets/Resources/FinishGate_*.png`로 저장
|
|
5. `backgroundResourcePath`, `finishGateStyle` 연결
|
|
6. `Course` 폴더에 해당 맵의 `CourseProfile` 추가
|
|
7. `MapDatabase` 목록에 새 맵 연결
|