Cambridge
Cambridge | |
---|---|
Developer(s) | Joe Zeng, SashLilac (MillaDev / SpinTriple) |
Platform(s) | Windows, macOS, Linux |
Release | May 2019 |
Latest release | v0.3-beta3 (February 15, 2021) |
Gameplay info | |
Next pieces | variable |
Playfield size | 10 × 24, 20 visible rows |
Hold piece | variable (may have IHS) |
Hard drop | All variants supported |
Rotation system | ARS (Classic, Ti, Ace, Ace2), SRS (Ti, Ace), Cambridge, custom |
Cambridge is a Lua-based falling-block-game engine dedicated to creating a robust, easily customizable platform for creating new, custom game modes. It was originally made by Joe Zeng, and starting with version 0.1.5 on October 8, 2020, SashLilac (MillaDev / SpinTriple) took over development of the game.
The first public release of Cambridge coincided with the first Carnival of Darkness.
Game modes
These game modes are exclusive to, or originated from, Cambridge:
- Marathon 2020
- Survival 2020
- Strategy
These game modes from other creators are also supported:
- Phantom Mania, originally from Nullpomino
- Phantom Mania 2
These modes from published Tetris games:
- Marathon A1 (Tetris The Grand Master)
- Marathon A2 (Master mode from Tetris The Absolute The Grand Master 2)
- Marathon A3 (Master mode from Tetris The Grand Master 3 Terror-Instinct)
- Marathon AX4 (Another mode from Ace)
- Survival A1 (20G mode from TGM)
- Survival A2 (Death mode from TAP)
- Survival A3 (Shirase mode from Ti)
These modes used to be in the main game, but were removed from it and are available as a modpack:
Cambridge originals
- Interval Training
- TetrisGram™ Pacer Test
Modes from published Tetris games
- Race 40 (40 lines mode)
- Marathon C89 (A-Type from NES Tetris)
Modes by other creators
- Demon Mode, created by Oshisaure
This is not a complete list and will be edited in the future.
Marathon 2020
Marathon 2020 is Cambridge's own "Master" game mode, that endeavours to take the level-based game system from the TGM series up to 20 (twice), referring to the year 2020.
Gameplay
The goal of this mode is to reach level 2020. Every piece placed increases the level by 1, and every line cleared also increases the level by 1, with bonuses for large numbers of lines:
Lines cleared | Levels advanced |
---|---|
1 (single) | 1 |
2 (double) | 2 |
3 (triple) | 4 |
4 (tetris) | 6 |
When the current level reaches one less than the level at the bottom of the display (usually a multiple of 100), the level will not advance until a line is cleared.
Levels
Each section is 100 levels long, except for the last section, whose levels go from 1900 all the way to 2020.
However, it is possible to be stopped early on if you do not play fast enough.
Torikans
There are certain checkpoints at which your current time will be checked and you will be stopped if your time is over a set objective time.
Level | Time limit |
---|---|
500 | 06:00:00 |
900 | 08:30:00 |
1000 | 08:45:00 |
1500 | 11:30:00 |
1900 | 13:15:00 |
At levels 500, 1000, and 1500, you will be stopped immediately if your time is not under the objective.
At level 900, the next section will be capped at 999, and you will get a short credit roll when the last section is over.
At level 1900, the next section will be capped at 2000, and you will be stopped immediately with no credit roll.
Speed
Marathon 2020 gets faster in two different, independent ways, the gravity curve and the delay curve.
The gravity curve is always the same at a particular level, while the delay curve can vary based on your previous section time.
Gravity Curve
The gravity curve is the same as it is in the original TGM and TAP.
Level | Internal Gravity (1/256 G) |
Level | Internal Gravity (1/256 G) |
---|---|---|---|
0 | 4 | 220 | 32 |
30 | 6 | 230 | 64 |
35 | 8 | 233 | 96 |
40 | 10 | 236 | 128 |
50 | 12 | 239 | 160 |
60 | 16 | 243 | 192 |
70 | 32 | 247 | 224 |
80 | 48 | 251 | 256 (1G) |
90 | 64 | 300 | 512 (2G) |
100 | 80 | 330 | 768 (3G) |
120 | 96 | 360 | 1024 (4G) |
140 | 112 | 400 | 1280 (5G) |
160 | 128 | 420 | 1024 (4G) |
170 | 144 | 450 | 768 (3G) |
200 | 4 | 500 | 5120 (20G) |
Delay Curve
The delay curve is shown as in the following table. Line ARE is always equal to ARE.
Level | ARE | Lock | DAS | Line | Cool |
---|---|---|---|---|---|
0 | 27 | 30 | 15 | 40 | 45.00 |
100 | 24 | 30 | 12 | 25 | 41.50 |
200 | 21 | 30 | 12 | 25 | 38.50 |
300 | 18 | 30 | 9 | 20 | 35.00 |
400 | 16 | 30 | 9 | 15 | 32.50 |
500 | 14 | 30 | 8 | 12 | 29.20 |
600 | 12 | 26 | 8 | 12 | 27.20 |
700 | 10 | 22 | 8 | 8 | 24.80 |
800 | 8 | 19 | 7 | 8 | 22.80 |
900 | 6 | 17 | 7 | 6 | 20.60 |
1000 | 6 | 15 | 6 | 6 | 19.60 |
1100 | 6 | 15 | 6 | 4 | 19.40 |
1200 | 6 | 15 | 6 | 4 | 19.40 |
1300 | 5 | 15 | 5 | 4 | 18.40 |
1400 | 5 | 15 | 5 | 2 | 18.20 |
1500 | 4 | 15 | 4 | 2 | 16.20 |
1600 | 4 | 13 | 4 | 2 | 16.20 |
1700 | 4 | 11 | 4 | 2 | 16.20 |
1800 | 4 | 10 | 4 | 2 | 16.20 |
1900 | 4 | 9 | 4 | 2 | 16.20 |
2000 | 4 | 8 | 3 | 2 | 15.20 |
Section COOL
The delay curve advances according to your performance on each level. If you can get to level 70 of a particular section fast enough, you will get a section COOL that advances the delay curve faster.
In order to get a section cool, your 0-70 section time must be below the cutoff and no more than 2 seconds slower than your previous 0-70 time.
In the first 10 sections, if your time in a particular section from 0 to 70 is smaller than the "cool" requirement at that level on the delay curve, your delay curve will be bumped up an extra level at the end of the section.
From level 0 to 499, the delay curve does not advance unless you get a section COOL. From level 500 to 999, the delay curve will advance one level normally, and two levels if you get a section COOL.
The earliest level it is possible to reach the final level of the delay curve is level 1500, if you achieved a section COOL for every section up to that point.
Grading
Grades in Marathon 2020 are represented as number ranging from 0 to 50, then GM.
The GM-roll is unlocked if you reach level 2020 with a grade of 50 in less than 13:30.
Basic grades
Internally, the grade counter is a number that can range from 0 to 30.
At the beginning of the game, it starts at 0. To increase it, you must bring an internal grade point counter past a certain threshold.
The threshold is set at 50 points for the first grade, then 100 more points for the next grade, then 150 points for the grade after that, and so on. You reach the maximum level of 30 at a total of 23,250 points.
A table of the thresholds in grade points required to reach each level is provided below:
Grade | Threshold |
---|---|
0 | 0 |
1 | 50 |
2 | 150 |
3 | 300 |
4 | 500 |
5 | 750 |
6 | 1050 |
7 | 1400 |
8 | 1800 |
9 | 2250 |
10 | 2750 |
11 | 3300 |
12 | 3900 |
13 | 4550 |
14 | 5250 |
15 | 6000 |
16 | 6800 |
17 | 7650 |
18 | 8550 |
19 | 9500 |
20 | 10,500 |
21 | 11,550 |
22 | 12,650 |
23 | 13,800 |
24 | 15,000 |
25 | 16,250 |
26 | 17,550 |
27 | 18,900 |
28 | 20,300 |
29 | 21,750 |
30 | 23,250 |
Points are given according to a different scale, the point level. The point level is calculated by taking your current actual level, and adding the delay level to it.
The points given for clearing certain amounts of lines is given as follows at particular point levels:
Point level | Single | Double | Triple | Tetris |
---|---|---|---|---|
0 | 10 | 20 | 30 | 40 |
100 | 10 | 20 | 30 | 40 |
200 | 10 | 20 | 30 | 48 |
300 | 10 | 20 | 30 | 60 |
400 | 10 | 20 | 36 | 72 |
500 | 10 | 21 | 42 | 84 |
600 | 10 | 24 | 48 | 96 |
700 | 10 | 27 | 54 | 108 |
800 | 10 | 30 | 60 | 120 |
900 | 11 | 33 | 66 | 140 |
1000 | 12 | 36 | 72 | 160 |
1100 | 13 | 39 | 81 | 180 |
1200 | 14 | 42 | 90 | 200 |
1300 | 15 | 45 | 99 | 220 |
1400 | 16 | 48 | 108 | 240 |
1500 | 17 | 52 | 117 | 260 |
1600 | 18 | 56 | 126 | 280 |
1700 | 19 | 60 | 135 | 300 |
1800 | 20 | 64 | 144 | 320 |
1900 | 21 | 68 | 153 | 340 |
2000 | 22 | 72 | 162 | 360 |
2100 | 23 | 76 | 171 | 380 |
2200 | 24 | 80 | 180 | 400 |
2300 | 25 | 84 | 189 | 420 |
2400 | 26 | 88 | 198 | 440 |
2500 | 27 | 92 | 207 | 460 |
2600 | 28 | 96 | 216 | 480 |
2700 | 29 | 100 | 225 | 500 |
2800 | 30 | 104 | 234 | 520 |
2900 | 31 | 108 | 243 | 540 |
3000 | 32 | 112 | 252 | 560 |
3100 | 33 | 116 | 261 | 580 |
3200 | 34 | 120 | 270 | 600 |
3300 | 35 | 124 | 279 | 620 |
3400 | 36 | 128 | 288 | 640 |
3500 | 37 | 132 | 297 | 660 |
3600 | 38 | 136 | 306 | 680 |
3700 | 39 | 140 | 315 | 700 |
3800 | 40 | 144 | 324 | 720 |
3900 | 41 | 148 | 333 | 740 |
Past level 1000, a 4-line clear will always give (30 * current grade), regardless of point level.
The remaining 20 grades come from section cools. Every section cool you get boosts your score by one grade. There are no regrets.
Points are also taken away with the time it takes to lock down a piece. The delay counter starts at 0, and increases by (current grade + 2) every frame. When the counter reaches or exceeds 240, it resets to 0, and 1 grade point is taken away.
Grades are based on the maximum grade points achieved. Once a grade has been attained, it cannot be lost even if grade points drop below the threshold for that grade.
Survival 2020
Survival 2020 is the Death mode to Marathon 2020's Master mode, and introduces a new mechanic known as total delay. If your piece has been active for the length of the total delay, it will lock down regardless of how much lock delay the piece had on move or step reset.
Strategy
Strategy Mode flips the normal "figure out where to place a piece as you move it" logic of Tetris inside-out. In Strategy mode, most of your time is spent waiting for pieces before executing a fast sequence of inputs to get them where you want them to go.
The goal of the game is to get to level 999, just like TGM, except with the following speed curve:
Level | ARE/Line clear (frames) |
Lock (frames) |
DAS (frames) |
---|---|---|---|
000-099 | 60 | 8 | 6 |
100-199 | 54 | 8 | 6 |
200-299 | 48 | 8 | 6 |
300-399 | 42 | 8 | 6 |
400-499 | 36 | 8 | 6 |
500-599 | 30 | 6 | 6 |
600-699 | 24 | 6 | 6 |
700-799 | 21 | 4 | 6 |
800-899 | 18 | 4 | 6 |
900-999 | 15 | 4 | 6 |
Interval Training
Interval Training is a mode specifically for players who are attempting to break the 2:28 torikan in Survival A3, or play more consistently at the top speed bracket in Marathon A3.
The game will stay at the same speed level throughout, which is the top speed level in Master mode, or the level 300 speed level in Shirase:
Speed level | ARE (frames) |
Line ARE (frames) |
DAS (frames) |
Lock (frames) |
Line clear (frames) |
---|---|---|---|---|---|
0 - unlimited | 6 | 6 | 7 | 15 | 6 |
The time limit is 30 seconds per section, and resets to 30 seconds (without adding the unused time from the previous section) at the beginning of a new section. Players play until they top out or run out of time in a single section. There is no maximum level — play can continue infinitely as long as the player can manage under 30 seconds per section consistently.
TetrisGram™ Pacer Test
The TetrisGram™ Pacer Test is a multi-stage piece-placing capacity test that progressively gets more difficult as it continues. In each segment, you must clear 3 lines. The line-clearing speed starts slowly, but gets progressively faster each minute after you hear a particular signal. Each segment is marked with with a different signal. The second time in a row you fail to clear 3 lines before the segment marker sound, your game is over.
Phantom Mania 2
Phantom Mania 2 is a successor to Nullpomino's Phantom Mania. Just like Phantom Mania is based on Speed Mania, Phantom Mania 2 is based on Speed Mania 2 (known in Cambridge as Survival A3).
Gameplay
The goal of this game is to reach the end at level 1300, and then score as many grades as possible in the ending credit roll.
Each piece disappears as soon as it is placed down. Only the active piece is visible at any given time.
Levels work the same way as the A3 games or Marathon 2020.
When the current level reaches one less than the level at the bottom of the display (usually a multiple of 100), the level will not advance until a line is cleared.
Levels
Each section is 100 levels long. At certain levels, the speed may get faster, or the difficulty may increase some other way.
Level | What happens |
---|---|
500 | Rows of garbage start to advance on the board. The bottom row is copied, appearing for a brief flash before disappearing again. |
1000 | The garbage stops, but the hold queue turns invisible, and the pieces start to use bone blocks. |
1100 | The first next preview turns invisible. |
1200 | The second next preview turns invisible. |
Unlike in Survival A3, the speed of the game does not get faster past level 1000.
Torikans
There are certain checkpoints at which your current time will be checked and you will be stopped if your time is over a set objective time.
Level | Time limit |
---|---|
300 | 2:02.00 |
500 | 3:03.00 |
800 | 4:45.00 |
1000 | 5:38.00 |
If you hit one of these torikans, the field will suddenly turn visible, marking the end of the game, and a 30-second credit roll will play.
If instead you reach level 1300, an invisible Big-mode credit roll will play.
Grading
Your grade starts at 1, and goes on from S1 to S9, and then M1 upwards indefinitely.
Your grade advances each section based on your section time. If you achieve a section COOL, you get 2 grade points. If you instead incur a section REGRET, you get no grade points. The normal section time (in between COOL and REGRET) is worth one grade point.
Level | Section COOL | Section REGRET |
---|---|---|
000-499 | 36.00 | 48.00 |
500-999 | 30.00 | 39.00 |
1000-1299 | 27.00 | 35.00 |
Then, the invisible roll when you hit a torikan, or the big roll at the end of level 1300, are also worth grade points.
Lines cleared | Grade points (normal) | Grade points (big) |
---|---|---|
1 | 0.1 | 0.1 |
2 | 0.2 | 0.2 |
3 | 0.3 | 1.0 |
4 | 1.0 | 2.0 |
Clear | 0.0 | 1.5 |
The number of grade points you earn correspond to your grade as follows:
Points | Grade |
---|---|
0 | 1 |
1 | S1 |
2 | S2 |
3 | S3 |
4 | S4 |
5 | S5 |
6 | S6 |
7 | S7 |
8 | S8 |
9 | S9 |
10 | m1 |
11 | m2 |
12 | m3 |
13 | m4 |
14 | m5 |
And so on. For x > 9 grade points, your grade is m(x-9).
If you achieve a section COOL on each section, your rank will be m17 entering the credit roll.
Delay Timing
Cambridge counts delay timing differently from either Nullpomino or the original TGM games. The timings are based on making it easy to add up the times for delays without running into fencepost errors.
- ARE is counted from the first frame that a piece locks to the first frame that the next piece appears.
- For example, if a piece is locked at 01:35.08 and ARE is 30, the new piece will appear at 01:35.58 (exactly 30 frames later).
- Line delay is counted from the first frame that a piece locks to the first frame that the lines appear cleared.
- Line ARE is counted from the first frame that lines appear cleared to the first frame that the next piece appears.
- For example, if a piece is locked at 01:35.08 and clears a line, Line delay is 40, and Line ARE is 27, the line will finish clearing at 01:35.75 (40 frames later) and the next piece will appear at 01:36.20 (27 frames later).
- DAS is counted from the first frame that the piece moves to the first frame that the piece moves again.
- Lock delay is counted from the first frame that a piece touches the ground to the first frame that a piece locks.
When counted this way, the delays in several of the TGM games are different from the delays that are stored in memory.
- ARE generally has two frames added to account for one frame of lock flash and an extra frame where the ARE counter is 0 before the new piece enters.
- DAS generally has one frame added because the autorepeat starts the frame after the DAS counter reaches the limit.
Given below are the speed ratings programmed into the various games:
Speed level | ARE (frames) |
Line ARE (frames) |
DAS (frames) |
Lock (frames) |
Line clear (frames) |
---|---|---|---|---|---|
0 - 999 | 30 | 27 | 15 | 30 | 44 |
Speed level | ARE (frames) |
Line ARE (frames) |
DAS (frames) |
Lock (frames) |
Line clear (frames) |
---|---|---|---|---|---|
0 - 499 | 27 | 27 | 15 | 30 | 40 |
500 - 599 | 27 | 27 | 9 | 30 | 25 |
600 - 699 | 27 | 18 | 9 | 30 | 16 |
700 - 799 | 18 | 14 | 9 | 30 | 12 |
800 - 899 | 14 | 8 | 9 | 30 | 6 |
900 - 999 | 14 | 8 | 7 | 17 | 6 |
Speed level | ARE (frames) |
Line ARE (frames) |
DAS (frames) |
Lock (frames) |
Line clear (frames) |
---|---|---|---|---|---|
0 - 99 | 18 | 14 | 11 | 30 | 12 |
100 - 199 | 14 | 8 | 11 | 26 | 6 |
200 - 299 | 14 | 8 | 10 | 22 | 6 |
300 - 399 | 8 | 8 | 9 | 18 | 6 |
400 - 499 | 7 | 7 | 7 | 15 | 5 |
500 - 999 | 6 | 6 | 7 | 15 | 4 |
The primary difference between these delays and the delays from the original game is that Cambridge does not exclude any frames when charging DAS. Every frame that a direction is held increases the DAS counter by 1, while some frames are "dead zones" for DAS charging in the original games.