Dynamic Challenges
Dynamic points challenges are inspired by CTFd
\[ \text{new value} = \left\lceil \frac{\text{minimum} - \text{initial}}{\text{decay}^2} \cdot \text{solve_count}^2 + \text{initial} \right\rceil \]
The solve count used for recalculation excludes the newly accepted solve. Once the calculated value reaches the configured minimum, the challenge remains at that minimum for all later solves.
For event challenges, the solve count contains one competitive solve per team. Submissions from hidden teams or hidden members are excluded. When an administrator hides or unhides a participant, or deletes a team, the affected dynamic challenge values are recalculated immediately. Removing a member transfers their solves to the captain, so it normally does not change solve counts or challenge values. Lab challenges continue to count individual user solves.
For an initial value of 500, a decay of 20, and a minimum of 50, the first ten solves are:
| Solve | Previous solves | Points |
|---|---|---|
| 1 | 0 | 500 |
| 2 | 1 | 499 |
| 3 | 2 | 496 |
| 4 | 3 | 490 |
| 5 | 4 | 482 |
| 6 | 5 | 472 |
| 7 | 6 | 460 |
| 8 | 7 | 445 |
| 9 | 8 | 428 |
| 10 | 9 | 409 |