Margin time
Margin time is the time period that indicates how long it takes before the target points starts to decrease. When the number of seconds in the match reaches the target points, the target points begin to decrease (initially by 4/3, otherwise known as being multiplied by 3/4 or 0.75), and will continue to decrease every 16 seconds after that until the target points have been reduced to 1 or this has gone on for 14 iterations, whichever comes first.
In Puyo Puyo!! 20th Anniversary, this is shown to the player as a Nuisance Puyo multiplier.
Margin Time was first implemented in Puyo Puyo Tsu to ensure that matches did not last too long, and has been present in every Puyo Puyo game since.
Pseudocode
The way the margin time works is similar to this, shown using code (note that targetPoints is always rounded down):
- targetPoints = initalTargetPoints
- previousTargetPoints = 0
- numIterations = 0
- Set timer to call ReduceTargetPoints in marginTime seconds
- Function ReduceTargetPoints
- currentTargetPoints = targetPoints
- If numIterations is equal to 0
- targetPoints = initialTargetPoints * 0.75
- Else
- targetPoints = previousTargetPoints / 2
- previousTargetPoints = currentTargetPoints
- Increase numIterations by 1
- If targetPoints is greater than 1 and numIterations is less than 14
- Set timer to call ReduceTargetPoints in 16 seconds
- End Function
In Puyo Puyo!! 20th Anniversary, the reduction of target points is shown as an increase to the Nuisance Puyo multiplier. The Nuisance Puyo multiplier works like this, with the Nuisance Puyo multiplier always being rounded down to 2 decimal places:
- nuisancePuyoMultiplier = initialTargetPoints / targetPoints
Examples
Target Points = 120
This is the standard used for Fever matches.
Iteration | Target Points | Nuisance Puyo Multiplier |
---|---|---|
0 (Initial) | 120 | x1.00 |
1 | 90 | x1.33 |
2 | 60 | x2.00 |
3 | 45 | x2.66 |
4 | 30 | x4.00 |
5 | 22 | x5.45 |
6 | 15 | x8.00 |
7 | 11 | x10.90 |
8 | 7 | x17.14 |
9 | 5 | x24.00 |
10 | 3 | x40.00 |
11 | 2 | x60.00 |
12 | 1 | x120.00 |
Target Points = 990
This is to show that the target points will never reach 1.
Iteration | Target Points | Nuisance Puyo Multiplier |
---|---|---|
0 (Initial) | 990 | x1.00 |
1 | 742 | x1.33 |
2 | 495 | x2.00 |
3 | 371 | x2.66 |
4 | 247 | x4.00 |
5 | 185 | x5.35 |
6 | 123 | x8.04 |
7 | 92 | x10.76 |
8 | 61 | x16.22 |
9 | 46 | x21.52 |
10 | 30 | x33.00 |
11 | 23 | x43.04 |
12 | 15 | x66.00 |
13 | 11 | x90.00 |
14 | 7 | x141.42 |
Target Points = 10
This is to show that the target points will reach 1 before it goes through all its iterations.
Iteration | Target Points | Nuisance Puyo Multiplier |
---|---|---|
0 (Initial) | 10 | x1.00 |
1 | 7 | x1.42 |
2 | 5 | x2.00 |
3 | 3 | x3.33 |
4 | 2 | x5.00 |
5 | 1 | x10.00 |
Resources
- Inosendo's guide on margin time (Japanese)