게임 데이터와 처리 흐름
각 장에서 사용한 데이터 개념을 한곳에서 살펴보는 자료입니다. 각 단계에 필요한 설명은 해당 장에도 있습니다.
게임 설정과 플레이어 데이터
게임에는 미리 정하는 규칙과 플레이하면서 바뀌는 값이 있습니다.
‘숲 탐험을 클리어하면 10코인을 받는다’는 게임 설정입니다. 반면 ‘이 플레이어는 30코인을 가지고 있다’는 플레이어별 데이터입니다. GS2는 이 둘을 나누어 관리합니다.
| 용어 | 이 게임의 예 | 변경 시점 |
|---|---|---|
| 마스터 데이터 | 숲 탐험 보상은 10코인 | 개발자가 설정을 변경하고 배포할 때 |
| 사용자 데이터 | 이 플레이어는 30코인을 보유 | 플레이어 조작이나 서버 처리 |
예를 들어 30코인을 가진 플레이어가 숲 탐험을 클리어하면 GS2는 보상 설정을 보고 10코인을 더합니다. 저장된 잔액은 40코인이 됩니다.
Unity로 만든 게임 클라이언트는 화면, 연출, 버튼 입력을 담당합니다. 시작 버튼을 누르면 Unity가 GS2에 모험 시작을 요청합니다. GS2는 설정과 플레이어 데이터를 확인해 처리하고, Unity는 결과를 받아 화면에 표시합니다.
개발자가 설정 배포하기
flowchart LR
A[보상과 소비량 설정] --> B[GS2에 배포]
A --> C[Unity 표시 데이터]
B --> D[GS2가 처리에 사용하는 설정]
C --> E[목록과 화면 표시]먼저 보상 수량과 모험에 필요한 스태미나를 설정하고 GS2에 배포합니다. Unity에서 상품명이나 가격을 표시하는 에셋을 사용한다면 함께 업데이트합니다.
상품 가격을 바꾼다면 실제로 지불하는 코인뿐 아니라 화면의 가격도 바꿔야 합니다. 구매할 때 두 금액이 같은지 확인해 봅니다.
플레이어가 조작하기
sequenceDiagram
participant P as 플레이어
participant U as Unity
participant G as GS2
P->>U: 모험 시작
U->>G: 플레이어와 모험 지정
G->>G: 시작 조건 확인 후 모험 시작
G-->>U: 처리 결과
U-->>P: 진행 상황과 스태미나 표시
P->>U: 모험 클리어
U->>G: 모험 클리어 요청
G->>G: 보상을 지급하고 모험 종료
G-->>U: 처리 결과
U-->>P: 코인과 진행 상황 표시이 게임에서 사용하는 서비스
| 서비스 | 이 튜토리얼에서의 역할 |
|---|---|
| GS2-Account와 인증 기능 | 플레이어 식별과 로그인 |
| GS2-Quest | 모험 설정과 진행 중인 모험 관리 |
| GS2-Money2 | 보상으로 받은 무상 코인 관리 |
| GS2-Stamina | 모험에서 소비하는 스태미나 관리 |
| GS2-Exchange | 코인 소비와 스태미나 회복을 하나의 작업으로 처리 |
GS2-Exchange는 코인으로 스태미나를 회복하는 상점에 사용합니다. 코인 지불과 스태미나 회복을 함께 처리하도록 TransactionSettingV2(새 탭)를 설정합니다.
생각해 보기
‘숲 탐험 보상을 15로 변경하기’, ‘내 코인이 15 늘어나기’, ‘목록의 보상 표시를 15로 바꾸기’는 각각 마스터 데이터, 사용자 데이터, 화면 표시 중 무엇을 바꿀까요? 이 차이를 알면 설정을 바꿨는데 화면이 바뀌지 않을 때 어디를 확인해야 할지 찾기 쉽습니다.