Skip to main content

How challenges work in AGS

Last updated on October 24, 2024

This article provides sample configurations for various types of challenges you can create with the AccelByte Gaming Services (AGS) Challenge service.

Challenges in AGS generally work as follows:

  1. Game developers or game admins create and configure challenges.
  2. Players start the challenges and track their progress towards the goals.
  3. After players complete goals, they can claim their rewards.
note

We recommend reading the Introduction to Challenge article first to get an understanding of the concepts and terminology used in creating and configuring challenges in AGS.

Create and configure challenges

Create challenges in the AGS Admin Portal and configure how and when they're assigned to your players. The challenge configuration will encompass a set of rules outlining its activation, how its assigned to players, the requirements needed to complete goals, and the rewards that will be granted to players when they complete goals.

To create in the AGS Admin Portal, see Create and configure challenges.

Challenge types

The Challenge service allows you to combine different types of rotation periods, assignment rules, and goals to create the challenges you want for your game. The challenge period can either be timeless (never-ending) or time-bound, with goals that are either fixed or dynamically assigned.

  • Challenge periods
    • Timeless: a challenge that never ends and is available at all times, allowing players to pursue and accomplish its objectives at their convenience.
    • Time-bound: a challenge with a specified time period during which players must complete its goals. After the period elapses, only players who completed the goals in the challenges will be granted rewards.
  • Goal assignment types
    • Fixed: goals in this challenge are predefined by the game admin for each rotation or period of time. This is suitable for single-player games or multiplayer games with linear campaign modes where the story or progression is predefined for each rotation or period of time.
    • Dynamic: goals in this challenge may change over time. This option allows you to introduce variability and unpredictability to your players' game experience, providing them with new goals and experiences each time they engage with challenges. This is frequently seen in open-world games or multiplayer games since it provides greater replay value.

Sample challenge configurations

This section provides sample configurations for various combinations of challenge periods and goal assignment types.

Timeless fixed challenge

Scenario: Create and configure a challenge with 50 goals that players can complete at any time and categorize the goals into groups of five based on difficulty.

Timeless fixed challenge

This challenge will require the following challenge and goal configurations:

Challenge configuration

This image shows the configuration needed to set up the challenge.

Timeless fixed challenge configuration

Goal configuration

You can use goal tags to group every five goals to a single category.

tip

You also have the option to use the Challenge API to retrieve the challenge, display it alongside player progress within the game client, and group the goals by tag. You can do this after the challenge and its goals are fully configured.

This image shows the configuration for a goal named "Operation Midnight Saber," categorized under the tag "Shadows of the Eclipse:"

Timeless fixed challenge goal configuration

note
  • Setting the Requirement Type to Statistic allows you to use AccelByte Statistic to track this attribute.
  • For Stat Code, select the stat code you created to track the number of basic skills used.

After all 50 goals are created, they will be displayed in the Goals and Rewards list. The groups don't have to be assigned to a specific rotation since there is no rotation type set for this challenge.

Time-bound fixed challenge

Scenario: Create and configure a challenge with 15 goals that players can complete throughout the month of December. The goals must be grouped based on difficulty: Beginner, Medium, and Expert.

Time-bound fixed challenge

This challenge will require the following challenge and goal configurations:

Challenge configuration

This image shows the configuration needed to set up the challenge.

Time-bound fixed challenge configuration

Goal configuration

You can use goal tags to group every five goals to a single category.

tip

You also have the option to use the Challenge API to retrieve the challenge, display it alongside player progress within the game client, and group the goals by tag. You can do this after the challenge and its goals are fully configured.

This image shows the configuration for a goal named "Basics of Battle," categorized under the tag "Medium level:"

Time-bound fixed challenge goal configuration

After all the goals needed in the challenge are created, they will be displayed in the Goals and Rewards list. The groups don't have to be assigned to a specific rotation since there is no rotation type set for this challenge.

Timeless dynamic challenge with fixed goals

Scenario: Create and configure a never-ending weekly challenge where players are rewarded for daily logins throughout the week, from Sunday to Saturday. Each day must offer different rewards. Players must be allowed track their past rewards and see upcoming rewards for each rotation.

Timeless dynamic challenge with fixed goals

This challenge will require the following challenge and goal configurations:

Challenge configuration

Configure the following challenge properties as follows:

  • Repeat After: set to 7 Rotation to repeat the challenge rotation from the beginning after seven days.
  • Assignment Rule: set to Fixed because the goal set for the 7-day rotations will be the same.
  • Goals Visibility For Players: set to Goals visible in all rotations to allow players to see the upcoming rotation's reward.

This image shows the configuration needed to set up the challenge:

Timeless dynamic challenge with fixed goals challenge configuration

important

In AGS version 3.75 and earlier versions, setting the end date to Never does not work as expected. The rotation period will be unlimited, and the service is not scheduling it correctly. We will fix this behavior in the upcoming version. As a temporary workaround, set an actual end date or period. To enable the challenge to be active indefinitely, set the end date to a very distant year, e.g., 2050.

Goal configuration

Create seven goals and assign each configuration to their respective rotation. The challenge starts on Sunday, so Rotation 1 should be assigned the Sunday goal and Rotation 7 should have the Saturday goal. When Rotation 7 is over, the cycle repeats from Rotation 1 (Sunday).

This image shows the configuration for the Rotation 1 (Sunday) goal:

Timeless dynamic challenge with fixed goals configuration

This image shows the complete list of goals required for the challenge, with each goal assigned to their respective rotation:

Period goals

Timeless dynamic challenge with randomized goals

Scenario: Create and configure a never-ending daily challenge where players aim to complete three randomly selected goals from a pool of 90. The cycle must repeat every 30 days.

Timeless dynamic challenge with randomized goals

This challenge will require the following challenge and goal configurations:

Challenge configuration

This image shows the configuration needed to set up the challenge:

Timeless dynamic challenge with randomized goals

important

In AGS version 3.75 and earlier versions, setting the end date to Never does not work as expected. The rotation period will be unlimited, and the service is not scheduling it correctly. We will fix this behavior in the upcoming version. As a temporary workaround, set an actual end date or period. To enable the challenge to be active indefinitely, set the end date to a very distant year, e.g., 2050.

Goal configuration

Create 90 goals within the challenge. Since the Assignment Rule in the challenge configuration has been set to Randomized, the goals in this challenge will be randomly assigned to the ongoing rotation. Some of the goals must also have two requirements and two rewards.

The following image shows the configuration for a sample goal with two requirements and two rewards:

Teamwork Triumph goal

note

You need to specify the operator between requirements to AND or OR. For this example, the operator is set to AND since players must meet both requirements to complete the goal.

When all 90 goals are created and configured, the Challenge service will automatically assign three random goals to the ongoing rotation.

Time-bound dynamic challenge with repetition

Scenario: Create and configure a challenge that will only be available during specific months, for example, during the winter season. The challenge should assign three goals to players each week for a month, with the same set of three fixed goals repeating every month.

Time-bound dynamic challenge with repetition

This challenge will require the following challenge and goal configurations:

Challenge configuration

This image shows the configuration for this sample challenge.

Time bound dynamic challenge with repetition

Goal configuration

Create 12 goals for this challenge that's structured into four rotations, with three goals assigned to each rotation. Each goal must grant two rewards upon completion.

This image shows the configuration for a sample goal called "Frosty Dominion:"

Frosty Dominion goal

Players start the challenges and track their progress towards the goals

Players advance through the challenge by completing the assigned goals. Each successful action (such as defeating monsters or collecting items) updates their goal progression, ensuring that their advancement is accurately tracked in the game.

Players complete goals and claim rewards

After completing goal requirements, players are eligible to claim their rewards.

For more information about the types of requirements you can use with the Challenge service, see Supported requirements for challenge goals.