Margin time

From Puyo Nexus Wiki
Jump to: navigation, search
The default margin time in classic modes.
The default margin time in Fever as of Puyo Puyo! 15th Anniversary.
The Nuisance Puyo multiplier in Puyo Puyo!! 20th Anniversary.

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