Dynamic Score Formula
The score for a challenge is calculated using an exponential decay formula:Parameters
Original Score: The base point value of the challenge (configured by admin)
Minimum Score Ratio: The lowest percentage of original score the challenge can reachFor example,
r = 0.2 means the challenge will never drop below 20% of its original value.Difficulty Coefficient: Controls how quickly the score decreases
- Lower values (e.g., 5): Score drops quickly
- Higher values (e.g., 20): Score drops slowly
Submission Count: Number of teams that have solved the challenge
Example Calculation
Given a challenge with:- Original score: S = 1000
- Minimum ratio: r = 0.3 (30% minimum)
- Difficulty: d = 10
- Solves: x = 5 teams
Score Decay Behavior
Here’s how the score changes as more teams solve a challenge:Blood Bonuses
The first three teams to solve a challenge receive bonus multipliers on top of the current score:First Blood
+50% bonus (1.5x multiplier)First team to solve receives 150% of current score
Second Blood
+30% bonus (1.3x multiplier)Second team receives 130% of current score
Third Blood
+10% bonus (1.1x multiplier)Third team receives 110% of current score
Blood bonuses are awarded based on the order of accepted submissions, not submission time. Only correct flags count.
Blood Bonus Configuration
Blood bonuses are configurable per game:500= 50.0%300= 30.0%100= 10.0%50= 5.0%
Example with Blood Bonus
A challenge worth 800 points at the time of solving:| Position | Base Score | Bonus | Multiplier | Final Score |
|---|---|---|---|---|
| 1st solve | 800 | +50% | 1.5x | 1200 |
| 2nd solve | 789 | +30% | 1.3x | 1026 |
| 3rd solve | 778 | +10% | 1.1x | 856 |
| 4th solve | 768 | - | 1.0x | 768 |
Permissions and Scoring
Not all teams affect the dynamic score calculation:AffectDynamicScore Permission
Teams must have theAffectDynamicScore permission for their solves to increment x in the formula:
- With Permission
- Without Permission
Official Teams
- Solves increment the submission count
x - Affect score for all teams
- Typical for main competition divisions
GetScore Permission
Separately, teams needGetScore permission to actually receive points:
A team can have
GetScore without AffectDynamicScore - they earn points but don’t affect others’ challenge values.Score Calculation Flow
When a team submits a correct flag:Count submissions
Calculate
x = number of teams with AffectDynamicScore permission who have solved the challengeScoreboard Tie-Breaking
When teams have the same total score, tie-breaking uses:- Total Score (primary)
- Time of Last Accepted Submission (earlier is better)
- Team ID (lower is better, rare edge case)
Division-Specific Scoring
Divisions can have separate scoreboards:Overall Scoreboard
Overall Scoreboard
Includes all teams with
RankOverall permission- Typically for official participants
- Determines final rankings and prizes
Division Scoreboard
Division Scoreboard
Shows rankings within a specific division
- All teams in the division (regardless of
RankOverall) - Useful for regional or skill-based rankings
Related Topics
Challenges
Configure challenge base scores and types
Games
Set up blood bonuses and game configuration
Teams & Divisions
Manage team permissions and divisions
Participating
Understand flag submission and validation