# Screenshots

Photographs of the software running, at 1280px, as PNG. Each one is described
underneath in enough detail to be useful without seeing it -- the descriptions
were written from the images, not from the source.

These are captures of the real applications, not mockups. Every tool below runs
live in a browser at https://gamemathemagics.com and can be opened and used.

---

## Treasure Temple, the cabinet

![A five-reel slot mid-win: a jackpot ladder across the top, a burning title, and a column of wilds carrying a x3 flame.](https://gamemathemagics.com/ai/shots/treasure-temple.png)

`https://gamemathemagics.com/ai/shots/treasure-temple.png`

The running app: https://gamemathemagics.com/#/g-01

The playable game, running. A temple wall fills the background behind everything.

Across the top, six jackpot plaques in one ascending ladder, each with a small flame:
MINI 10x, MINOR 25x, MAXI 50x, MAJOR 100x, GRAND 500x, and MEGA -- larger, white-hot,
and reading 1,000.81x because it is the only one that moves. It takes a share of every
bet and pays only at the summit of the climb. Under it the title JACKPOT CLIMB burns in
the same ember-to-white ramp the multipliers use, with TREASURE TEMPLE beneath.

The board is five reels of three. This frame catches a win being paid: two K symbols are
framed in gold on reels one and two while everything not participating is knocked back,
and the middle reel is a single tall flame carrying a white x3.

That middle column is the game's central rule drawn rather than written. Three wilds in
a column stop being three symbols and become one brazier the height of the reel -- and a
full wild stack is exactly the condition a Temple Shake multiplier needs in order to pay,
so the x3 that landed above it has been handed down onto the fire. Height is the value:
a x3 is a low flame, a x100 fills the reel.

Under the reels the evaluator states the win in the scorer's own terms -- the K symbol,
x3, 3 ways, x3, 0.90 -- so what paid and why are the same line.

The deck reads CREDIT 971.50, BET 2.00 with minus and plus, WIN 1.80, a round SPIN
button, then AUTO, TURBO, SOUND OFF, INFO, +1000, and a two-position switch reading
CABINET / ANALYSIS. That switch is the whole design: the same model, with the
presentation taken off.

What the picture establishes: this is a real slot machine, not a diagram of one, and the
maths it runs is the production model published alongside it.

---

## Maestro: Designer

![A slot feature authored as a wired node graph, with the game’s zones, chips and variables declared down the left.](https://gamemathemagics.com/ai/shots/maestro.png)

`https://gamemathemagics.com/ai/shots/maestro.png`

The running app: https://gamemathemagics.com/#/s-01

The full window. Tabs across the top: FILE, DESIGNER, SCRIPTER, BASE GAME, MATH MODEL,
ANALYSIS, SIMULATOR, VARIANTS, UNITY EXPORT. The open project is "Mummy Cash Collect"
with a Compile button beside it.

The left rail declares the vocabulary of the game rather than its code: EVENTS
(FeatureStart, OnSpinEnd), LISTENERS (FeatureEnd), CHIPS (Basic, Diamond and Mummy
Multiplier, each firing OnLand), CUSTOM nodes the designer has built (CellsWithChip,
GrowBox, MoveToEngulf, NearestCell, NearestDiamond, SweepTo), and VARIABLES split into
NUMBERS (SpinsLeft, Total, Collected) and BOOLEANS (ChipLanded, IsBoxGrowing).

The canvas is the OnSpinEnd flow, built out of typed nodes: a TRIGGER ("Runs when a spin
ends"), ACTION Assign and Clear nodes, CONTROL Branch nodes with separate TRUE and FALSE
outputs, COMPOSITE nodes that call the custom ones (GrowBox, CellsWithChip, SweepTo), and
DERIVATION nodes set to Collection, Math, Logic, Compare and Set -- one of them running a
chain of ANDs and ORs, another comparing Collected against 3, 5 and 8. Wires are colour
coded by type and every value is a numbered port.

What the picture establishes: this is a visual programming environment for slot logic.
A designer wires the feature; nobody writes the maths by hand.

---

## Maestro: Base Game

![The paytable editor beside a 5x3 grid, with a ways ladder counting 1 way = 5 up to 81 ways = 405.](https://gamemathemagics.com/ai/shots/maestro-base-game.png)

`https://gamemathemagics.com/ai/shots/maestro-base-game.png`

The running app: https://gamemathemagics.com/#/s-01

The BASE GAME tab. On the left a PAYTABLE with a row per symbol -- H1, H2 and Wild --
and a column per combination length, 2OAK through 5OAK, holding the pay for each.

The middle is a 5x3 board where cells are clicked to place a symbol, a whole column, or
clear. Here H1 sits on reels 1, 2, 3 and 4 in different rows with a rainbow WILD on reel
5, and each placed cell carries small 1/2/3 badges marking which rows it occupies. A
Winlines / Show lines toggle sits above it.

The right rail is the consequence, computed live: "H1 - 5OAK, 5-405", then a full ways
ladder -- 1 way pays 5, 2 ways 10, 3 ways 15, 4 ways 20, 6 ways 30, 8 ways 40, 9 ways 45,
12 ways 60, 16 ways 80, 18 ways 90, 24 ways 120, 27 ways 135, 36 ways 180, 54 ways 270,
81 ways 405. A Ways / Lines switch flips the whole model between the two.

What the picture establishes: the paytable and the board are one editable object, and
the ways arithmetic is derived from them rather than typed in.

---

## Maestro: Math Model

![A hand-drawn hit-rate curve over a progressive meter, with an analytical-vs-simulated check reading 0.11% max divergence.](https://gamemathemagics.com/ai/shots/maestro-math-model.png)

`https://gamemathemagics.com/ai/shots/maestro-math-model.png`

The running app: https://gamemathemagics.com/#/s-01

The MATH MODEL tab, showing a progressive. A distribution is drawn as a curve of relative
hit rate against meter value from 1.0k to 5.0k -- literally drawn, with a Draw tool and
the note "Draw mode: hold + drag a stroke - else: dbl-click add - right-click remove -
drag to shape". A solid blue analytical line runs under a dashed green simulated one and
the two track each other closely across every feature of the shape.

Controls along the top: SEED 1000, CAP 5000, RTP % 2, CAP-HIT % 90, Ranges 48, an RTP
Breakdown reading "error: 1.79e-10", TRIALS 100000, and buttons for Simulate, Sim Check,
Scenario Testing and GLI Report. Tabs select which part of the game is being modelled:
New Variant, Basegame, Hold-and-spin, Free games, Pick Feature, Progressive.

The open Sim Check panel is the point of the screenshot. It puts ANALYTICAL against
SIMULATED with a delta column: RTP 2.000% vs 2.000% (0.01%), Cap-Hit 90.000% vs 90.098%
(0.11%), E[payout] 4831.83x vs 4833.07x (0.03%), SD[payout] 626.41x vs 626.25x (0.03%),
E[spins] 241591.5 vs 241669.0 (0.03%). Underneath: "100,000 trials - max divergence
0.11% - analytical model confirmed".

Footer figures: RTP 2.00%, CAP-HIT 90.00%, EXPECTED SPINS 241591.5, EXPECTED PAYOUT
4831.83x, JACKPOT SD 626.4x (CV 0.13), delta/SPIN 1.59%.

What the picture establishes, and it is the thesis of this whole site: the model is
solved analytically and the simulation is used to CHECK it, not to produce it. A million
spins is the audit, not the method.

---

## Maestro: Analysis

![Chase statistics per feature, prize-tier hit rates, and a pay-range heatmap of where the RTP actually goes.](https://gamemathemagics.com/ai/shots/maestro-analysis.png)

`https://gamemathemagics.com/ai/shots/maestro-analysis.png`

The running app: https://gamemathemagics.com/#/s-01

The ANALYSIS tab, three stacked tables.

CHASE STATISTICS gives a row per component with RTP%, hit rate, EV, volatility, median,
skew%, mode, min and max. Total Game 94.0000%, 1 in 3.5401, EV 3.26, volatility 10.26,
max 250. Then Basegame 20.4600% (1 in 4), Hold-and-spin 25.5560% (1 in 100, EV 25.56,
volatility 19.90, max 200), Free games 20.4440% (1 in 80.13, max 100), Pick Feature
25.5400% (1 in 100, volatility 31.90, max 250), Progressive 2.0000% (1 in 241,591.46,
EV 4831.83, min 1000, max 5000). Note the negative skew on the progressive, -4.13.

PRIZE TIER HITRATES breaks the same game down by what a player actually receives:
Under Bet 1 in 6.3 (15.792% of tickets), 1x Bet 1 in 17.9, 1-5x 1 in 10.9, 5-10x 1 in
2,500, 10-20x 1 in 48.9, 20-30x 1 in 126, 30-40x 1 in 758, 40-50x 1 in 893, 50-100x 1 in
2,273, 100-200x 1 in 893, 200x+ 1 in 8,333.

PAY RANGE HEATMAP puts count against RTP contribution, and the two disagree in a way that
is the entire point: Under Bet is 3,948 outcomes but only 7.90% of the return, while the
10-20x band is 511 outcomes and 25.28% of it.

What the picture establishes: the tool reports where the money actually goes, not just
what the paytable says.

---

## Maestro: Scripter

![A ticket played out spin by spin, with every variable, zone and chip placement listed live on the right.](https://gamemathemagics.com/ai/shots/maestro-scripter.png)

`https://gamemathemagics.com/ai/shots/maestro-scripter.png`

The running app: https://gamemathemagics.com/#/s-01

The SCRIPTER tab, running a ticket called "Mummy Cash Collect #1" -- 10 spins, 21 chips
placed, 17 paying. Controls read Setup Initial Grid, Next Spin, Reset and Save Template,
with a red "Feature ended" badge, SPIN # 10, SPINS LEFT 0, POSSIBLE PAYS 55, and a PAY
RANGE of $62.00 - $89.00. A tier palette of eight colours sits top left with a Build
Ticket button.

The middle is the 5x5 grid the feature plays on, with the Box zone marked.

The right rail is WATCH - live state, and it is the reason this tab exists. VARIABLES
shows SpinsLeft 0, Total 0, Collected 8, ChipLanded false, IsBoxGrowing false. ZONES
shows Box at 25 cells. CHIPS (21, 17 paying) then lists every placement spin by spin --
SPIN 1: Diamond Tier 1 at (0,2); SPIN 2: Diamond Tier 2 at (4,0), Basic Tier 2 x2 at
(1,2), Mummy Multiplier at (1,2); and so on through spin 6 and beyond.

What the picture establishes: a designer can step a feature one spin at a time and watch
every variable it touches, rather than inferring behaviour from an aggregate.

---

## Loom

![A reel-strip solver: RTP and hit-rate targets on the left, per-event reel rows in the middle, Monte Carlo on the right.](https://gamemathemagics.com/ai/shots/loom.png)

`https://gamemathemagics.com/ai/shots/loom.png`

The running app: https://gamemathemagics.com/#/s-04

The full window. Tabs FILE / SOLVER / SIMULATOR under the SLOTSOLVER name.

Top left is the specification, in three columns headed REACHABLE, TARGET and ACHIEVED,
with rows for RTP (target 96%), Hit rate (1 in ...) and Volatility sigma -- the three
targets the paper solves simultaneously. Below it an RTP BREAKDOWN bar splits into
Specified, Filler, Scatter and wild lifts, and a STRIP LENGTH slider reads 240.

Top right: "Reel composition" with checkboxes Contiguous, Wide range (EXPERIMENTAL) and
Complete Model (HIGHLY EXPERIMENTAL), and a BUILD REELS button.

The Symbols panel lists H1 and WILD with a per-way pay ladder for 5/4/3/2/1 OAK.
The centre is the event table: a red INFEASIBLE badge and an orange "Inputs stale -
Rebuild reels" chip, contiguous-length bars per reel (R1 24%, R2 21%, R3 18%, R4 15%,
R5 12%), then one row per event -- 50AK, 40AK, 30AK, 20AK, 10AK -- each showing which
symbol sits on reels 1 to 5, a hit rate of 1 in 4600.66, 687.46, 113.92, 22.45 and 5.13,
and an RTP contribution of 3.604%, 3.276%, 2.730%, 2.100% and 1.500%. Cells struck
through in red mean "not this symbol", so a row can express a near-miss.

The right rail is Monte Carlo: 50,000 spins with RUN and FULL BREAKDOWN, and a separate
TIME TO RUIN run over a $100 bankroll at $1 a bet.

What the picture establishes: the strip is solved from stated targets, event by event,
and the tool reports feasibility rather than silently approximating.

---

## Foresight

![A player-outcome query: a 15.9% answer over two stacked distribution charts.](https://gamemathemagics.com/ai/shots/foresight.png)

`https://gamemathemagics.com/ai/shots/foresight.png`

The running app: https://gamemathemagics.com/#/s-02

The full window, subtitled GAME RISK & EXPOSURE. A game library sits on the left; the
loaded game is "Test Game 3" at 90% RTP, volatility 14.50, hit rate 1 in 3.5, max prize
250x.

The query is built as a sentence: "Odds a player hits [Hold-and-spin] paying [>=] [50] x
... before going broke on $100, cash out at $300", with a LUCK slider at 50 and a
horizon of 3000 spins at 5.5 seconds a spin.

The answer is 15.9%, about 1 in 6, followed by three findings in plain English:
the hold-and-spin at 50x takes 13 minutes to hit and adds 28 minutes; given it hits, the
median time on device is 50 minutes against a baseline of 21 (2.3x); and the cash-out
rule leaks 62 minutes, dropping the average session from 92 to 30.

Two charts sit underneath. The first is time-on-device, 0 to 1.3 hours, peaking near 16
minutes, split into Died (never hit) 75.2%, Hit then busted 5.9%, Cashed out (never hit)
8.9%, Hit then cashed out 10.1% -- with the note that of the 18.9% who cash out, 53% got
there by hitting the event. The second is the cash-out amount, $300 to $498, split into
Cashed never hit 46.8%, Hit then cashed later 38.2%, Event won straight to cash-out 15.0%.

What the picture establishes: this answers questions about players, in minutes and
dollars, not questions about paytables.

---

## Runway

![A bankroll advisor answering "How long will $181 last?" with 96 minutes and a denomination plan.](https://gamemathemagics.com/ai/shots/runway.png)

`https://gamemathemagics.com/ai/shots/runway.png`

The running app: https://gamemathemagics.com/#/s-03

The full window, headed "your runway to ruin or riches". The left column loads a game
(Spooky Link, 91% RTP, $1 bet) or a raw JSON distribution of payout to probability,
takes a buy-in of $181, a luck slider currently at Typical, and a goal of 2x = $362.

The answer: 96 min, with "50% chance your $181 lasts this long". Under CHANCE OF HITTING
YOUR GOAL two bars -- "If you're this lucky" at 59% and "All-time (single denom)" at 30%.
A checkbox offers to optimise across the $1 and $2 machines.

The recommendation is specific and staged: bring about $181 for the best shot at
doubling (34%), sweet spot $150-$223; play the $1 machine up to $24, the $2 machine
between $24 and $227, then the $1 machine from $227 to the goal. Cash-out target about
$237, which only 50% of runs climb past.

What the picture establishes: the same probability core as Foresight, pointed at the
player rather than the operator, and it gives an actual instruction.

---

## Treasure Temple, the math lab

![The analysis cabinet: a 5x3 slot board on the left, a live RTP breakdown by component on the right.](https://gamemathemagics.com/ai/shots/treasure-temple-lab.png)

`https://gamemathemagics.com/ai/shots/treasure-temple-lab.png`

The running app: https://gamemathemagics.com/games/treasure-temple/lab.html

The full window of lab.html, the analysis face of the game -- reachable from the
ANALYSIS switch in the cabinet.

On the left, a 5x3 board of Mesoamerican symbols with a full column of braziers in the
middle, and a multiplier row above it showing an unlit x3 and a lit x3. Under it the
readout: 10.80 x BET, SPINS 7, LIVE RTP 157.14%, BALANCE 1004.00, plus SPIN, AUTO x100,
and a "force [Jackpot Climb] FIND IT" control that spins with the real RNG until the
chosen feature triggers.

The right rail is the point of the page. THIS SPIN itemises the win: symbol 10, hit on 5
reels, 9 ways, pay 0.4, flame x3, win 10.80. SESSION splits the return by component --
Base pays 54.29%, Temple Shake 102.86%, Jackpot Climb 0.00%, Absorbers 0.00%, Mega
0.00%, total 157.14% -- with a bar per component, and a footer reading "Climb 0 -
Absorbers 0 - summits 0 - Mega 0 / best spin 10.80x - progressive now 1000.1x".

What the picture establishes, and it is worth stating: a live RTP of 157% after seven
spins on a game built to 95.78%. That is not a bug in the screenshot, it is the whole
reason the site keeps a session and a million-spin run side by side.

---

Contact: fenner.d.christian@gmail.com
