업적은 게임에서 사용자의 참여를 늘릴 수 있는 좋은 방법이 될 수 있습니다. 게임에서 업적을 구현하여 플레이어가 일반적으로 사용하지 않는 기능을 실험하거나 완전히 다른 플레이 스타일로 게임에 접근하도록 권장할 수 있습니다. 업적은 또한 플레이어가 진행 상황을 서로 비교하고 즐거운 마음으로 경쟁에 참여할 수 있는 재미있는 방법이 될 수 있습니다.
플랫폼의 업적을 구현하는 방법은 클라이언트 구현을 참고하세요.
속성
업적의 작동 방식을 이해하려면 업적과 관련된 속성을 숙지하는 것이 좋습니다.
다음 기본 요소는 모든 업적에 관련됩니다.
- ID: Google Play Console에서 생성되는 고유 문자열입니다. 이 고유 ID를 사용해 게임 클라이언트의 업적을 참조하게 됩니다.
- 이름: 업적의 간략한 이름입니다(예: 'Master Pieman'). 값은 최대 100자(영문 기준)까지 입력할 수 있습니다.
- 설명: 업적에 관한 간략한 설명입니다. 보통 플레이어에게 업적을 획득하는 방법을 알려줍니다(예: '해가 지기 전에 레몬 머랭 파이를 구우세요'). 값은 최대 500자(영문 기준)까지 입력할 수 있습니다.
- 아이콘: 업적에 연결되는 정사각형 아이콘입니다. 업적 아이콘을 만들 때 권장사항은 아이콘 가이드라인 섹션을 참고하세요.
- 목록 순서: 플레이어가 게임과 연결된 업적을 볼 때 잠긴 업적이 표시되는 순서입니다. 원하는 대로 순서를 지정할 수 있습니다. 달성한 업적은 달성한 순서대로 목록 상단에 표시됩니다.
도
업적은 다음 세 가지 상태 중 하나일 수 있습니다.
- 숨김 업적의 경우 업적에 관한 세부정보가 플레이어에게 표시되지 않습니다. Play 게임즈 서비스에서는 업적이 숨겨진 상태일 때 업적에 관한 일반적인 자리표시자 설명과 아이콘을 제공합니다. 너무 일찍 공개하고 싶지 않은 게임에 관한 스포일러가 포함되어 있다면 업적을 숨김으로 설정하는 것이 좋습니다(예: '당신은 내내 유령이었습니다').
- 공개 업적은 플레이어가 업적에 관해 알고 있지만 아직 획득하지 못했음을 의미합니다. 대부분의 업적은 공개 상태로 시작합니다.
- 달성 업적은 플레이어가 성공적으로 획득한 업적입니다. 업적은 오프라인에서 달성할 수 있습니다. 게임이 온라인 상태가 되면 Play 게임즈 서비스와 동기화하여 업적 달성 상태를 업데이트합니다.
단계별 업적
업적은 표준 또는 단계별로 지정할 수 있습니다. 일반적으로 단계별 업적은 플레이어가 오랜 기간 업적을 달성하기 위해 점진적으로 게임을 진행해야 합니다. 플레이어가 단계별 업적을 향해 게임을 진행할 때 플레이어의 부분 진행 상황을 Play 게임즈 서비스에 보고할 수 있습니다.
Google Play 서비스는 진행 상황 정보를 추적하고 플레이어가 업적을 달성하는 데 필요한 기준을 충족했을 때 게임에 알림을 보내며 플레이어가 목표를 달성하기까지 얼마나 진행되고 있는지 플레이어에게 알려줍니다.
![플레이어의 진행률을 40%로 표시하는 단계별 업적의 예입니다.](https://developer.android.com/static/images/games/pgs/achievementIncremental.png?authuser=0000&hl=ko)
단계별 업적은 게임 세션 전반에 걸쳐 누적되며 진행 상황은 게임 내에서 삭제하거나 재설정할 수 없습니다. 예를 들어 '게임에서 50번 이기세요'와 같은 업적은 단계별 업적으로 인정됩니다. 하지만 '게임에서 연속으로 3번 이기세요'는 인정되지 않습니다. 게임에서 지면 플레이어의 진행 상황이 재설정되기 때문입니다. '포커 칩 5,000개를 모으세요'도 마찬가지입니다. 플레이어가 플레이하면서 칩을 얻거나 잃을 수 있기 때문입니다. 뒤에 나온 두 업적의 경우 플레이어의 '연속 승리' 상태 또는 칩 합계를 추적하여 플레이어가 기준에 도달할 때 표준 업적을 달성하도록 설정하는 것은 개발자의 몫입니다.
단계별 업적을 만들 때는 업적 달성에 필요한 총 단계 수를 정의해야 합니다. 2~10,000 사이의 숫자여야 합니다. 사용자가 업적 달성을 향해 게임을 진행해 나갈 때 사용자가 실행한 추가 단계 수를 Play 게임즈 서비스에 보고해야 합니다. 전체 단계의 수가 달성 값에 도달하면 업적이 달성됩니다(숨겨진 경우도 해당). 사용자의 누적 진행 상황을 저장할 필요는 없습니다.
포인트
업적에는 연결된 점수 값이 있습니다. 플레이어의 점수는 5의 배수여야 하고 게임은 모든 업적 포인트가 총 1,000점을 초과할 수 없습니다(더 작을 수는 있음). 또한 단일 업적은 200포인트를 초과할 수 없습니다.
참여 점수(XP) 추적
플레이어는 Play 게임즈 지원 게임에서 업적을 달성하면 게임 프로필에서 등급을 획득할 수 있습니다. 업적과 관련된 모든 포인트의 경우 플레이어는 업적을 달성하면 100 참여 점수(XP)를 얻게 됩니다. 즉,
XP for an achievement = 100 * (point value for the achievement)
Play 게임즈 서비스는 각 플레이어가 획득한 XP를 추적하여, 플레이어가 '등급을 올릴' 수 있는 포인트를 충분히 획득했을 때 Google Play 게임즈 앱에 알림을 전송합니다. 플레이어는 Google Play 게임즈 앱의 프로필 페이지에서 등급과 XP 기록을 볼 수 있습니다.
최소 업적
업적을 통합하는 게임은 게시하기 전에 최소 5개의 업적이 있어야 합니다. 5개 미만의 업적으로 테스트해도 되지만 게임을 게시하기 전에 업적을 5개 이상 만드는 것이 좋습니다.
최대 업적
업적 개수는 포인트 한도 및 분포에 따라 제한됩니다. 최대 포인트는 1,000이고 각 업적에 5포인트가 할당되면 최대 업적 개수는 200개입니다. 하지만 업적에 포인트가 더 많이 할당되면 결과적으로 사용 가능한 업적 개수가 줄어듭니다.
아이콘 가이드라인
아이콘은 512 x 512 PNG 또는 JPG 파일로 만들어야 합니다. 달성한 업적의 아이콘만 제공하면 됩니다. 공개된 아이콘의 그레이 스케일 버전이 자동으로 생성됩니다. 따라서 업적 아이콘에 다채로운 요소를 포함하여 사용자가 공개 업적과 달성 업적을 쉽게 구별할 수 있도록 하는 것이 좋습니다.
업적 아이콘이 Android 토스트 메시지에 표시되면 아이콘이 동그라미와 겹쳐지면서 바깥쪽 모서리가 숨겨집니다. 이러한 상황에서도 아이콘이 보기 좋게 표시되는지 확인하세요.
![원 안에 배치된 업적 아이콘의 예입니다.](https://developer.android.com/static/images/games/pgs/achievementIconExample.png?authuser=0000&hl=ko)
모든 언어에서 동일한 아이콘이 사용되므로 아이콘에 텍스트나 현지화된 콘텐츠를 포함하지 않는 것이 좋습니다.
업적 만들기
이 섹션에서는 새 게임과 게시된 게임의 업적을 만드는 방법을 설명합니다.
새 게임
게시되지 않은 새 게임의 업적을 만들려면 게임 서비스가 제공되는 게임 탭에서 게임의 Google Play Console 항목으로 이동합니다.
왼쪽에 있는 업적 탭을 선택하고 업적 추가 버튼을 클릭합니다.
![기본 업적 패널의 '업적 추가' 버튼입니다.](https://developer.android.com/static/images/games/pgs/achievementAddButton.png?authuser=0000&hl=ko)
그런 다음 해당 업적에 필요한 정보를 입력합니다.
!['마지막 단계' 업적과 관련해 작성된 샘플 업적 양식입니다.](https://developer.android.com/static/images/games/pgs/achievementSampleForm.png?authuser=0000&hl=ko)
저장을 클릭하면 '게시 준비 완료' 모드에서 업적을 사용할 수 있습니다. 게임을 게시하면 게임의 모든 업적이 함께 게시됩니다.
게시된 게임
이미 게시된 게임의 추가 업적을 만들려면 위와 동일한 단계를 따르세요. 유일한 차이점은 저장 버튼의 라벨이 초안으로 저장으로 변경되고 업적이 '테스트 준비 완료' 모드로 전환된다는 것입니다. 업데이트된 버전의 게임 테스트에 관한 자세한 내용은 게임 변경사항 게시를 참고하세요.
업적을 테스트하고 만족하면 새 업적으로 게임을 다시 게시할 수 있고 그러면 전 세계에 공개됩니다.
업적 수정
이미 만든 업적을 수정하려면 Google Play Console의 업적 탭에서 업적을 선택합니다. 이때 업적을 처음 만들 때 사용한 것과 동일한 양식이 표시되므로 원하는 대로 필드를 수정할 수 있습니다.
업적 수정을 완료하면 초안으로 저장 버튼을 클릭합니다. 새로 수정한 업적은 '테스트 준비 완료' 단계가 되므로 테스트할 수 있습니다. 제대로 작동하는 경우 드롭다운 목록에서 다시 게시를 선택합니다. 이렇게 하면 업데이트된 모든 업적과 함께 게임이 다시 게시됩니다.
수정 실행취소
현재 업적이 마음에 들지 않고 전과 같은 업적으로 돌아가려면 Google Play Console의 드롭다운 목록에서 되돌리기를 선택합니다. 그러면 모든 업적이 이전에 게시된 버전으로 되돌아갑니다.
업적 삭제
게시된 업적은 삭제할 수 없습니다.
사전 게시된 상태의 업적만 삭제할 수 있는데 해당 업적 양식 하단에 있는 삭제 버튼을 클릭하면 됩니다.
업적 재설정
초안 업적의 플레이어 진행 상황 데이터만 재설정할 수 있습니다.
- Google Play Console에서 업적을 재설정하려면 해당 이벤트 양식 하단에 있는 업적 진행 상황 재설정 버튼을 클릭합니다.
- 프로그래매틱 방식으로 업적 데이터를 재설정하려면
Management API
Achievements
메서드를 호출하세요.
업적에 관한 번역 추가
게임과 연결된 업적에 관한 자체 번역을 지정할 수 있습니다. 이렇게 하려면 먼저 게임에 번역 추가에 설명된 단계를 완료해야 합니다. 또한 게임에 업적을 하나 이상 만들어야 합니다.
자체 업적 번역을 추가하려면 Google Play Console에서 게임의 업적 탭을 열고 기존 업적을 선택합니다. 업적 세부정보 페이지에서 이전에 게임 세부정보 탭에 추가한 언어의 탭을 선택합니다. 해당 언어의 업적 세부정보 페이지에서 해당 업적의 번역으로 양식을 수정합니다. 저장을 클릭하여 번역된 업적 세부정보를 저장합니다.
클라이언트 구현
플랫폼의 업적을 구현하는 방법은 다음 리소스를 참고하세요.