> For the complete documentation index, see [llms.txt](/ko/llms.txt)


# 7. 설정을 바꾸고 게임에 반영하기

보상을 늘리고 새 퀘스트를 추가한 뒤 게임에서 확인합니다.



기본 기능이 완성되었으니 게임 내용을 바꿔 봅시다. 숲 탐험의 보상을 10코인에서 15코인으로 늘리고 **동굴 탐험** 도 추가합니다. 설정을 바꾸면 화면과 실제 보상이 어떻게 달라지는지 확인합니다.

## 시작하기 전에

진행 중인 퀘스트를 클리어하고 구매 등의 처리가 끝난 뒤 설정을 변경합니다.

## 변경할 내용

| 퀘스트 | 소비 스태미나 | 일반 보상 | 첫 클리어 보상 |
| ----------------- | ------------ | --------- | -------- |
| `forest` 숲 탐험 | 5 | 15코인 | 없음 |
| `cave` 동굴 탐험 | 8 | 20코인 | 없음 |

## 따라 하기



**Studio**

### 기존 행 수정하고 새 행 추가하기

**Tables → Quest (Quest)** 를 열고 다음과 같이 편집합니다.

| ID | 그룹 | displayName | 시작 시 소비 consumeValue | 일반 클리어 보상 count |
| --- | --- | --- | --- | --- |
| `forest` | `main` | 숲 탐험 | `5` | `15` |
| `cave` | `main` | 동굴 탐험 | `8` | `20` |

`forest`의 일반 클리어 보상을 열고 **depositTransactions → DepositTransaction → count** 를 `15`로 바꿉니다.

<a href="/images/adventure/later-chapters/07-reward-change.jpg" target="_blank" rel="noopener" aria-label="숲 탐험의 DepositTransaction count를 15로 바꾸는 화면 (새 탭에서 확대)"><img src="/images/adventure/later-chapters/07-reward-change.jpg" alt="숲 탐험의 DepositTransaction count를 15로 바꾸는 화면" loading="lazy"></a>

행을 추가하여 `cave`를 만듭니다. 시작 시 소비에 `ConsumeStaminaByUserId`, 일반 클리어 보상에 `DepositByUserId`를 각각 하나씩 설정합니다.

- 시작 시 소비: `namespaceName = Energy`, `staminaName = stamina`, `userId = #{userId}`, `consumeValue = 8`.
- 일반 클리어 보상: `namespaceName = Currency`, `userId = #{userId}`, `slot = 0`. `depositTransactions`를 하나 추가하여 `price = 0`, `currency`는 값 없음, `count = 20`으로 설정합니다.
- 첫 클리어 보상과 실패 시 액션은 0개로 둡니다.

저장한 뒤 서버와 Unity 양쪽에 반영합니다.

<a href="/images/adventure/later-chapters/07-publish.jpg" target="_blank" rel="noopener" aria-label="서버 배포와 연결된 Unity 프로젝트 업데이트 영역이 나란히 있는 Publish 화면 (새 탭에서 확대)"><img src="/images/adventure/later-chapters/07-publish.jpg" alt="서버 배포와 연결된 Unity 프로젝트 업데이트 영역이 나란히 있는 Publish 화면" loading="lazy"></a>

1. **Publish → Calculate server differences** 에서 숲 변경과 동굴 추가를 확인하고 배포합니다.
2. **Update the Unity project** 를 실행합니다. `displayName`은 Unity 에셋에도 출력되므로 이 업데이트도 필요합니다.
3. Unity 재생을 중지했다가 다시 재생하고 로그인합니다.
4. 목록에 두 퀘스트가 표시되는지 확인합니다. 코드는 각 행의 `Start()`를 호출하므로 동굴 전용 시작 처리는 필요하지 않습니다.




**SDK (Unity)**

### 설정 업데이트하기

<a href="/samples/adventure/ko/07/adventure-game.yaml" download>7장 템플릿을 다운로드</a>하고 **Deploy → adventure-game → Update stack** 의 **Template data** 에서 파일을 선택합니다. 이전 리소스를 포함한 전체 템플릿입니다. 변경 내용을 확인하여 적용하고 **Update complete** 가 될 때까지 기다립니다.

템플릿은 `forest`의 지급량을 `15`로 바꾸고 `cave`를 추가합니다. 6장의 코드를 그대로 사용하고 재생을 중지했다가 다시 재생합니다. 로그인하면 `main` 그룹에서 가져온 숲과 동굴이 목록에 나타납니다. 선택한 퀘스트의 `Name`으로 시작하므로 새 동굴도 플레이할 수 있습니다.





## 새 퀘스트 플레이하기

목록에서 숲과 동굴을 모두 플레이해 봅시다. 배포 후 설정 반영까지 최대 5분이 걸릴 수 있습니다. 이전 목록이나 보상이 보이면 잠시 기다렸다가 Unity를 다시 재생하고 퀘스트를 새로 시작하여 확인합니다.

- 목록에 숲과 동굴이 표시됩니다.
- 숲을 새로 시작하여 클리어하면 15코인이 늘어납니다.
- 동굴 시작 시 스태미나 8을 소비하고 클리어하면 20코인이 늘어납니다.
- 기존 코인은 그대로 남고 클리어 보상만큼만 늘어납니다.

진행 중인 퀘스트에는 시작 시점의 정보가 저장됩니다. 변경한 설정을 확인할 때는 퀘스트를 새로 시작합니다. Unity에 표시용 데이터를 보관하는 경우에는 GS2 설정과 함께 업데이트합니다.

## 연습: 퀘스트 하나 더 만들기

이름, 필요 스태미나, 보상을 직접 정한 퀘스트를 추가해 봅시다. 목록에서 시작하고 클리어하여 보상까지 받아 봅니다. 스태미나가 부족할 때와 앱을 다시 실행했을 때도 확인합니다.

<details>
1. 새 퀘스트를 선택하기 전에 코인 잔액을 기록합니다.
2. 해당 퀘스트의 **시작**, **클리어** 를 순서대로 누릅니다.
3. 클리어 후 잔액에서 기록한 잔액을 뺍니다. 설정한 보상 수량과 같으면 새 퀘스트의 보상을 받은 것입니다.


[다음: 통신 오류와 연속 클릭에 대응하기]()



