7. 설정을 바꾸고 게임에 반영하기
기본 기능이 완성되었으니 게임 내용을 바꿔 봅시다. 숲 탐험의 보상을 10코인에서 15코인으로 늘리고 동굴 탐험 도 추가합니다. 설정을 바꾸면 화면과 실제 보상이 어떻게 달라지는지 확인합니다.
시작하기 전에
진행 중인 퀘스트를 클리어하고 구매 등의 처리가 끝난 뒤 설정을 변경합니다.
변경할 내용
| 퀘스트 | 소비 스태미나 | 일반 보상 | 첫 클리어 보상 |
|---|---|---|---|
forest 숲 탐험 | 5 | 15코인 | 없음 |
cave 동굴 탐험 | 8 | 20코인 | 없음 |
따라 하기
기존 행 수정하고 새 행 추가하기
Tables → Quest (Quest) 를 열고 다음과 같이 편집합니다.
| ID | 그룹 | displayName | 시작 시 소비 consumeValue | 일반 클리어 보상 count |
|---|---|---|---|---|
forest | main | 숲 탐험 | 5 | 15 |
cave | main | 동굴 탐험 | 8 | 20 |
forest의 일반 클리어 보상을 열고 depositTransactions → DepositTransaction → count 를 15로 바꿉니다.
행을 추가하여 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 양쪽에 반영합니다.
- Publish → Calculate server differences 에서 숲 변경과 동굴 추가를 확인하고 배포합니다.
- Update the Unity project 를 실행합니다.
displayName은 Unity 에셋에도 출력되므로 이 업데이트도 필요합니다. - Unity 재생을 중지했다가 다시 재생하고 로그인합니다.
- 목록에 두 퀘스트가 표시되는지 확인합니다. 코드는 각 행의
Start()를 호출하므로 동굴 전용 시작 처리는 필요하지 않습니다.
설정 업데이트하기
7장 템플릿을 다운로드하고 Deploy → adventure-game → Update stack 의 Template data 에서 파일을 선택합니다. 이전 리소스를 포함한 전체 템플릿입니다. 변경 내용을 확인하여 적용하고 Update complete 가 될 때까지 기다립니다.
템플릿은 forest의 지급량을 15로 바꾸고 cave를 추가합니다. 6장의 코드를 그대로 사용하고 재생을 중지했다가 다시 재생합니다. 로그인하면 main 그룹에서 가져온 숲과 동굴이 목록에 나타납니다. 선택한 퀘스트의 Name으로 시작하므로 새 동굴도 플레이할 수 있습니다.
새 퀘스트 플레이하기
목록에서 숲과 동굴을 모두 플레이해 봅시다. 배포 후 설정 반영까지 최대 5분이 걸릴 수 있습니다. 이전 목록이나 보상이 보이면 잠시 기다렸다가 Unity를 다시 재생하고 퀘스트를 새로 시작하여 확인합니다.
- 목록에 숲과 동굴이 표시됩니다.
- 숲을 새로 시작하여 클리어하면 15코인이 늘어납니다.
- 동굴 시작 시 스태미나 8을 소비하고 클리어하면 20코인이 늘어납니다.
- 기존 코인은 그대로 남고 클리어 보상만큼만 늘어납니다.
진행 중인 퀘스트에는 시작 시점의 정보가 저장됩니다. 변경한 설정을 확인할 때는 퀘스트를 새로 시작합니다. Unity에 표시용 데이터를 보관하는 경우에는 GS2 설정과 함께 업데이트합니다.
연습: 퀘스트 하나 더 만들기
이름, 필요 스태미나, 보상을 직접 정한 퀘스트를 추가해 봅시다. 목록에서 시작하고 클리어하여 보상까지 받아 봅니다. 스태미나가 부족할 때와 앱을 다시 실행했을 때도 확인합니다.
확인 순서
- 새 퀘스트를 선택하기 전에 코인 잔액을 기록합니다.
- 해당 퀘스트의 시작, 클리어 를 순서대로 누릅니다.
- 클리어 후 잔액에서 기록한 잔액을 뺍니다. 설정한 보상 수량과 같으면 새 퀘스트의 보상을 받은 것입니다.

