Challenges
How does it work?

How does it work?

The Earn Alliance Challenge system works by leveraging game events to track player progress and determine the completion of configured challenges. Here's an overview of how it typically operates:

Defining Challenges: Game developers define a set of challenges within the game. Challenges can vary in complexity, objectives, and requirements. Each challenge is configured with specific conditions that need to be met for completion.

Defining Game Events: Game developers determine what events are needed to track the progress and completion of the defined set of challenges. The game sends these events to the Earn Alliance Events API based on player actions, interactions, or achievements. These events can include actions like completing a level, defeating an enemy, earning points, collecting items, reaching a milestone, or any other significant in-game activity.

Defining Account Identifiers: To map the game specific user ids, to the Earn Alliance user accounts, there needs to be at least one account identifier sent to the API. These identifiers include email address, wallet address, Discord id, etc., and it is good practice to send these on user signup and signin. Once that is done, the Game Events can refer to the internal user id.

Challenge Scheduling: The defined Challenges are configured and scheduled on the Earn Alliance platform. We recommend to schedule daily challenges that rotate between a set of defined challenges.

Player Participation: When a player wants to start a Challenge, they can choose to enter for free, which would grant them a small reward on our platform, if they complete the Challenge. They could also choose to pay an entry fee (stake), which would grant them a larger reward if they complete the Challenge. Once they have started it, they have to complete the required mission before the timer runs out.

Event Evaluation: The captured game events are evaluated against the conditions set for each challenge. While the player is active on the Earn Alliance platform, the Challenge system tries to sync the state of the challenge, to see if the received game events for the player, align with the requirements specified for each challenge. For example, if a challenge requires the player to defeat 10 enemies, the system might check if the player has triggered the event for defeating an enemy 10 times.

Challenge Completion: Once the player's actions fulfill the conditions of a challenge, the Challenge system marks the challenge as completed.

Reward Distribution: Upon challenge completion, the player will receive a prompt to claim their rewards. The Challenge system manages the distribution of these rewards, providing a sense of accomplishment and incentivizing players to continue engaging with the game.

Progress Tracking: The Challenge system only updates the player's ongoing progress toward each challenge, when it receives a sync request. This typically happens when a player visits the Earn Alliance platform. But even if the sync does not happen until after the challenge timer has expired, it will still evaluate the game events that were sent during the challenge duration and correctly mark the Challenge as either completed or failed.

Challenge Updates and Refresh: Game developers can periodically update or refresh the available challenges to offer new objectives and keep the experience engaging for players. This may involve adding new challenges, modifying existing ones, or introducing time-limited or seasonal challenges. It is a good practice to concider this when defining the Game Events sent to the Earn Alliance Event API. Having generic, yet flexible event names, values and traits, could allow for a wide arrange of different Challenges without having to make changes to the game every time.

By utilizing game events to track player actions and progress, the Challenge system creates a dynamic and interactive gameplay experience. It motivates players to engage with specific objectives, offers a sense of accomplishment upon challenge completion, and provides ongoing goals to pursue, enhancing player retention and enjoyment in the game.