본문 바로가기

볼봇의 코딩 생활/언리얼한 엔진

UE4 구글 플레이 게임 업적 연동 하기

 

얼마 전, 언리얼 엔진 에서 구글 플레이를 연동하는 방법에 대해 알아봤다.

 

이번에는 구글 플레이 게임에서 제공하는 여러 기능 중 "업적" 에 대해 알아보려고 한다.

 

이번 포스팅은 구글 플레이 게임이 연동되어 있는 게임 프로젝트에 한하여 작동하므로

아직 연동하지 않은 독자는 아래 포스팅을 참고하여 연동을 마치고 돌아오자.

 

[UE4] 구글 플레이 로그인 구현 (tistory.com)

 

[UE4] 구글 플레이 로그인 구현

게임 내 사용자를 구분하는건 중요한데 HTTP 웹 서버를 따로 구현해서 인증 서비스를 만들지 않는 이상 쉬운 작업은 아니다. 따라서 이번 포스팅에서는 구글 플레이 게임에 로그인 하는 방법에

ballbot.tistory.com

 

업적이란?

구글 플레이 게임에서 업적 기능은 특정 레벨이나 등급에 도달했을 때 이뤄지는 일종의 도전과제이다.

 

콘솔에서 업적을 등록하고, 인 게임에서 업적에 대한 진행도를 Write 해 나가는 식으로 구현한다.

 

구글 플레이에서 업적 만들기

우선 업적을 만들어야 한다.

 

구글 플레이 콘솔에서 "업적" 으로 이동한다.

 

 

 

 

우측 상단에 업적 만들기를 누른다.

 

 

 

이름, 설명, 아이콘을 업로드 해야한다.

이름 영어로 작성해야 한다. 말 그대로 업적 이름
설명 이 업적에 대한 설명이다. 인 게임에서 표시된다.
아이콘 업적 아이콘이다. 인 게임에서 표시된다.
포인트 한 게임에서 1,000점의 포인트를 제공 할 수 있다.
업적의 난이도를 고려해서 잘 배분하자.

 

좀 빡세다.

아이콘 만드는것도 번거롭고, 하나씩 추가하기도 귀찮긴 한다.

 

 

그래도 몇분이면 금방 할 수 있으므로 열심히 추가해보자.

참고로 필자는 이미 출시된 상태라서, 이렇게 달성수나, 달성 시간과 같은 추가 정보들이 뜨고 있다.

 

 

언리얼 엔진에서 업적 적용

프로젝트 세팅 > Android 로 이동한다.

 

Name 업적의 이름을 입력한다.
Achievement ID 위 사진에 보이는 ID 값을 입력한다.

 

굉장히 귀찮다. 거의 다 했으니 인내를 가지고 끝까지 추가하자.

필자의 업적은 총 12개 이므로 업적 맵에 + 버튼을 12번 눌러서 다 추가했다 ^^

 

업적 쓰기

업적 등록을 마쳤다면, 업적의 진행도를 작성 할 수 있다.

C++ 에서는 잘 작동하지 않고, 블루프린트를 쓰면 간단하게 해결 할 수 있다.

아래 노드를 소환한다. 위치는 어디든 좋다.

 

Progress 가 100.0 이 되는 순간 업적이 달성된다.

이 노드에 대한 자세한 레퍼런스는 엔진 레퍼런스를 참고하자.

 

Write Achievement Progress | Unreal Engine Documentation

 

Write Achievement Progress

Write Achievement Progress

docs.unrealengine.com

 

또한,

전체적인 업적의 진행 상황을 보려면 아래 노드를 스폰하고 호출 한다.

 

레퍼런스도 필요 없지만, 혹시 궁금한 독자는 아래 링크를 참고하자.

 

Show Platform Specific Achievements Screen | Unreal Engine Documentation

 

Show Platform Specific Achievements Screen

Show Platform Specific Achievements Screen

docs.unrealengine.com

 

실행 결과

 

이제 앱을 실행해서 업적을 달성해보거나, 업적 화면을 띄우는 함수를 호출해서 잘 작동하는지 확인한다.

 

 

 

등록한 업적이 모두 나오면 성공이다.