Goals assignment customization
The beta version of the goals assignment customization feature is now available with AccelByte Gaming Services (AGS) 3.77. To integrate this feature into your environment, you can open a request through the AccelByte Customer Support Portal.
Overview
AccelByte Gaming Service (AGS) Challenge provides the ability to override the basic goals assignment using AGS Extend. By enabling you to incorporate custom logic and a range of configurable options, you can tailor AGS Challenge to match your specific needs.
Some examples of goals assignment customization include assigning specific goals to specific players based on their attributes (e.g., player level) or the features they are interacting with (e.g., map-specific challenges).
This article gives ideas on what challenge service features are available for you to override, and provides an example scenario.
Prerequisites
To use the information in this article, you will need to have an AGS Extend app created and configured. You will also need an understanding of AGS Statistics to store goal values for players.
Override goals assignment logic
By default, AGS Challenge allows you to configure goals assignments with predefined rules. For more information about predefined goals assignments, see Goals assignment. With the predefined rules, you are limited in the options available, and all players will get the same goals every time the service is assigned. With goals assignment customization, you can customize AGS Challenge according to your needs by overriding the goals assignment process with your own custom logic using AGS Extend.
The following is a diagram on how AGS Extend overrides the challenge assignment process:
Assignment customization flow
- AGS Challenge requests goals assignment for a specific player.
- AGS Extend gets the player’s level data from AGS Statistics.
- AGS Statistics returns player’s level data.
- AGS Extend uses the player’s level data to select the goals that will be assigned. For example, a level 66 player will get 1 easy, 2 medium, and 3 extreme goals.
- AGS Extend filters the goals by tag to randomly select specified amount of goals.
- Extend returns selected goal to AGS Challenge.
- AGS Challenge saves the goal assignment for that specific player.
Configure goal assignment customization
- In the AGS Admin Portal under your desired game namespace, go to Engagement > Challenges > Customization.
- Click Add Configuration.
- On the pop-up, choose an AccelByte-hosted app, or put your own server address in the Locally hosted for testing purpose section.
- Click Register to complete.
Challenge assignment customization example
The following sections represent this example scenario:
Create and configure a challenge with a total of 50 goals for each difficulty level that the player can complete. There will be 3 different difficulty levels for the goals: easy, medium, and extreme. The goals will be rotated every day so players will have different daily goals to complete. Each player will be assigned a maximum of 6 daily goals with a number of different goal difficulty levels based on the player’s level.
Example UI Implementation
Here is an example of what the UI for a customized goal assignment might look like:
Store player level
You can use AGS Statistics to create a statistic configuration to store players' levels, which will be used to determine goal difficulty that will be assigned to players. Here is an example configuration to store player levels with a range of 1 to 100:
Store player progress
You can also use AGS Statistics to store players’ goal progress, which will be used by the challenge to be compared with the target value that the players need to achieve. Here is an example configuration to store the number of monsters killed:
Example challenge configuration
Below is an example configuration for a basic challenge:
- Challenge Name: Daily Mission
- Challenge Code:
dailymission
- Description (optional): Complete the daily mission and claim the rewards.
- Start Date: 01/12/2024, 00:00 AM
- Ends: Never
- Rotation Type: Daily
- Reset Time: 00:00 AM
- Assignment Rule: Custom (Override the assignment rule with custom logic by using AGS Extend)
Example goal configuration
You can tag goal configurations to group goals by difficulty level: easy, medium, or extreme. Below is an example of a goal configuration:
- Goal Name: Routine Recon
- Goal Code:
routinerecon
- Tags: EASY (This will be used to assign the goal based on player level)
- Status: Enable
- Description: Kill 5 Monsters
Example goal requirement configuration
Here is an example goal requirement configuration:
- Requirement Type: Statistic Code and Cycle (You can use stat cycle and match the cycle rotation with the challenge rotation so player progression will reset every rotation)
- Statistic Code:
killmonster
- Cycle: Daily
- Statistic Code:
- Goal Value
- Operator: Equal to
- Target Value: 5
Example reward configuration
Here is an example reward configuration:
- Reward Type: Entitlement
- Reward Item: Search and select reward item (Pink Gem)
- Reward Value: 100