District Bloom · Roblox · internal teardown · July 2026
World Cup RNG
A football RNG gacha bolted onto the real 2026 World Cup: roll the dice, pick one footballer out of three, build an XI, play a match, build a stadium. This is a teardown of our own game — not a competitor's. Based on a recorded live session from 13.07.2026 (53 minutes, 108 screenshots) and cross-checked against the sources of that exact build.
01
The main point: the first ten minutes are exemplary — the roll gives you a choice rather than a random card, the match pays, the stadium grows. After that the game stops asking anything of the player: the squad resets after every match, you can roll endlessly and for free, and OVR 87 beats absolutely everyone. By minute 38 of the recording there was no reason left to carry on — and that is the same cliff analytics sees as D2 ≈ 5%.
Classification · Game atoms
Pick one of three random players to assemble a team and clear opponents.
Verb Pick
Theme World Cup
Systems RNG Roll; Collection; Tycoon Construction; Passive Earnings; Upgrade Tree; Inventory and Equipment
Economy Roll three players → pick one → assemble the XI → play a match → spend cash and wins on the stadium and collection → unlock opponents.
Pre-class delta Before play: Roll. After play: Pick. RNG generates the offer, but selection is the repeated player action.
Mask Present — RNG fronts a Pick-driven squad builder.
How to read this document, and where the numbers come from. The build under review is the one the recording caught on the evening of 13 July — and it turned out to be more valuable than expected: it is the last snapshot of the game before the most urgent economy fix.
The screen (53 min of recording, 108 screenshots) is the primary source. Everything visible carries a mm:ss timecode.
The code is a clean export of the place file saved the same evening at 22:27 (Phase 0). The match against the screen was verified: the opponent ladder and the win-chance formula agreed to the percentage point, so this snapshot can be trusted on rolls, luck, synergy, mutations and SKUs.
But on the stadium and the cash leak, Phase 0 is already "healed": in the 22:27 save the stadium costs wins and cash printing is switched off, whereas in the recording the stadium costs cash ($325 / $3300) and rolls do print cash. So the fix landed between the recording and the save. In those two sections the source is the recording + the internal digest from that same morning, and this is flagged explicitly.
Our own changes from 14–15 July (OVR tiers, ladder remap 70–150 → 40–100, stadium priced in wins) are not in production. They are not part of the game and are split out into §12 as "what is proposed and what is being prototyped".
Part A · Overview
Overview
What this game is, what already works in it, and where it loses the player.
00 / Headline
A strong first session with nothing to follow it
The game already earns and already feels like football: a roll is a decision, not a lottery ticket. But everything that retains fits inside the first ~15 minutes. After that the loop stops pushing back: the squad wipes itself, the dice roll free and without end, the opponents run out. The recording catches the moment where there is no point playing on — and it lines up with the second-day collapse in analytics.
Takeaway 1 · What the loop sells
"Roll the dice — build a dream team out of real stars — beat the world champion"
The fantasy works, and it is rare for the RNG genre: a roll gives you a choice of one out of three for a specific position, not a random card into a bag. That is already half a squad builder.
Takeaway 2 · Why it works
A roll = a decision: three candidates for different positions, and you can skip for free.
OVR is one legible progress number, and the same number computes the win chance.
The 2026 World Cup live layer: real fixtures with countdowns, a results ticker, moments tied to real goals.
Galaxy Roll is an honest conversion door: 96% of all first purchases.
Takeaway 3 · The main risk
The game dismantles itself: after a match it demands you rebuild the squad from scratch, and the free dice roll without limit.
Attachment to the club never has time to form, and progression meets no resistance. By minute 31 OVR 87 beats the whole opponent ladder; by minute 46 you can walk away for an hour and nothing changes.
~10% → ~5%
D1 → D2 (the second-day cliff)
1.27
visits per day per player
96% / 93%
of first purchases = Galaxy Roll / of those, bought nothing else
16.7%
share of revenue from the top 1% (genre norm 40–60)
A 1-in-3 choice instead of blind gachaA live layer of the real World CupGalaxy Roll: ×15 daily revenue in 48hThe match is passive waitingNo rung between 6 and 119 RobuxThe squad resets after every matchThere is effectively no losingThe Russian localisation is machine-made and broken in places
Part B · Gameplay
How it is actually played
The core loop, the first minutes, and where the session breaks.
01 / Core loop
The roll is a decision. Everything after the match is not
The loop is assembled better than in a typical RNG competitor: the dice hand you not a card but a choice of three for a position, and every choice moves one legible number — OVR. The loop breaks where it should close: instead of returning the player to his squad, the game invites him to take it apart and build a new one.
Roll the dice
luck · Robux
x1 · GALAXY
→
Pick 1 of 3
a decision
position · nation · tier
→
Build the XI
11 / 11
OVR ↑
→
Match
~45 sec
you watch the sim
→
Luck + cash
for goals
stadium · moments
→
Break up the squad ↺
forced
"build a new team"
Cash goes into the stadium; luck is fuel for the next rolls. The last node is not a metaphor: it is the game's literal instruction after a win.
GIF
The heart of the game is a choice, not a lottery. Three candidates for different positions: Ueda 84 ST (1 in 175, Elite), Meunier 80 CB (1 in 70), Sow 79 CM (1 in 55). At the bottom, "SKIP": you can always decline, for free. The same shot shows a defect: the flash promises "Better than your ST" in Latin script, while the card's own badge reads Cyrillic "СТ" (“ST”). recording 23:46
The game itself asks you to break up the squad. The literal banner after a win: "Great! Build a new team and play again to increase your luck!". Alongside it: CASH 1.61K, Luck 37/37, a Moment Pack at ◎10 and the World Cup ticker ("ARGENTINA DOWN SWITZERLAND 3-1 · BOOSTED"). This is the product's central contradiction: OVR promises a growing club, while the loop demands you wipe it. recording 15:02
GIF
You watch the match, you do not play it. A ~45-second sim: cards stand in their positions, the score on top, a minute-by-minute commentary feed down the side. There is not a single decision inside the match — hence "boring to wait", and hence the pull towards auto-roll. recording 09:19
GIF
The best ceremony in the game. A "RUBY" pack → "TAP TO OPEN" → a moment card. It is the juiciest beat in the whole recording — and the only place the game delivers a genuine surprise. The "TAP TO OPEN" label, meanwhile, is left in English in the Russian client. recording 10:28
02 / The first minutes
The onboarding quietly rigs things in your favour — and it is right to
The first rolls are not random: the game scripts them to teach synergy and to stop you failing. The technique is good, but it also exposes how little the loop steers anything after that.
The first roll in the recording produced Grimaldo, Cubarsí and Gavi — three Spaniards. That is no coincidence: on the first two rolls all three candidates are forcibly swapped for the weakest cards of a single nation, so the player spots the link himself and builds his first bit of chemistry. The game then spells it out: "Put players from the same country together".
What the onboarding scripts
How it looks in the recording
Why
Rolls 1–2: three cards of one nation, deliberately weak
Grimaldo / Cubarsí / Gavi — all Spain 03:16
show synergy before the player starts optimising
The nation hint
"Put players from the same country together" 04:33
explain the green links in the squad
The reveal cutscene only on the first rolls
after that the animation gets shorter 05:36
not to get in the way of an experienced player's pace
The first matches are rigged
a 4:0 win straight away 09:39
give a taste of winning before any risk appears
Synergy is visible and honestly calculated. "BEST OVR 77" = "base 73 · +4 synergy". A green link glows between Cucurella and Grimaldo — both Spain; the rest of the links are gold. Every neighbour of the same nation gives +2 to the rating. And three localisation defects at once, right here: the forward line is labelled "Передний привод" (“front-wheel drive”), and the names within a single squad are jumbled — Larin, Watkins, Grimaldo in Latin script and Крамарич, Рэшфорд, Кукурелла (“Kramarić, Rashford, Cucurella”) in Cyrillic. recording 11:10
A reward you cannot find. The pack drops Fernández 90 CM +3, 1 in 1,800, tier "Legend", a "World Cup '26" badge — the visual language of a top-end acquisition. But in the shop, moments are sold as "a random MOMENT skin to wear on your card" — that is, it is a skin. The player hunts for the 90 in his squad and does not find him. The moment's story ("COMPLETED COMEBACK…") is left entirely in English. recording 10:39
Part C · Under the hood
The real numbers
What the game actually computes — checked against the screen, not guessed from it.
03 / Rolls, luck, rarity
Chance is a pure function of rating. The rarity tier plays no part in the maths
Card ratings run 72–99, and each rating has its own denominator: the chance of pulling a card = luck / denominator (capped at 1). The tier ("Pro", "Elite", "Legend", GOAT) is a label on the card: it takes no part in the draw. The roster size disagrees across sources — the on-screen index shows 423 players, the team quotes "400+ base cards and ~93 moment skins", and the config gives 472 entries by tier. The difference is most likely about whether moments count as cards; one number is worth pinning down.
This is not a reconstruction — it matches the screen to the letter. Every "1 in N" the game shows on a card is exactly equal to the denominator of its rating:
Card in the recording
Rating
Shown in game
Denominator in code
Sow, CM
79
1 in 55
55
matches
Meunier, CB
80
1 in 70
70
matches
Ajer, DEF
81
1 in 100
100
matches
Ueda, ST
84
1 in 175
175
matches
Fernández, CM (moment)
90
1 in 1,800
1800
matches
On all five cards legible from the screen, the displayed chance is exactly the denominator of the rating. So the odds display is honest — a rare plus for the genre. But an unpleasant corollary follows: since only the rating sets the chance, the rarity tier tells the player nothing beyond the number on the card. Eight tiers work as a colouring scheme, not as an axis of progression.
Open question — to check before anything goes out externally. Some cards do not fit the rule: on one screen "Rui Silva 72" is shown as 1 in 3, on another as 1 in 150; "Diop 77" is shown as 1 in 500 against a table denominator of 25; the moment card "Rashford 89" as 1 in 26,000 against a table value of 1,300. Either moment cards and some other cards have their own source of chance, or the display sometimes shows the wrong denominator. For now this does not qualify as a bug — but if it is confirmed that the same card shows different odds on different screens, that is a direct hit to trust in the odds display, and trust in the odds is the only thing holding a gacha together.
Eight rarity tiers — and one of them is called «Повышение» (“a pay rise”)
The tiers are labelled on the cards like this: Любитель (Amateur), Перспектива (Prospect), Повышение (Rising), Профессионал (Pro), Элита (Elite), Мировой класс (World Class), Легенда (Legend), GOAT. The third in that list is a translation error: Rising in a football sense means "a rising star", whereas «Повышение» in Russian means a pay rise. The player sees a word on the card that describes neither the rarity nor the player.
The denominator curve — this is the entire "depth" of the collection
Rating
72
75
80
84
88
90
92
95
99
1 in N
3
12
70
175
800
1,800
8,000
30,000
300,000
Chance at luck 7 (start)
100%
58%
10%
4%
0.9%
0.4%
0.09%
0.02%
0.002%
Chance at luck 37
100%
100%
53%
21%
4.6%
2.1%
0.5%
0.1%
0.01%
Chance at luck 67
100%
100%
96%
38%
8.4%
3.7%
0.8%
0.2%
0.02%
This shows what luck is for — and why its value does not read in the recording. Between luck 7 and 37 the chance of an 84 grows from 4% to 21%, but the player sees neither this table nor a before/after: he sees only the "luck" number and the fact that good cards drop anyway. A roll is never empty — if no group clears the threshold, the game hands over the most common available card.
The knob that calls itself the master — and is not. The luck settings file is labelled in code as "MASTER KNOB of the whole game", and the same file holds the "Team OVR → luck per match" curve. In the recording it never executes once: the branch that reads it only fires on an empty squad, and a match will not start without a full squad. Luck is actually granted by a different formula — "luck per goal × opponent difficulty". On top of that, the comment above the curve promises "80 → +5, 100 → +420", whereas the table gives +9 and +50. This is not cosmetic: this is the exact knob the digest called "the single most important one in the whole game, and it has to be settled before touching money".
Mutations — the mysterious "+N" nobody can work out the rule for
In the recording it jumps out that some cards carry a "+N" and others do not, and the logic does not read. Here is the logic — and it does not depend on luck at all:
Mutation
Rating bonus
Chance
Effect
Shiny
+2
1 in 20 (5%)
foil
Pyro
+3
1 in 50 (2%)
fire
Aurora
+5
1 in 125 (0.8%)
aurora, enlarged VFX
They are checked from rarest to most common, and the first one that fires wins; the total chance of any mutation ≈ 7.7%. The mutation rolls together with the offer — so the player sees exactly the card he will get. Nothing in the interface explains what it is, or why your neighbour has one and you do not. recording 34:38
04 / Opponents and win chance
A ladder of 15 opponents, the last four of which cannot be beaten
The formula is simple and honest: chance = 50% + (your OVR − opponent OVR) × 3%, clamped to 1…92%. Client and server read the same number, so the displayed percentage is real. The problem is not the formula, but where it leads.
The formula agreed with the screen to the percentage point. At a Team OVR of 77: Academy XI (OVR 70) → 71%, Sunday League (OVR 73) → 62%, Group Stage XI (OVR 76) → 53%. Exactly what 50% + (77 − OVR) × 3% gives. The button underneath, meanwhile, reads "PLAY ACADEMY XI" — left in English. recording 08:51
The match pays luck for goals, not for the win. Reward = luck per goal × opponent difficulty, decaying by 0.6 on each subsequent goal: for the Academy that is 2 → 3.2 → 3.9 (capped at 5), for the top opponent up to 175. A defeat pays 1. The commentary feed and the scoreline are in English. recording 09:39
The full ladder and what is wrong with it
#
Opponent
OVR
Unlock
Luck per goal
Chance at OVR 87
Chance at OVR 100 (ceiling)
1
Academy XI
70
—
+2
92%
92%
2
Sunday League
73
$500
+3
92%
92%
3
Group Stage XI
76
$1,500
+4
83%
92%
4
County Cup XI
79
$4,000
+6
74%
92%
5
Continental XI
82
$10,000
+8
65%
92%
6
National Side
85
$20,000
+10
56%
92%
7
Elite World XI
88
$35,000
+13
47%
86%
8
Champions XI
90
$50,000
+16
41%
80%
9
World-Class XI
95
$80,000
+20
26%
65%
10
Legend XI
100
$125,000
+25
11%
50%
11
All-Star XI
110
$250,000
+30
1%
20%
12
Galactico XI
120
$500,000
+36
1%
1%
13
Icon XI
130
$1,000,000
+42
1%
1%
14
GOAT Squad
140
$5,000,000
+55
1%
1%
15
Ultimate XI
150
$10,000,000
+70
1%
1%
Defect 1 · The top of the ladder is unreachable
Cards in the game run 72–99. So Team OVR tops out at roughly 100. Yet opponents #12–15 have OVR 120–150.
Even a perfect squad of nothing but 99s takes Galactico, Icon, GOAT and Ultimate at a 1% chance — that is, loses 99 times out of 100. And they have to be unlocked for $500,000 … $10,000,000. The last four opponents are scenery with a 16.5 million price tag.
Defect 2 · The bottom of the ladder is collapsed
The chance ceiling is 92%. At OVR 87 the first six opponents are already indistinguishable.
The Academy (OVR 70) and Sunday League (73) both give 92%, although a whole rung separates them. The player stops choosing: there is no difference, and the luck per goal is higher on whichever one is unlocked. This is exactly what the recording renders as "OVR 87 is more than enough to beat everyone".
Defect 3 · The ladder costs 17 million
Unlocking all 15 opponents costs $17,076,000.
This is the only substantial cash sink in the game. And in the recording the entire stadium cost ~142,000 — meaning the opponent ladder is 120 times more expensive than the stadium, and it dead-ends in opponents who cannot be beaten.
In sum: with a realistic squad (OVR 87) the meaningful choice is opponents 3 through 8: below that it hits the 92% ceiling, above it falls to 26% and lower. Even a perfect squad of nothing but 99s gets honestly as far as #10 (Legend XI — exactly 50/50) and stalls there: #11 is taken at 20%, and #12–15 at 1%. The last four opponents are unbeatable by design, and together they cost $16,500,000.
Part D · Money
Economy and monetisation
Where cash comes from, where it goes, and what we sell.
05 / Stadium and cash
The stadium is the only honest revenue engine. And it turned out to be leaking
The design intent is right: a match draws a crowd, the crowd pays for tickets, tickets build the stadium, the stadium holds a bigger crowd. A compounding loop tied to actually playing. The problem is that in the recording the money arrived bypassing it.
Parameter
Value at start
How it is calculated
Capacity
100 seats
grows from stadium pads
Ticket price
$5
grows from pads
Fanbase
100
+4 per match, +4 per win, +3 per sell-out, +1 for each skin worn
Demand per match
45–110
fanbase × random 0.45–1.10, capped at capacity
Revenue per match
$225–$500
tickets sold × ticket price
The whole stadium
~$142,000
23 upgrades, from $200 to $16,800, 4 levels (gates at 5 and 16 purchases)
GIF
Pads are bought by standing on them. At most 3 pads are visible at a time — always the cheapest available ones. Good technique: the choice does not paralyse, progress is always one step away. recording 16:05
The clue that dates the build. The PITCH BORDER TRIM (+10 capacity, $325) and SMALL ENTRANCE GATE (+30 capacity, +$1 on the ticket, $3,300) pads are priced in cash. In the save made the same evening three hours later, those same upgrades already cost wins (7 and 20). So the recording caught the economy before the fix. recording 19:47
The leak this was all about. In the recorded build every roll printed cash according to the rarity of the card that dropped — and paid Galaxy rolls guarantee Legend or better. By the digest's estimate, ~170 Robux of rolls print the entire $142,000 stadium. This is exactly what the "199 Robux safe" was killed for once already — the mechanic came back dressed as a roll. In the recording you can see it with the naked eye: at minute 40 auto-roll goes on, the player steps away from the keyboard and the money comes in by itself. The morning call on 13 July called this "the most urgent fix in the whole plan" and tasked Danyil with closing it by Friday; the 22:27 save shows the flag already off and the stadium switched to wins. The recording is the last document of the leaking economy.
What this breaks downstream
All stadium prices were tuned while rolls were printing money — once printing is off, they will have to be retuned wholesale.
The "2× Cash" pass at 109 Robux doubled precisely the cash from rolls. Switching the flag off makes a paid-for pass completely inert — the only place it is read sits inside the disabled branch. The digest warned about this in advance: "we will quietly break the thing people paid 109 for".
Duplicates paid cash — that was the hidden compensation for a fourth Mbappé. Without it, a roll starts to feel wasteful.
With no cash from rolls, the match has to pay noticeably — otherwise the 45-second ceremony feels poor.
06 / Monetisation
A conversion door 96% wide — and almost nobody walks any further through it
Galaxy Roll is the best thing in the monetisation: a cheap impulse right inside the fun. 96% of all first purchases are it. But 93% of those who walk through buy nothing else, and only 2% ever take a game pass.
The shop is entirely in English. "SKINS PACKS — open a pack, unlock a moment skin": MOMENT PACK ◎10 ("a random MOMENT skin to wear on your card"), ICON PACK ◎20. "CASH — instant cash": STACK $8.00K for ◎13. "GALAXY ROLL — premium rolls, every card LEGEND or better, luck cranked x20". Not a single Russian string. recording 11:54
The only retention hook is one-shot. "Support the game and get +10 luck": like, favourite, join the group. That is +30 once in the lifetime of an account. The second item is labelled "Любимые IT" (“favourite IT”, as in information technology) — a machine translation of "Favorite it". The buttons read "CLAIMED". recording 14:56
The full storefront as of the recording
SKU
Robux
What it gives
How it performs in the data
Verdict
Galaxy Roll ×1
6
a roll with a Legend floor, luck ×20
96% of first purchases; median between purchases 0.4 min; record — 197 rolls one at a time
KEEP
Moment Pack
10
a random moment skin
the first one is given free
KEEP
Cash Stack $8K
13
8,000 cash
sells progress itself, not acceleration
KILL
Icon Pack
20
an ICON moment skin
~5,000 Robux, a third of buyers came back
KEEP
Featured Moment
39
the current rotating skin (rotates ~2h, pool of 8)
a flop: 23 buyers. Expensive next to the pack at 20, and invisible
FIX → 19–25
Galaxy Roll ×10
55
10 rolls
shipped on 13 July — a rung the digest had not yet seen
SHIP
2× Cash Gain
109
×2 cash from every roll
becomes inert the moment cash printing is switched off
KILL
2× Luck Gain
119
×2 luck from matches
148 sales in 3 days against 39 in a week at 149 — the price has been found
KEEP
Galaxy Roll ×25
129
25 rolls
shipped on 13 July
SHIP
Auto Roll
pass
auto-roll
the same thing is buyable for in-game cash in the upgrade tree — the pass sells something free
FIX
Auto Equip Best
pass
auto-fielding the best
gives nothing: auto-equip fires for everyone unconditionally, with no ownership check
KILL
Observation 1 · The 6↔119 gap is already partly closed
The digest wrote that between the roll at 6 and the pass at 119 there was not a single rung. By the evening of the recording there are five: 10, 13, 20, 55, 129.
The 10-for-55 and 25-for-129 bundles — exactly what the digest proposed shipping — were already in the shop. So pain #2 on our list needs re-measuring, not solving again: the question now is not "is there a rung" but "does it convert".
Observation 2 · Two passes are sold for nothing
"2× Cash" becomes a dud after the economy fix; "Auto Equip Best" is a dud already.
This is not a hypothesis: auto-equip is called on every card added, with no check at all that the pass was bought. Both SKUs are a direct refund and reputation risk, and both are fixable before the World Cup final.
Observation 3 · The whale vacuum
The top 1% brings in 16.7% of revenue against a genre norm of 40–60%.
The most expensive item in the game costs 129 Robux. A big spender has nothing to buy — not because he does not want to, but because there is nothing. Tellingly: the things that would fill the vacuum (VIP, expensive packs, Icon/GoatHunter) already existed and were cut.
Part E · The trump card and retention
What brings the player back
The one thing competitors do not have — and the thing we do not have.
07 / The 2026 World Cup live layer
The strongest thing in the product — and it barely feeds the loop
The game is bolted onto the real World Cup: a fixture grid with countdowns, a ticker of real results, moments tied to real goals, a bonus to cards of whichever nation won yesterday. No RNG competitor has anything like it. But today it is wallpaper: you can look at it, you can barely act on it.
The real World Cup calendar inside the game. France–Spain (in 1d 1h), England–Argentina (in 2d 1h), the semi-final and the final. Tabs: «Жить / Запланировано / История» — nominally "Live / Scheduled / History", though the first is itself a mistranslation (§12). This is a ready-made reason to come back — but the game asks you to do nothing by those dates. recording 14:20
The ticker with its BOOSTED tag. "ARGENTINA DOWN SWITZERLAND 3-1 · BOOSTED", "ENGLAND SNATCH IT VS NORWAY 2-1 · BOOSTED". There is real mechanics behind it: every card whose nation won a real World Cup match in the last 12 hours gets +2 to its rating. The panel heading is in Russian, all of the contents are in English. recording 19:47
What is already built
Live fixtures with countdowns
A ticker of real results
+2 to cards of the winning nation (12h)
Moments tied to real goals
Featured Moment rotating every 2 hours
What is missing
The live layer demands nothing of the player and rewards him with nothing for coming back.
The nation bonus arrives by itself; you do not need to know about it. There is no "field a Spaniard before Spain play", no "log in after the final", no set closing out. The event happens next to the player, not to him.
A hard deadline
The 2026 World Cup final is once-and-for-all content.
A commemorative trophy for everyone online at the final; a limited skin; the WC26 set closing at the final whistle. Miss it and it is gone for good — there will not be a second World Cup. And the plan for it, by the digest's own assessment, is 26 steps with no owners and no dates.
08 / Retention
The problem is not session length. The problem is that there is nothing to come back for in the evening
A ~15-minute session is above the Roblox benchmark. And daily time in game of 14–19 minutes is at the bottom of the band. Divide one by the other: 1.27 visits per day. The player enjoys the visit and does not come back the same day.
~10%
D1 (peak 12.9%)
~5%
D2 — the weakest plank in the curve
1.5% → 3.27%
D7 on update release day
~15 min
average session
D7 doubling on the day the stadium and Galaxy Roll shipped is the most honest signal in the whole dataset: shipping an update is itself our retention mechanic. The tails of old cohorts bent upward that day — the dormant came back. It works, but it is not a mechanic, it is manual labour.
Hook
What it does
State
"Free luck"
like + favourite + group = +30 luck
one-shot for the lifetime of an account
Weekly updates
the only thing that actually lifts D7
works
The World Cup ticker and fixtures
a reason to know what is going on
does not require a return visit
Daily reward (7 days: $1K → GALACTICO pack)
the table exists in code
not wired to anything
First match
+5 luck, once
ok
First 2 matches rigged
guaranteed wins
ok
Pushes / drop countdowns / happy hour
—
none at all
A ready-made hook sits in the code and nobody calls it. The seven-day login reward table — $1,000 / $2,500 / SILVER pack / $10,000 / GOLD pack / $50,000 / GALACTICO pack — is in the config, but no service ever requests it, and the player profile has neither a streak field nor a last-login date. It is the only mechanic in the game aimed directly at the second-day cliff, and it sits switched off. An honest caveat: wiring it up is not enough — days 3, 5 and 7 hand out packs, and the pack rail is dead too, so only the four cash days would work. And $1K–$50K against a $17m opponent ladder is noise.
09 / Session pacing
The game loses the player at minute 31 — and you can see it in the recording
The peaks land on new territory: the first roll, the first match, the first moment card. The troughs are not about difficulty but about its absence: the squad wipes, the dice roll free, the opponents run out. Below is engagement minute by minute across that same 53-minute recording.
How to read this. The green zone on the left is the ramp-up: new territory every ninety seconds. The red zone on the right is the stretch where the curve dropped below the boredom threshold and did not come back. Important: this is one session — and the average session in the game lasts 15 minutes, so the mass-market player leaves at the very peak, before the collapse. He meets the collapse on his second visit. That is precisely what prints D2 ≈ 5%.
Peak · 0–12 min
Everything is new and everything is free.
Rolls, the first squad, the first win, the first moment card. The onboarding rigs it and does so invisibly. Here the game works without a single complaint.
Trough · 15–27 min
Passive boredom: the squad resets, the match is watched.
The first "why bother" arrives at exactly the moment the game asks you to break up the team it has just helped you build. Then 45 seconds of simulation with no decisions in it.
Cliff · 31–53 min
Active pointlessness: no resistance is left.
OVR 87 beats every available opponent. The dice roll free and forever. You can walk away for an hour. You cannot lose. The game has stopped asking for anything — and this is not a trough you pull a player out of with a reward, it is the end of the content.
Part F · Weak spots
Where it hurts
First what the team has already discussed and quantified. Then what is visible in the recording and was absent from those discussions.
10 / What we already discussed internally
The six pains we anchor every finding to
These are not fresh observations — they are what the analytics session and the 13 July call already named, quantified and assigned. Here they are gathered with the numbers, the people who raised them and their current state, so it is visible what moved on its own while we were tearing the game down.
Pain
Numbers
Who raised it
What was decided
State right now
The D2 cliff "problem #1"
D1 ~10% → D2 ~5%. Every cohort halves
Yelnur opened the meeting with it; confirmed by the digest
the economy "with intent, not by intuition": a day-1 cliffhanger → the first 7 days → day 28. Happy hour, dailies (Arda)
in progress, no mechanic yet
The leak: rolls print cash
~170 Robux print the entire $142,000 stadium
the digest + Yelnur independently
"the most urgent fix in the whole plan". Owner Danyil, by Friday
closed the same day — the 22:27 save is already leak-free
The 6↔119 cross-sell gap
96% of first purchases = Galaxy Roll · 93% bought nothing else · 2% took a pass · median time to a pass 12 min
the digest
10-for-55 and 25-for-129 bundles + a 2× Luck upsell after the third paid roll
the bundles are already in the game — re-measure, do not solve again
The whale vacuum
top 1% = 16.7% of revenue against a norm of 40–60%
the digest + Arda + Yelnur
scale (bundles) + scarcity (limited skins 399–999) + completion (era sets). "The answer is never power"
not started
Thumbnails < 2% CTR
CTR 1.5% → 1.1%, target at least 2%
Danyil
5 thumbnails → 3 permanent + 2 experimental. Owner Mike + Yelnur + Martin
Mike's iterations have already failed a round
The second daily visit
session ~15 min (above benchmark) + daily time 14–19 min (bottom of the band) = 1.27 visits
the digest
drop countdowns, happy hour, a day-2 gift, a push after the first Legend
not started
The top-of-progression cliff
23 upgrades, 4 levels, ~142,000 cash. "There is almost nothing in the top level". Plus 150–250 Robux = a full Legend XI in an hour
the digest + Yelnur
Martin is expanding the 3D; levels 5–8; keep the Legend floor and track it
partly
Contradiction 1 · The "30 minutes" goal aims at the wrong thing
The call set a goal of raising the average session to 30 minutes. The digest wrote the same day that 15 minutes is already above the Roblox benchmark.
If the digest is right, that is a completely different lever: the problem is not "make the session longer" but "manufacture the second visit". Two teams are pulling in different directions, and it has not been resolved.
Contradiction 2 · Cash packs
The digest: "dead forever", the config is empty. The call: "remove them, but maybe keep bags worth 1–3 pads", and the biggest bag buys the entire stadium.
Two incompatible statements about what is even on sale. The recording settles it: a Cash Stack $8.00K at ◎13 is in the shop — so the packs are alive, and the call was right.
Contradiction 3 · CTR and playthrough are mixed up
The "2%+" goal was set against CTR (1.1–1.5%). But a playthrough rate of 1.87% appears alongside it in the discussion — that is a different metric.
You cannot line 1.87% up next to 1.1–1.5%. The risk: seeing "nearly 2%" where it is actually 1.1%, and closing the task.
11 / Fresh eyes: what was absent from the discussions
The game lies to the player with three labels in a row — and each has a cause in the code
Below is what only becomes visible when you sit down and play. This is not "it just seemed that way": for every item a mechanic was found, not a symptom. Grouped by how hard it hits trust.
Rank 1 · Labels that promise the wrong thing
"Better than your ST" on an 84 card — with 100 and 90 forwards in the squad. The team on the scoreboard is OVR 87. This is not a one-off glitch: two minutes later an 81 gets the same flash with the same forwards. recording 23:58 and 26:01
A second, independent instance. Ahmed 81 СТ, a "Better than your ST" flash, and in the squad behind it — СТ 100 (+2) and СТ 89 (+2). The same shot shows the alphabet mixing: the name Ahmed in Latin script against a Cyrillic СТ (“ST”) badge, and on the card next to it the reverse — Диоп (“Diop”) in Cyrillic against a Latin CB badge. recording 25:33
The cause has been found, and it runs deeper than it looks. The comparison takes the raw base rating of the offer and compares it with the raw base rating of the weakest card you hold in that position. Meanwhile the card on the pitch displays the boosted rating (moment skin included), and Team OVR is also computed from boosted values. So: a forward with a base of 79 wearing a moment skin at 96 displays 96 and is compared as 79 — and the 84 honestly is "better" on the only number the server looked at. The proof that this is exactly what is happening: the base roster ends at 99, so a card displaying 100 physically cannot be a base card — it is boosted. The player reads one number, the game compares another. The flash answers the question "will this replace your worst forward on a scale we do not show you", and phrases the answer as "Better than your ST".
Lie 2 · "NEW!" is on almost always
The badge means not "you have not seen this" but "you have not taken this".
A card is written into the index only when it is chosen. And chosen cards are excluded from future offers. So the two sets almost complement each other: everything you are offered is something you did not take, i.e. "new". The badge lights up on every card, always, and carries no information. Everything hanging off it breaks with it: "duplicates are shown more modestly" and the new-card sound almost never fire correctly.
Lie 3 · The game will never say "worse"
The "Worse than your …" label exists in code and is suppressed at render time.
The display condition explicitly excludes the "worse" state — such a card arrives with no label at all. Together with the previous two: three labels in a row, and all three can only deliver good news. The player stops reading them fairly quickly — which is what happens in the recording.
Lie 4 · The moment is swapped out silently
What dropped: "Fernández 90, Legend, 1 in 1,800" — what landed in the squad: Fernández 87, World Class.
A moment is a skin on the hero's base card. On receipt the game swaps the moment for the hero's base card and takes that card's rarity. The display promised a Legend at 1-in-1800; the squad got a World Class. Nothing in the ceremony warns about this — hence the hunt for "that 90" who does not exist. The +3 bonus itself is real and does reach Team OVR; exactly one place ignores it — that same "Better than your" flash.
Rank 2 · Card data corruption
One card, three mismatches. The name "Rui Silva" (a Portuguese goalkeeper), the portrait — Lionel Messi, the flag — DR Congo, position GK, a kit in Brazil's colours. Name, face and nation do not agree in any pairing. recording 06:07
The clue that explains everything else. The card "Вежливый" (“polite / courteous”) — 84, goalkeeper, Belgium, Elite, 1 in 175. This is Thibaut Courtois: the French Courtois means "courteous", and the pipeline translated the surname as a word. Next to it: Rudiger without its umlaut and Порро (“Porro”) in Cyrillic — four adjacent cards, three systems for writing names. recording 50:16
«Вежливый» is not a glitch on one card but proof of method: the player list was run through a machine translator that cannot tell a surname from a common noun. The scrambled portraits probably come from the same place. What needs checking is the entire roster (four hundred-odd cards), not just these two — and first of all the surnames that coincide with ordinary words: Courtois, Silva, Fernandez, Williams, Sow.
Rank 3 · Small things that are cheap to fix
What
Where it is visible
Why it matters
«УЛУЧШЕНИЯ» (“UPGRADES”) and «ПРОВАЛИТЬ» (“ROLL”) overlap, rendering as УЛУЧШЕНИЯПРОВАЛИТЬ
15:02 · 19:47
a layout collision on the game's main button, at a standard 1920×1080
The celebration VFX sits on a cheap card: golden pillars and confetti around a "1 in 3" card, while the rarest card in the offer stands there dull
08:11
it breaks gacha's main language — "rare looks rare"
The luck total does not add up: "+6 for goals" + "+1 bonus" = 7, displayed as +7.4
39:18
0.4 out of nowhere; either a hidden multiplier with no visualisation, or a bug
Left and right backs are mirror-swapped relative to the pitch
18:28
for a football game, conspicuous sloppiness
The Invite Friends button does not work
11:58
the only viral channel in the game
The luck editor explains nothing: a heading, a "0…7" number and a bar. No text, no confirmation, no preview of the effect
12:16
luck is the central currency, and its main screen says nothing about it
In the upgrade tree, locked is indistinguishable from unaffordable: a node costing 1,000 at a balance of 1,610 is shown dark, and nowhere does it say what needs unlocking
13:02
the player reads it as "expensive", not as "a prerequisite is needed"
12 / Localisation
The Russian version is machine translation with no editing pass, and it breaks meaning
This is the cheapest and most underrated item in the whole teardown. There is no localisation table in the game — Russian is assembled by Roblox auto-translation straight from the English strings. The result is in places not merely clumsy but meaning-changing. Neither the digest nor the call raised it even once.
Translation that changes the meaning
ROLL — the game's main button→ПРОВАЛИТЬ“PROVALIT” in Russian = “to flunk, to fail”. The central button of the core loop invites the player to fail.
FWD — the forward line in the squad→Передний привод“Front-wheel drive” — an automotive term. It labels the entire forward line in the squad modal.
CAM — a position pad on the pitch→КАМЕРА“Camera”. The attacking midfielder has turned into a film camera, right there on the grass.
Courtois — a goalkeeper's surname→Вежливый“Polite / courteous”. The surname was translated as a common noun. Proof that the roster itself was run through machine translation.
Favorite it — a task worth +10 luck→Любимые IT“Favourite IT” — “it” was read as “information technology”.
Rising — a rarity tier→Повышение“A rising star” became “a pay rise / promotion”. It sits on cards next to «Элита» (“Elite”) and «Легенда» (“Legend”).
Auto Roll — an upgrade tree node→Автоматический переворот“Automatic somersault”. A “somersault” means nothing in the context of a dice roll.
Boosts — a top bar button→Усиливает“It boosts” — a third-person verb instead of a noun. The button is called “it boosts”.
Current run — an in-match heading→Текущий забег“Current track-and-field heat” — a zabeg is an athletics race. In a football game it reads wrong.
Row Z is fast asleep — a commentator line→Ряд Z крепко спит“Row Z is fast asleep”, translated literally into nonsense. The English idiom means the ball has flown into the stands; in Russian it means nothing at all.
Live — the World Cup live-matches tab→Жить“Live” as in a live broadcast became the verb “to live / to reside”. It sits next to “Запланировано” (Scheduled) and “История” (History) — a row of nouns with an infinitive dropped into it.
Inconsistency within a single screen
One opponent named in two languages at once: the card reads «АКАДЕМИЯ XI» (“ACADEMY XI”), the button under it reads "PLAY ACADEMY XI".
The menu is half untranslated: ИНДЕКС (“INDEX”) · КОМАНДА (“TEAM”) · STADIUM · SHOP — four adjacent tiles, two languages.
Positions: badges in Cyrillic, slots in Latin. The card says «СТ» (“ST”), and under it «Пустой слот ST» (“Empty ST slot”). On one pitch, RB, CM, CB, LW and ПК, ПБ, ЛБ, ГК, КАМЕРА (“RW, RB, LB, GK, CAM”) at the same time.
Names in a single squad: Larin, Watkins, Grimaldo, Ajer in Latin script — Крамарич, Рэшфорд, Кукурелла, Алаба (“Kramarić, Rashford, Cucurella, Alaba”) in Cyrillic.
One player in two alphabets on one screen: the MVP line reads Williams, the card behind it reads «Уильямс» (“Williams”).
One upgrade branch, two translations: «Множитель денег I» and «Денежный множитель II» — two different Russian renderings of "Cash Multiplier" — are tiers I and II of the same thing. They look like two separate branches.
Number agreement is broken: «5 кости» instead of «5 костей» — the wrong plural case for "dice" after a numeral.
Simply untranslated
The entire shop ("SKINS PACKS", "A random MOMENT skin to wear on your card", "instant cash — spend it anywhere", "premium rolls — every card LEGEND or better"). The upgrade tree tooltips ("+8% luck on every match. Rarer cards, better pulls."). Buttons: CLAIMED, BUY, CLOSE, PLAY, TAP TO OPEN. Half the match reward table: «Забито голов» (“Goals scored”) and «Бонус» (“Bonus”) are in Russian, Tickets Sold and New Fans are not. Every stadium structure. The entire news ticker and part of the commentary feed. The value inside the luck indicator: the heading «УДАЧА» (“LUCK”), and inside it 7 / 7 luck · 100%.
Why this is worth fixing before anything else. There is not a single task here costing more than an hour, no dependencies on game design, no risk of breaking something people paid for. And every one of these strings hits the player in the first few seconds: the main button says «ПРОВАЛИТЬ» (“fail”), the forward line says «Передний привод» (“front-wheel drive”), the rarity tier says «Повышение» (“a pay rise”). Roblox is a platform with a vast Russian-speaking audience, and drop-off on the first steps of the funnel has grown from 5% to 8–9% with the cause still unfound — hypotheses about load time, iPad and the 3D were raised and rejected. Localisation as a hypothesis was never considered at all. That does not mean it is the cause. It means it is worth checking — it is cheaper than all the other hypotheses put together.
Part G · Fixes
What has been proposed
A separate document, a separate project. Here: what it closes and what it does not.
13 / What is proposed and where it stands
The redesign package closes four pains out of six. Two it does not close at all
The target shift is simple: from a gacha machine to a squad builder. The squad lives for weeks, rolls feed it rather than re-rolling it; money comes from matches; wins set the pace, not luck. Below is an honest map: what is proposed, what is already being prototyped, and where the holes in the package are.
Match
different modes
pays cash + fans
→
A pack of the tier you need
for in-game cash
an OVR floor
→
Into the PERSISTENT squad
nothing resets
a chemistry puzzle
→
OVR ↑
+1 always within reach
60–90% affordable
→
Next tier up 🛸
for wins, not for luck
season · rebirth
Pain
What is proposed
The proposal's key number
State
The D2 cliff
a persistent squad + a start at OVR ~40 with a slow curve + a weekly season + a push after the first strong pull and before the season closes
the goal is "~2 hours a day across a week" instead of "everything in 2.5 hours"
the luck knob is done, the mechanic is not
The cash leak
switch off printing on rolls, money only from matches, the stadium priced in wins
a single flag flip
done by the developers on 13 July
The 6↔119 cross-sell
a ladder of packs between 6 and 119 + position packs "a bit pricier than a random one" + the next tier for Robux
not a single Robux price in any document
structurally closed, numerically not
The whale vacuum
bring back what was cut + a whale ladder + status content (limited stadiums, trophies, WC26 once-and-for-all) + an endless pool of 100–110+ packs
"the thing that would fill the vacuum already existed and was cut"
not started
Thumbnails <2% CTR
—
—
GAP: zero mentions
The second daily visit
season and drop countdowns + pushes
the cadence is weekly, not evening-by-evening
GAP: the lever is blocked by our own principle
The top-end cliff
100–110+ packs for Robux only + rebirth + a season + icon PVP + a collection by ranges
"6 tiers are the basis; beyond that the pool expands almost without limit"
not started
Gap 1 · Thumbnails are covered by nothing
On CTR, cover art, traffic and discovery, the five redesign documents contain zero lines.
The whole package is about the core loop and monetisation. Yet a CTR of 1.1–1.5% against a 2% target is a pain that constrains entry, not retention: however much you fix the loop, nobody walks into it. The task formally sits with Mike, but it is not in the package and its iterations have already failed a round.
Gap 2 · The second visit is blocked by our own principle
The proposal states it outright: "Nothing is earned while idle".
It is an elegant and correct principle for an economy — and it also blocks the main lever of the second visit. The genre classic (it has accrued over 3 hours — come and collect) becomes forbidden. What is left is weekly timers and pushes, i.e. a treatment for "tomorrow" and "this week", whereas the metric is about "this evening". It is a deliberate trade-off, but nowhere is it named as one.
Gap 3 · The promise to the client diverged from the implementation
The client was told "6 tiers = 6 stadium levels". In the prototype the tiers are decoupled from the levels, of which there are still 4.
Done deliberately, to avoid modelling new 3D. But the proposal reads otherwise, and it is worth saying so out loud before someone notices. Same place: the proposal describes adding "low" cards at 40–71, while the plan cancels that in favour of a remap.
What of this already lives in our prototype
Below are our changes, not the game. They are not in production. They are listed so it is visible what has already been tested against the code and what is still just text.
Phase
What
State
0
Sources under git + write-back into the place file
done
1a
The master luck knob: a scale up to 40, a convex two-parameter curve, three comment-vs-code discrepancies removed
done
2a
Tier ↔ effective rating; the opponent ladder remapped 70–150 → 40–100 so the displayed chance becomes true
done
2b
The roll shows the card at its tier (visuals are placeholder)
done
2c
The persistent squad — the biggest mechanical shift and the package's central promise
not done
3
Three coefficients, rebirth, a weekly season, the "icon"
not started
4
PVE depth: a "tier × class" matrix, a positional penalty
scale rebalance only
5
Dailies, the collection, a battle pass, weaving in the live World Cup, PVP
not started
Three risks that need saying out loud.1. Impulse rolls are 96% of first purchases and half the revenue. A persistent squad by definition reduces the need to re-roll the team; watch that the cure does not kill what pays. 2. A weekly hard wipe on Roblox is risky; a reward proportional to peak OVR over the week must compensate, otherwise it looks like confiscation. 3. Our prototype currently grants 500 wins on load (the entire stadium costs 298) — a test stub, flagged in code in capitals as "zero this out before any release". The flag is there; the release checklist is not.
13b / What to borrow from competitors
Half of what we were going to borrow we already have — and it does not work
A cross-check against the cards on neighbouring RNG games. The main finding is an unexpected one: two of the five tricks are already implemented in our game, the player simply does not know about them. That is cheaper than building.
Trick (whose)
What it gives
Our state
Verdict
Stacking card mutations Spin a Soccer Card
a layer of variation on top of the card: a reason to re-roll what you have already assembled, and something to sell whales through chance rather than through power
already there: Shiny +2 (1 in 20), Pyro +3 (1 in 50), Aurora +5 (1 in 125) with VFX. But explained nowhere — in the recording the "+N" reads as randomness
explain, do not build
Cohesion / chemistry FC
links by nation/club/league give +rating to the whole team: depth in squad building and a reason to go for nation packs
already there: +2 for each neighbour of the same nation, stacking, plus +2 to cards of a nation that won a real World Cup match in the last 12h. Visible as "base 73 +4 synergy"
extend to club/league
Tier packs with a rating floor FC Mobile
predictable "no lower than N" packs instead of "1 in N": steady OVR growth and ready-made price rungs
no. There is only the Legend floor on Galaxy Roll
take it
A free roll on a timer Lucky Spins
a gift every N minutes — a direct lever on the second daily visit
no. And our redesign package forbids it, via the "nothing is earned while idle" principle
allow an exception
A "pay for luck" whale ladder
fill the whale vacuum through rate/chance/status, not through power
no. The spend ceiling is 129 Robux. Meanwhile a ready-made ladder lies dormant in the code: a 20-level "mutation machine"
take it
A conclusion worth stating out loud: mutations and chemistry are not development tasks but explanation tasks. The mechanics sit in the code and are counted into Team OVR, but the interface says nothing about them, so for the player they do not exist. The cheapest gain in depth in the whole document.
Part H · Bottom line
Verdict
What the product is worth and what to do first.
14 / Scoring
A strong product with an honest storefront that runs out after half an hour
This is not a prototype — it is a working game with a unique trump card and real revenue. Everything below is about the fact that it stops exactly where it ought to begin.
8/10
Core loop
the roll as a decision + OVR as a single number — stronger than the genre competitors
8/10
First minutes
the onboarding rigs it invisibly and teaches synergy without a word. The best part of the game
6/10
Economy
an honest "match → fans → tickets" model, but in the recording the money bypassed it
6/10
Monetisation
an excellent conversion door, a whale vacuum, and two passes selling nothing
4/10
Retention
the only working mechanism is shipping updates by hand
5/10
UX and copy
a dense HUD, three lying labels, machine Russian
9/10
Uniqueness
the live World Cup — something nobody else has. Used at a quarter of its potential so far
6.5 / 10
The game wins the first fifteen minutes and loses everything after that. The cause is single and structural: the loop does not push back. The squad wipes itself, the dice roll free and forever, the opponents run out at the seventh of fifteen, and the last four cannot be beaten in principle. There is nothing left for the player to want — and that is exactly what analytics sees as D2 ≈ 5% and what the recording catches at minute 31.
What to do, in order of cheapness:
Today, one hour of work: translate the ten strings that change meaning — starting with the «ПРОВАЛИТЬ» (“fail”) button, the «Передний привод» (“front-wheel drive”) forward line, and the goalkeeper surnamed «Вежливый» (“polite”). Zero risk, zero dependencies.
Before the World Cup final: pull the two passes that give nothing ("2× Cash" after the economy fix, and "Auto Equip Best" already now), and deactivate the zombie cash-pack SKUs. This is about refunds and reputation, not balance.
Before the World Cup final: fix the three lying labels. Compare boosted rating against boosted, show "worse" honestly, stop slapping "NEW!" on everything. Trust in the storefront is the only thing a gacha stands on.
The World Cup final is once-and-for-all: a trophy for everyone online, the set closing at the whistle. There will not be a second World Cup.
After that: the persistent squad. It is the package's central promise and the only thing that fixes D2 structurally. And it is also the only thing not yet started.
And one observation outside the list: two of our six pains have already moved on their own while we were tearing the game down. The leak was closed the same day. The rungs between 6 and 119 Robux — the bundles at 55 and 129 — are already in the shop. They need re-measuring, not solving again.