slime-factory-tycoon

Optimisation — mobile first

Roughly 70–80% of Roblox sessions are on phones and tablets, many of them low-end Android. If it doesn’t run at 30fps on a cheap phone, that traffic bounces and your revenue halves. This is a monetization document as much as a technical one.

Server load

The rule that matters most: one loop for all players, never one loop per player.

-- BAD: 30 players = 30 coroutines all waking up independently
Players.PlayerAdded:Connect(function(p)
    task.spawn(function() while true do task.wait(1) ... end end)
end)

-- GOOD (what EconomyService does): one loop, iterate players
task.spawn(function()
    while true do
        local dt = task.wait(1)
        for _, p in Players:GetPlayers() do ... end
    end
end)

Other server measures already in the code:

Client / mobile

Load time

Roblox’s algorithm is sensitive to join-time drop-off. Targets:

Studio settings to change now

Built for future updates

Skip these (they won’t move retention or revenue)