We bought a Roblox fishing simulator for $600. 42K daily players, $21/day revenue. After one diagnostic, D1 retention doubled and CCU went from 600 to 1,500.
i bought a fishing simulator on Roblox with 42,000 daily players. never played it. the seller gave me access to their analytics dashboard and i uploaded everything to Claude.
the game made $21 a day. forty two thousand players, twenty one dollars.
48 hours after we started fixing it, D1 retention doubled from 9% to 19% and CCU went from 600 to 1,500. here's the full story.
the seller had run Sponsored Ads and grown the game from zero to 25K daily players in a week. then something interesting happened. they stopped paying for ads and the traffic kept climbing. the Roblox algorithm picked it up through Home Recommendations and pushed it to 53,590 daily players with zero ad spend.
but the game was making $21/day. the seller couldn't figure out how to monetize it and wanted out. i saw 42K daily players with a broken monetization layer and thought: this isn't a bad game, it's a good game with missing infrastructure.
i didn't need to play it to know that. the numbers told me.
why would someone sell a 42K DAU game for $600? because they were bleeding ad spend trying to grow it, couldn't figure out how to make money from it, and decided to cut their losses. the algorithm gave them traffic they couldn't convert. to them it was a liability. to us it was an opportunity.
people keep asking how i actually did this. here's what happened step by step.
this is the part anyone can do tonight with a free Claude account.
Step 1: Download your analytics. go to Creator Dashboard and download CSVs for Retention (D1/D7/D30), Revenue (daily + by product), Acquisition Sources, Session Time, and the first-session retention curve. those five cover everything. upload them to Claude and ask it to diagnose the game against what the Roblox algorithm rewards.
Claude does have context on what the Roblox algorithm cares about but it's better to prompt it to research the most up-to-date signals first. the algorithm changes and you want current info.
i actually uploaded a doc with the numbers already organized because i'd pulled them manually. CSVs are cleaner and faster. Claude reads them directly and builds the tables for you.
Step 2: Screenshot your game beat by beat. i took 20 screenshots of Fish a Brainrot. every single screen a player can see. HUD, upgrades, shop, rods, mutations, spin wheel, fishing dock, merchant, index, rebirth, admin machine, steal, leaderboards. everything. uploaded them all to Claude in one batch.
Claude mapped every monetization touchpoint in the game. or more accurately, it mapped the absence of them. zero purchase prompts. shop hidden behind a manual menu. offline earnings working on backend but invisible to players.
Step 3: Screenshot the nearest successful competitor. this is the part most devs skip and it's the most valuable.
i found Kick a Lucky Block, a top game in a similar genre. took 7 screenshots covering: the main plot with HUD and offline earnings banner, premium pedestals with Robux prices, the store with timer and starter pack, the weights shop, safe zone with kick prompt, the rarity zone bar, and the event chase sequence.
then in a separate Claude chat i did a deeper audit. wrote up every monetization touchpoint, every UX pattern, every feedback moment in the competitor. took that audit doc and uploaded it back into my main chat.
Step 4: Let Claude build the gap analysis. with my game's screenshots and analytics on one side and the competitor's screenshots and audit on the other, Claude did a side-by-side comparison. it identified specific patterns to bring over. not copying the competitor. understanding what works in the genre and what my game was missing.
the whole thing was one continuous conversation. not one big prompt. i uploaded something, Claude diagnosed it, i pushed back or added ideas, Claude integrated them. it was a working session. i'd describe what felt off about the game's feel and Claude would translate that into a spec with specific fixes. some ideas were mine, some were Claude's. some Claude initially flagged as scope creep and then reversed position when i explained why they mattered. it was collaborative.
separately i connected Claude to the Roblox Studio project through an MCP server. this let Claude read the actual codebase directly. 41,625 lines of Lua across 155 files. server runtime alone was 6,225 lines in one monolith file.
you don't need MCP for this. you can copy paste your code into Claude and it works the same way. MCP just saves time when the codebase is large. free tier Claude can handle 5,000-10,000 lines comfortably. for a full codebase like this you'd want the paid tier.
this is where we found the hidden stuff. 18 rods in the data but only 3 showing in UI. offline earnings system fully built but surfaced as a tiny text label. modification system already coded but invisible. 12 total audio assets in the entire game.
the code audit found 26 distinct problems in under an hour.
before i show you what was wrong with the game, you need to understand what the algorithm rewards. the signals are ranked:
every fix we made was designed to move at least one of these signals. if a change didn't map to an algorithm signal, we didn't do it.
the game had exactly one healthy signal. ARPPU at 154 Robux, 88th percentile. the few people who found the buy button spent well. everything else was broken.
| Signal | This Game | Benchmark | Status |
|---|---|---|---|
| D1 retention | 9.05% | 10%+ | Below kill line |
| D7 retention | 0.92% | 3-5% | Effectively zero |
| Session time | 13.3 min | 15+ min | Low |
| Payer conversion | 0.09% | 0.8-1.5% | 1 in 1,111 players |
| Co-play ratio | 0.04 | 0.10-0.20 | No invite system |
| qPTR | 1.43% | 2.5%+ | Decent thumbnail |
| ARPPU | 154 Robux | 120 Robux | High spenders |
people find the game. they click on it. when they buy, they spend well. but nobody stays, nobody returns, and nobody buys because they're never asked to.
the diagnosis was simple. this game had traffic with no infrastructure around it. the algorithm gave it an audience. the game had no way to keep them.
this is the part that surprised me.
12 audio assets total. one music track, 8 gameplay sounds, 3 UI sounds. no catch sounds for rare items, no purchase celebration, no event sounds. the entire audio experience of a game with 42K daily players was 12 files.
zero purchase prompts anywhere in the code. not one popup. not one contextual offer. the first time a player could see anything to buy was if they manually opened the shop menu. most players never did.
offline earnings system was fully functional on the backend. it calculated income for every occupied plot with a 4-hour cap. but it surfaced as a tiny text label on individual pads. no banner, no "your brainrots earned $X while you were away" moment. the system worked. nobody could see it.
the game had 18 purchasable fishing rods in the data. the UI showed 3. fifteen rods were just hidden behind incomplete UI.
a full modification system already existed. Normal, Golden, Diamond, Rainbow at 98.5%, 1%, 0.45%, 0.021% drop rates. basically the enchantment system we assumed we'd need to build from scratch. it was already there. just needed better VFX and visibility.
no daily login rewards in the code. zero. no streak system, no calendar, no reason to return tomorrow. this is why D7 was 0.92%. the game gave players no reason to come back.
no invite friends button. no promo code system. no creator distribution channel. this is why the co-play ratio was 0.04. the game had no social mechanics at all.
and the two biggest revenue items? AutoReel (R$19) and AutoFishing (R$199). both skip the core gameplay entirely. players were paying money to not play the game. that tells you how boring the moment-to-moment interactions felt. the best-selling products were the ones that let you skip it.
first thing we did was set up a three-step funnel. PlayerJoined, EquipFishingRod, StartFishing.
969 players tracked. 656 equipped the rod. 634 started fishing.
32.3% of all players churned at step 2. they joined, walked around, never found the rod, left. that's 12,000+ players per day who never started playing. the game worked fine after that first moment. only 3.35% dropped between equipping the rod and actually fishing. the core loop was solid. the door to it was locked.
the fix was auto-equip the rod on spawn. one change. five minutes.
CCU jumped from 600 to 800 overnight. 33% increase from removing one friction point. i didn't need to redesign the game. i needed to let people into it.
this is the thing about funnels. you assume the problem is your game. usually the problem is the door. players never get to the game because something between "join" and "play" is broken. you can't see it because you know your own game too well. you skip past the friction every time you test.
we have a full team. lead dev, animator with a film background, VFX artist, environment lead, character artist, 3D architect, backend devs, and a sound designer who's worked with Gucci and Samsung.
all of them spent a week on a game we bought for $600.
lighting. complete overhaul. the old version had a foggy pastel look that made everything feel flat. we pushed it brighter, more saturated, stronger color separation between zones. players should feel a difference when they walk from one area to another.
water and effects. VFX with caustics and updated splash effects on every rod hit. all event lighting reworked for Blood Moon, Pirate, Power Surge, Lucky Clover. the events already existed in code but had no visual identity. we gave each one a distinct color palette and atmosphere.
physical progression. the old power upgrade was a boring menu. tap a button, number goes up. we replaced it with a physical dumbbell training gym. player stands at the weights and mashes a button. new animations, equipment tiers from wooden dumbbells to mythic weights, VFX on every level-up. makes progression feel physical instead of abstract. this is the kind of change that doesn't show up in a metric directly but changes how the game feels to play.
animations. four new custom fishing animations. cast, throw, idle, collect. replacing default Roblox animations. our animator made them in one day. default animations are the fastest way to make a game feel cheap. custom animations are the fastest way to make it feel real.
sound. 43 new sound effects and 2 original music tracks. the game went from 12 audio assets to over 55. every interaction has sound now. catch a fish, hear a splash and a reel. catch a rare one, hear a different sound. open the shop, hear a door. buy something, hear a celebration. sound is the cheapest way to add feedback to a game and almost nobody does it well.
environment. wall textures updated. waterfall added. clouds in terrain. props organized and placed intentionally instead of scattered randomly. the map went from "dev testing area" to "place someone designed."
all of this shipped while the game was live with 15K-40K daily players. we didn't take the game down. we didn't announce an update. we pushed changes live and watched the metrics in real time.
every single metric had been in freefall from April 15 to May 8. then it all inflected upward on May 9 when the update shipped.
| Metric | Before | After | Change |
|---|---|---|---|
| D1 retention | 9.05% | 18.96% (daily cohort) | x2 |
| Session time | 13.05 min | 15.87 min | +19% |
| CCU peak | 600 | 1,500 | x2.5 |
| Payer conversion | 0.09% | 0.10% | Flat |
D1 more than doubled. session time jumped from 14th percentile to roughly 40th. CCU went from 600 to 800 on the auto-equip fix alone, then to 1,500 after the full update.
payer conversion barely moved. 0.09% to 0.10%. because none of the week 1 work was monetization. we fixed how the game looks and feels. we didn't fix how it makes money. that's next.
this is important. the temptation when a game makes $21/day is to add more things to buy. but if nobody stays long enough to want to buy anything, more products don't help. you fix retention first. then you fix revenue.
the monetization gap is still wide open.
no insufficient funds redirect. when a player can't afford something, nothing happens. no popup, no "need more cash?" prompt. in a well-monetized game, this is where you surface a Robux purchase. the player already wants to buy something. they just can't afford the in-game currency. that's the highest-intent moment possible and the game throws it away.
no starter pack. no impulse buy button after a lucky catch. no purchase celebration VFX. no server announcements when someone buys something. social proof is one of the strongest conversion drivers in Roblox and this game has zero.
the cheapest product is R$99. way too high as a first purchase for a 10-year-old. the first purchase needs to be R$25-49. low enough that a kid buys it without thinking. once they've bought once, the second purchase is 3x more likely.
no daily login rewards. no streak system. the event system exists in the code but zero Robux-exclusive items. there is no reason for a player to return tomorrow.
two free revenue sources still not enabled. Premium Payouts and Private Servers. Premium Payouts pay you a share of Roblox Premium subscriber time spent in your game. Private Servers let players buy their own server. both are settings toggles. literally 45 minutes of work for passive income that runs forever.
payer conversion was actually 0.25% under the previous owner in mid-April. then it declined to 0.09% as the algorithm flooded in organic users who had nothing to buy. the product catalog didn't scale with the audience. more players came in, but there was nothing new for them to spend on. the game got more popular and made less money per player at the same time.
the revenue math. ARPPU is 154 Robux, 88th percentile. the people who buy, buy well. if payer conversion moves from 0.09% to 0.5%, which is still below the platform median, daily revenue goes from $21 to over $100. if it hits 1%, which is average for a well-monetized simulator, revenue crosses $200/day. the game isn't a $21 game. it's a $200 game with no checkout counter.
when we transferred ownership, the game went private for about 12 hours. we didn't realize the transfer process would do that. the algorithm noticed immediately. traffic crashed from 25K daily to 6K overnight.
we had to rebuild momentum from scratch. every metric we're showing is after that crash, which means the gains are real. they're not riding on previous momentum. we started from the bottom of a hole and climbed out.
if you're buying a Roblox game, plan the transfer carefully. coordinate with the seller to minimize downtime. every hour the game is offline, the algorithm forgets you.
the game wasn't making $21/day because it's a $21 game. it was making $21 because it had zero monetization infrastructure. the product was fine. the wrapper was empty. the algorithm gave it an audience. the game had no way to make money from that audience.
most of what we "built" was already in the code. 18 rods were hidden behind a UI that only showed 3. the offline earnings system was functional but invisible. the modification system existed but had no VFX. we didn't create new systems. we uncovered the ones that were already there and made them visible.
you don't need to play a game to diagnose it. you need the analytics, the codebase, a competitor to compare against, and a clear framework for what the algorithm rewards. the game tells you what's wrong if you know what to look for. i watched gameplay footage and studied screenshots. i didn't need to grind the game for hours. the data was more honest than any play session.
the first fix is almost always the simplest. 32% of players never started playing because the rod wasn't auto-equipped. one line of code recovered 12,000 players per day. the hardest problems in game development are not the complex ones. they're the obvious ones that nobody sees because they're too close to the product.
sound is underrated. 12 audio assets to 55. the difference in how the game feels is enormous. every interaction should have a sound. every achievement should have a sound. every purchase should have a sound. silence feels broken.
download your analytics CSVs from Creator Dashboard. retention, revenue, acquisition sources, session time. upload them to Claude and ask it to map your game against the Roblox algorithm signals.
find the top game in your genre. screenshot every screen from spawn to minute 5. upload them alongside screenshots of your own game. ask Claude to show you the gaps.
if you want to go deeper, paste your codebase in. Claude will find the systems you already built but aren't surfacing, the monetization touchpoints you're missing, and the UX friction you can't see because you know your own game too well.
set up funnels. find your biggest drop. fix it. measure again.
monetization surfaces ship this week. starter packs, purchase prompts during gameplay, daily rewards, login streaks. Premium Payouts and Private Servers get enabled. the modification system gets proper VFX and visibility.
we're also adding an invite button. one API call. it directly feeds the co-play signal, which is the second most important algorithm metric. the game currently has zero social mechanics. adding one button could change how the algorithm treats it.
will share the numbers when they come in.
if you have a live game and you've never looked at your metrics this way, you're probably leaving money on the table the same way this game was. submit your game at bloomlabs.gg and we'll show you where.
Submit your game at bloomlabs.gg
Get Early Access