Gatcha Gauntlet: Scratch Ticket Lottery Systems
Game design logic for handling weighted grid generation, anti-clustering algorithms, and payout evaluations in a virtual scratch-off lottery.
A complex virtual lottery and gacha simulation focused on scratch ticket interactions, actual symbol libraries, and an evaluator tuned to keep near-misses psychologically readable instead of flatly random.
The live `ScratchRules.asset` is weighted Berries `3`, Gold `2`, Sigils `1`, Chalice `1`, and Duds `14`, which creates a dud-heavy board that still needs to feel exciting.
If a generated ticket comes up all duds, `ScratchEvaluator.GenerateGrid()` forcibly promotes two spaces to non-dud symbols so the player gets tension instead of a dead board.
The board resolves through column pairs, four-wide row matches, diagonal specials, and optional column multipliers. The art and the economy are linked on purpose.
Ticket Cover
The cover texture referenced by `ScratchArtLibrary.asset` before the scratch shader reveals the grid underneath.
Berries
A lower-tier winning symbol with frequent appearances and modest pair payouts.
Gold
The mid-tier gold symbol used by the payout evaluator for stronger column rewards.
Sigil
A rarer symbol that sharpens the psychological near-miss behavior of the ticket grid.
Chalice
The highest-value standard symbol before the full-house bonus and column multipliers kick in.
Dud
The dud texture is intentionally overrepresented in the rules asset, which is why anti-clustering rescue logic matters.
Game design logic for handling weighted grid generation, anti-clustering algorithms, and payout evaluations in a virtual scratch-off lottery.