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
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.
