Tessellate is the engine behind the tetronimo games at hi-games.net. A unique feature of the Tessellate engine is that it allows users themselves to define their own games and compete on shared leaderboards for these games. Other features include user-customisable themes and the ability to watch replays of any record.
Standard modes[]
hi-games.net provides 3 standard modes.
- 40 Lines
- 2 Minute Speed Run
- 20G Japanese
Creating user-defined modes[]
Any number of user-defined modes can be created using the Tessellate Wizard tool.
Simulation[]
Scoring[]
Tessellate calculates points in two stages.
- As a tetromino locks, Tessellate records into each block of that tetromino the number of frames that have elapsed since the previous tetromino was locked. However, if a tetrimino locks during a level block (where the player cannot progress until a line clear is achieved), or blocks appear in the well due to garbage rather than a locking tetromino, then a fixed frame count of 300 is stored into each of those blocks.
- When rows are cleared, Tessellate awards points according to the following formula:
- points = rows * (combo + twist) * max(1, progress * columns * blocks / blockFrames)
where:
- rows is the number of rows cleared
- columns is the number of columns cleared
- blocks is the number of blocks cleared
- blockFrames is the total number of elapsed frames stored in each of the cleared blocks
- combo is set to 1 if no rows are cleared, otherwise combo is increased by (rows - 1)
- twist is 1 if the locked piece cannot be moved one cell left, right or up, or otherwise is 0
- progress is 40 + the current piece/line/level (depending on the game's unit of progress)
- points = rows * (combo + twist) * max(1, progress * columns * blocks / blockFrames)
Most factors in this formula may be switched on or off when defining a game mode:
- If combos are disabled, then combo is always reset to 1 before the above combo formula is applied
- If multirow clears are disabled, then the combo formula is changed to increase combo by 1 rather than (rows - 1)
- If twists are disabled, then twist is always set to 0
- If progress points are disabled, then the above formula assumes a constant current piece/line/level of 80
- If speed points are disabled, then the above formula assumes a constant blockFrames of 16*blocks