Documentation Index
Fetch the complete documentation index at: https://mintlify.com/StakeEngine/math-sdk/llms.txt
Use this file to discover all available pages before exploring further.
0_0_cluster demonstrates the cluster win type with a tumbling (cascading) mechanic and a freegame that adds per-position grid multipliers on top of a global multiplier.
Game overview
| Property | Value |
|---|---|
| Reels | 7 |
| Rows | 7 (all reels) |
| Win type | Cluster |
| Min cluster size | 5 symbols |
| Win cap | 5000× |
| Target RTP | 97% |
| Max grid multiplier | 512× |
| Symbols | H1–H4, L1–L4, Wild (W), Scatter (S) |
How to run
Mechanics
Basegame
- Clusters of 5 or more adjacent like symbols pay.
- Winning symbols are removed from the board; symbols above fall down to fill the gaps (tumble/cascade).
- Tumbling continues until no winning clusters remain or the win cap is hit.
- Minimum 4 Scatters trigger the freegame. Freespin awards: 4S → 10, 5S → 12, 6S → 15, 7S → 18, 8S → 20.
Freegame
- Same cluster and tumble rules as basegame.
- Each grid position starts in a deactivated state (value 0).
- When a position is part of a winning cluster, it becomes activated at 1×.
- On each subsequent win at an already-activated position, the multiplier increments by +1 (i.e., it accumulates linearly, not doubles — capped at 512×).
- A global multiplier starts at 1 and increments by +1 at the start of each freespin. It does not reset between spins.
- Retrigger: minimum 3 Scatters during freegame award extra spins (3S → 5, 4S → 8, 5S → 10, etc.).
Paytable
Pays are defined by cluster-size ranges usingconvert_range_table(). The ranges are (5,5), (6,8), (9,12), (13,36):
convert_range_table() expands each range entry into individual (cluster_size, symbol) keys in self.paytable.
Grid multiplier implementation
The freegame grid is managed byupdate_grid_mults() in game_executables.py:
game_calculations.py:
board_mult for a cluster is the sum of the grid multiplier values at all positions in that cluster.
Game flow (gamestate.py)
Game-specific events
| Event type | When emitted | Contents |
|---|---|---|
updateGrid | Start of each freespin, and after each update_grid_mults() call | gridMultipliers — the full 2D array of current position multiplier values |
winInfo | After each cluster evaluation | Winning clusters with positions, sizes, and per-cluster multiplier metadata |
setWin | After all tumbles complete | Spin-level total win |
setTotalWin | After setWin | Cumulative round win |
