Classic Fruits 3×3 — Game Design Document

1. Document control

FieldValue
Game nameClassic Fruits 3×3
Game IDclassic-fruits-3x3
GDD version0.2.1
GDD statusdraft target
ReferenceFireFruit Sevens Classic by NeverEnding
Reference pagehttps://neverending.tech/slots/firefruit-sevens-classic
Legacy Math Specclassic-fruits-3x3-math-spec.md
Unique presentation modulesevens-jackpot-presentation.md
Target platformsResponsive web: mobile and desktop
Target marketsMust be approved per launch jurisdiction
Updated2026-08-23

This document replaces the previous no-feature design for the same Game ID. It uses the publicly visible rules of FireFruit Sevens Classic as a mechanical reference, but does not copy its name, branding, art, audio, text or undisclosed mathematics.

The existing backend pack classic-fruits-3x3.yaml remains frozen and describes the superseded 95.3967% / 65× game. It does not implement this GDD. Draft pack classic_fruits_3x3_v2 implements the rules below without modifying frozen v1, but is not yet canonical, published or served by the Player API.

2. High concept

Classic Fruits 3×3 is a fast three-reel fruit slot with five fixed paylines and an additional SEVENS-anywhere jackpot. Normal symbols pay on lines; landing seven, eight or nine SEVENS anywhere awards a fixed jackpot tier. A full 3×3 grid of SEVENS combines the Super jackpot with five line wins for the declared 1300× maximum.

Player experience goals

  • Explain the complete game on one help screen.
  • Keep every line win and jackpot count visually verifiable.
  • Keep a brisk classic-cabinet rhythm without hidden meters or feature states.
  • Make the seven-count anticipation clear without implying player control.
  • Present losses and sub-bet returns honestly.

Design pillars

PillarDecision rule
Immediate clarityThe player can identify five lines, symbol pays and 7/8/9 jackpot tiers before wagering.
Two readable win systemsLine wins and the SEVENS-anywhere jackpot are calculated and presented separately, then summed.
Classic authenticityFruit-machine presentation supports the simple rules without inventing bonus mechanics.
Math fidelityThe client displays only server-authoritative wins, jackpot tier and total payout.

Non-goals

  • Free spins, respins, cascades, hold-and-win or feature buy.
  • Progressive or pooled jackpots; all three jackpot awards are fixed multipliers.
  • Wild substitution.
  • Skill, stop timing or player input that affects the outcome.
  • FreeBets until a complete server and wallet contract exists.

3. Game summary

PropertyTarget definition
Grid3 reels × 3 rows
Paylines5 fixed lines, always active
Line directionLeft to right across all three reels
Jackpot evaluationCount SEVEN symbols anywhere on the settled 3×3 grid
Jackpot tiers7 = Major 50×; 8 = Grand 250×; 9 = Super 1000×
Target RTP96.08% — reference target, not yet our measured result
Maximum win1300× total bet — design target, not yet witnessed in our engine
Feature stateNone; jackpot settles in the same paid round

Bet limits, currency precision and default bet belong to platform/operator configuration.

4. Core gameplay loop

flowchart LR
    A["Ready"] --> B["Player presses Spin"]
    B --> C["Total bet committed"]
    C --> D["Server generates 3×3 outcome"]
    D --> E["Evaluate five paylines"]
    E --> F["Count SEVENS anywhere"]
    F --> G["Add line wins and jackpot"]
    G --> H["Persist wallet result"]
    H --> I["Present lines, jackpot and total"]
    I --> A

One wager creates one round. There is no follow-up wager or resumable feature state.

5. Symbols and paytable

The paytable shown in the live reference is dynamic for the current bet. For our implementation, the figures below are player-facing multipliers of total bet for a matching three-symbol line. They are the normative values used by the GDD, help screen, round response and win presentation.

Symbol IDVisual directionThree on a payline
SEVENFlaming red seven60×
BELLPair of golden bells40×
BARDouble BAR plaque20×
GRAPESPurple grapes15×
WATERMELONWatermelon15×
PLUMBlue plum
LEMONYellow lemon
ORANGEOrange
CHERRYRed cherries

Each symbol matches only itself. Symbols sharing a payout do not substitute for one another. There is no Wild, Scatter or Bonus symbol. SEVEN is a regular line-paying symbol and also the subject of the separate count-anywhere jackpot rule in §8.

Backend paytable units

The backend line evaluator divides a raw line award by the five always-active paylines. Therefore the draft YAML stores each displayed line multiplier multiplied by five; for example, SEVEN is stored as 300 and settles as 60× of total bet. This is an implementation encoding only:

  • Player API, GDD and help content must expose 60×, never 300×.
  • The conversion happens exactly once; the orchestrator must not divide the settled award again.
  • Jackpot awards are already expressed in total-bet units and are not multiplied or divided by the number of paylines.

6. Paylines

Rows are zero-based: 0 top, 1 middle, 2 bottom.

LinePatternReel rows
1Top horizontal[0,0,0]
2Middle horizontal[1,1,1]
3Bottom horizontal[2,2,2]
4Descending diagonal[0,1,2]
5Ascending diagonal[2,1,0]

The help screen must show these exact five patterns. This supersedes the two V-shaped lines in GDD 0.1.0 and the current frozen backend pack.

7. Line-win rules

  1. Every line is evaluated independently from reel 1 to reel 3.
  2. A line wins only when all three positions contain the same symbol.
  3. Only the highest award per line is paid.
  4. Wins on different paylines are added.
  5. One cell may participate in more than one winning line.
  6. There are no two-symbol awards and no substitution.

Player-facing line awards are the total-bet multipliers in §5. The internal ×5 storage conversion described there preserves those awards after the evaluator's five-line normalization. A captured reference round is still required before freeze to close the external-reference assumption; it does not change the normative payout units of our draft.

8. SEVENS-anywhere jackpot

After line evaluation, count every SEVEN visible anywhere on the settled grid.

SEVENS countTierFixed award
0–6None
7Major50×
8Grand250×
9Super1000×

Rules:

  1. Exactly one jackpot tier may be awarded per round.
  2. The tier is selected by the final count; tiers are not cumulative.
  3. The jackpot is a fixed local award, not a progressive pool.
  4. Jackpot and line wins are additive within the same round.
  5. Jackpot settlement does not create another state or wager.

For nine SEVENS, all five paylines also contain three SEVENS:

Super jackpot                 1000×
five SEVEN line wins     5 ×    60×
-----------------------------------
declared maximum              1300×

The draft v2 pack reaches this exact 1300× composition. Exact enumeration confirms that the declared round ceiling never truncates another reachable outcome. A captured reference round or authoritative PAR sheet is still required before freeze to validate the external-reference interpretation.

9. Normative evaluation order

commit total bet
→ resolve the server-authoritative 3×3 grid
→ evaluate five fixed paylines
→ sum line awards
→ count SEVENS anywhere
→ select at most one jackpot tier
→ add line total and jackpot award
→ apply the declared 1300× round ceiling
→ persist outcome and wallet result
→ present lines, jackpot and total

The frontend never counts symbols or calculates money as an authority; it may reproduce the count only as a presentation check against the server response.

10. Win presentation

ResultPresentation requirement
No winNeutral stop, no win effects.
Line win onlyHighlight every winning line, then show their total.
7 SEVENSMajor presentation with authoritative 50× jackpot award.
8 SEVENSGrand presentation with authoritative 250× jackpot award.
9 SEVENSSuper presentation, five line highlights and exact combined total up to 1300×.

The jackpot animation must never conceal the contributing line wins. Returns at or below total bet use neutral treatment where required by market rules.

11. Anticipation

  • Anticipation may begin only when six SEVENS are already visible and unrevealed cells remain.
  • It is presentation only and cannot change the server outcome.
  • Reel stopping remains deterministic from the received result.
  • A miss resolves quickly and does not imitate a jackpot win.
  • Skip completes presentation without changing settlement or starting another wager.

12. UX states

StatePlayer-visible behaviorControls
LoadingLoad assets and matching server configuration.Spin disabled.
ReadyShow grid, balance, bet and Spin.Bet controls and Spin enabled.
Round pendingSubmit one idempotent paid request.Spin and bet controls disabled.
Reel animationAnimate to the authoritative grid.Spin disabled.
AnticipationEmphasize a possible seventh SEVEN.Outcome remains fixed; skip may be available.
ResultPresent line wins, jackpot tier and total award.Next spin enabled after settlement rules allow.
ReconnectRecover and present the persisted round.New spin disabled until recovery completes.

13. Visual and audio direction

  • Original classic-fruit cabinet identity; do not copy the reference game's artwork or branding.
  • High-contrast SEVEN symbol readable in every cell and at mobile scale.
  • Distinct Major, Grand and Super treatments with increasing intensity.
  • Five line indicators must be visible in help and inspectable after a win.
  • Jackpot count-up ends on the exact server-authoritative award.
  • Reel timing and audio do not imply player control over the result.
  • Malfunction handling follows platform policy; the client must not invent a replacement result.

14. Help content

The player-facing help must include:

  • 3×3 grid and all five fixed paylines;
  • complete symbol paytable;
  • explicit statement that no Wild exists;
  • 7/8/9 SEVENS-anywhere jackpot table;
  • statement that jackpot and line wins are added;
  • maximum win 1300×;
  • deployed, verified RTP — never display the 96.08% target until our math proves it;
  • long-run RTP explanation and market-required responsible-gaming information.

15. Error and recovery behavior

FailureRequired behavior
Duplicate spin requestUse idempotency; never debit or award twice.
Disconnect before responseRecover the persisted round; do not generate a replacement.
Disconnect during animationRestore the same grid, line wins, jackpot and total award.
Config mismatchBlock play and load the matching game/math version.
Invalid math configurationBlock publication; never fall back to the legacy pack.
Debit failureDo not run or settle the paid round.
Credit failurePreserve settlement and retry idempotently through the wallet contract.

16. Acceptance criteria

  • Grid is exactly 3×3 and all five documented paylines match runtime.
  • Each symbol pays only for three identical symbols on one line.
  • Line wins on different paylines add correctly.
  • 0–6 SEVENS produce no jackpot.
  • 7, 8 and 9 SEVENS award exactly 50×, 250× and 1000× respectively.
  • A nine-SEVENS grid pays five 60× lines plus the 1000× jackpot, totaling 1300×.
  • Jackpot settlement is idempotent and uses the same wallet transaction as the base round.
  • Reconnect/replay reproduces the identical jackpot and line evidence.
  • Help content matches the deployed config hash, RTP and reachable maximum.
  • No FreeBets, free spins, feature buy, Wild or progressive behavior is exposed without a new approved contract.

17. Draft implementation status and blockers

Draft v2-draft-0.1 now provides:

  • the nine-symbol roster and all five paylines;
  • exact 7/8/9 SEVENS jackpot awards settled beside line wins;
  • exact enumeration of all 70³ = 343,000 stop combinations;
  • exact RTP 96.068513%, hit rate 11.748980%, sigma 4.323568 and jackpot frequencies;
  • a reachable 1300× maximum with zero cap truncation;
  • a deterministic 10,000,000-round simulation and six golden vectors;
  • preserved frozen-v1 config identity.

These are internal draft verification results, not certification. The GDD must not be treated as a published runtime contract until all remaining items below are closed:

  1. Register the v2 pack in the canonical registry and publishing path without changing frozen v1.
  2. Add game-engine/orchestrator parity for ordinary wins, 7/8/9 jackpots, 1300× composition, replay and forced-grid/mock paths.
  3. Confirm whether reference paytable figures are total-bet multipliers and whether jackpot awards are additive through captured outcomes or authoritative documentation.
  4. Define a player-facing jackpot receipt that names SEVENS jackpot and its Major/Grand/Super tier; internal IsScatter configuration must not leak as a Scatter feature.
  5. Obtain Product acceptance for the measured 11.748980% hit rate and 4.323568 sigma.
  6. Generate parity evidence, PAR sheet, compliance evidence and player-facing help for the version actually selected by runtime.
  7. Define FreeBets separately if Product still wants them; no behavior is inferred from marketing text.

18. Source notes

Observed from the supplied live-help captures on 2026-08-23:

  • 3×3 grid;
  • five fixed paylines: three horizontals and two diagonals;
  • symbol awards 60/40/20/15/7;
  • seven/eight/nine SEVENS jackpot tiers 50×/250×/1000×;
  • displayed RTP 96.08%;
  • max-win claim 1300×.

The official product page independently states RTP 96.08%, max win 1300× and fixed jackpot awards 50×/250×/1000×. Its FAQ says “3 lines,” which conflicts with the live help showing five; this GDD uses the live in-game rules as the stronger source and records the contradiction rather than hiding it.

Reference URL: https://neverending.tech/slots/firefruit-sevens-classic