-
Notifications
You must be signed in to change notification settings - Fork 172
Achievement System Staff Guide
Achievements are made up of two parts: The achievement itself, and the goals that need to be completed to complete the achievement.
There are two pages that achievements use:
- Achievement Dashboard (
/achievements
) which can be accessed through the navigation bar - Achievement Control (
/achievements/control
) which can only be accessed through URL.
The following is how the achievement dashboard looks like to a staff:
Notably, there is a bar for updating the goals of other users.
- User is a dropdown of all the users in your studio group (all users if you are not assigned to a group)
- Goal is a dropdown of all the goals that can be updated manually (Manual Goals)
- Count is how much the goal's count should be set to Click on Update Goal after you selected the settings to update that user's goal.
The achievement control is the place where you can add new goals and achievements at any time. The following is how it looks:
You can select an achievement and click the view button to see how its achievement view would look like. The components are as seen in the following example:
Achievements have the following properties:
- Title: the name of the achievement
- XP: the amount of XP that the student receives when he completes the achievement
- Ability: the classification of the type of achievement (Core, Effort, Exploration, Community, Flex)
- Release: When the achievement will start to be visible and obtainable
- Deadline: When the achievement will no longer be able to be obtained
If an achievement has no release, it will be released by default. Similarly, if an achievement has no deadline, it will not expire. Note that goals can still be obtained while the achievement is not released/expired, and that you should set the same release and deadline for the goal too if the goal should only be achievable while the achievement is released.
You can click the box icon to open up view settings, and input things like the description, background image, and completion text.
You can also click the wrench icon to edit more settings. These include:
- Card Background: the background image used for the achievement card
- Position: the order of the achievement as listed in the dashboard. 0 means that the achievement is hidden
- Prerequisites: other achievements that have to be completed before this achievement
- Goals: the goals that have to be completed for this achievement to be completed
- VariableXp: when this is checked, the achievement will have a variable XP awarded (elaborated below)
Hidden achievements are only visible when they are completed.
If an achievement has no goals, it will never be completed.
Variable XP means that once the achievement is completed (by completing all of its goals), the XP awarded will be equal to the sum of all the 'count' values of the goals. For example:
There are currently two types of goals that are supported: Manual and Event
Goals have a target count, which is the number that needs to be reached for the goal to be completed. A goal's count is just a number that signifies the progress.
Manual goals are completed when a staff awards it to the student via the achievement dashboard.
Event goals have their count increased by 1 when the user does an event between the release and deadline, within the 'observe from' and 'observe to' times.
Currently, the following events exist:
- Run Code which is when code is run from the editor
- Error which is when code that is run results in error(s)
- Infinite Loop which is when code that is run results in an infinite loop error
- Run testcase which is when a testcase is run
To elaborate, an event goal with event types "Error" and "Infinite Loop" will have its count increase by one every time an error that is not an infinite loop occurs, and twice when an error that is an infinite loop occurs.
An event goal with type "Run Code", observe from of 0100 and observe to of 0200 will only increase when code is run between 1am and 2am of every day between the specified release and deadline.