import { defineGame, scatterSym, sym, wildSym } from "@spinza/game-core"; /** * GAME 17 — ZERO GRAVITY * Experimental. Ways on a 5×3 grid that expands during free spins: * 5×3 → 6×4 → 7×5 (78,125 ways). Pays defined up to 7-of-a-kind. */ export const zeroGravity = defineGame({ slug: "zero-gravity", name: "Zero Gravity", version: "1.0.0", tagline: "Cut the gravity and the grid keeps growing.", description: "An experimental reel set tethered to a collapsing gravity well. The base game plays 243 ways on 5×3, but every Gravity Well free spin loosens the tether: the grid stretches to 6×4, then to a full 7×5 field of 78,125 ways where seven-of-a-kind pays. Singularity Wilds appear on every reel but the first.", theme: "experimental zero-gravity lab", tags: ["ways", "dynamic-grid", "expanding-grid", "free-spins", "experimental"], grid: { reels: 5, rows: 3 }, payModel: { type: "ways" }, rtp: 0.96, volatility: "high", maxMultiplier: 6000, symbols: [ wildSym("W", "Singularity Wild", [0, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5], { shape: "orb", color: "#0f0f1a", accent: "#22d3ee", glow: 1 }), scatterSym("S", "Gravity Well", 1.3, { shape: "ring", color: "#a78bfa", accent: "#ffffff", glow: 0.9 }), sym("P1", "Antigrav Core", "premium", { 3: 42, 4: 112, 5: 350, 6: 700, 7: 1400 }, 2.8, { shape: "atom", color: "#22d3ee", accent: "#ffffff", glow: 0.9 }), sym("H1", "Orbital Station", "high", { 3: 28, 4: 70, 5: 210, 6: 400, 7: 800 }, 3.8, { shape: "planet", color: "#e5e7eb", accent: "#a78bfa", glow: 0.6 }), sym("H2", "Relay Satellite", "high", { 3: 21, 4: 56, 5: 140, 6: 280, 7: 560 }, 4.2, { shape: "rocket", color: "#60a5fa", accent: "#dbeafe", label: "SAT", glow: 0.6 }), sym("M1", "Meteor", "mid", { 3: 14, 4: 35, 5: 84, 6: 150, 7: 300 }, 5.5, { shape: "flame", color: "#fb923c", accent: "#ffedd5", glow: 0.3 }), sym("M2", "Comet Ice", "mid", { 3: 11, 4: 28, 5: 70, 6: 120, 7: 240 }, 6, { shape: "snow", color: "#7dd3fc", accent: "#e0f2fe", glow: 0.3 }), sym("L1", "Blue Planet", "low", { 3: 5.5, 4: 14, 5: 35, 6: 50, 7: 100 }, 9, { shape: "circle", color: "#3b82f6", glow: 0.2 }), sym("L2", "Red Planet", "low", { 3: 5.5, 4: 14, 5: 35, 6: 50, 7: 100 }, 9, { shape: "circle", color: "#ef4444", glow: 0.2 }), sym("L3", "Star Dust", "low", { 3: 4.2, 4: 11, 5: 28, 6: 40, 7: 80 }, 10, { shape: "star", color: "#fde68a", glow: 0.2 }), sym("L4", "Void Cube", "low", { 3: 4.2, 4: 11, 5: 28, 6: 40, 7: 80 }, 10, { shape: "satellite", color: "#6b7280", accent: "#9ca3af", glow: 0.1 }), ], betDivisor: 25, wild: { id: "W" }, scatter: { id: "S", triggers: { 3: 10, 4: 12, 5: 15 }, retrigger: true }, dynamicGrid: { sequence: [[5, 3], [5, 3], [6, 4], [6, 4], [6, 4], [7, 5], [7, 5], [7, 5], [7, 5], [7, 5]] }, presentation: { palette: { primary: "#22d3ee", secondary: "#a78bfa", glow: "#67e8f9", bg: "#020208", surface: "#0a0a18" }, particles: "stars", ambience: "void", frame: "glass", backdrop: "gravity", }, rules: [ "Base game: wins pay left to right on adjacent reels across 243 ways (5×3).", "The Singularity Wild substitutes for every symbol except the Gravity Well and never lands on reel 1.", "3, 4 or 5 Gravity Wells award 10, 12 or 15 free spins with retriggers.", "During free spins the grid expands: spins 1–2 play 5×3, spins 3–5 play 6×4 (4,096 ways) and from spin 6 the grid is 7×5 (78,125 ways).", "On the expanded grids 6- and 7-of-a-kind pay; the largest grid stays until the feature ends.", "Maximum win per round: 6,000× the bet.", ], });