§ How to · with Forge AI
How to make a Roblox tycoon (with AI)
A Roblox tycoon needs five wired-up systems: a dropper conveyor, a currency collector, per-player worlds, rebirth math, and gamepass hooks. Forge AI generates all five in 1m 04s — including the ProfileService-style save flow so progress survives server restarts.
9 files · 260 lines · 1m 04s · 1 credit. Per-player tycoon plots cloned from ReplicatedStorage.
Dropper conveyor
Spawns coloured Parts on a timer, conveys them down a sloped Part with BodyVelocity, despawns at the collector. Configurable rate and value.
Currency collector
Touched event on the collector reads .Value attribute, increments leaderstats, destroys the dropped Part. No client trust.
Per-player worlds
PlayerAdded clones a tycoon plot template from ReplicatedStorage into a private region. No two players share a plot.
Rebirth math
Scaling formula: rebirth_cost = 1000 * 2^rebirth_count. Currency multiplier increases by 0.1 per rebirth. Configurable in constants.
Gamepass hooks
MarketplaceService:UserOwnsGamePassAsync gates VIP zones, 2x cash multiplier, fast respawn. Forge wires the gamepass IDs you give it.
DataStore save flow
Saves cash, rebirths, owned upgrades on PlayerRemoving + every 60 seconds. Retry-with-backoff. SetAsync conflict handling included.
Files Forge AI ships for this prompt
9 files · 260 lines · 1m 04s · 1 credit
ServerScriptService/TycoonServer.lua
Plot cloner, dropper spawner, collector handler
96 lines
ServerScriptService/CurrencyManager.lua
leaderstats setup + cash add/spend
34 lines
ServerScriptService/RebirthService.lua
Rebirth math + multiplier application
28 lines
ServerScriptService/SaveService.lua
DataStore wrapper with retry
42 lines
ServerScriptService/GamepassService.lua
MarketplaceService wrapper
18 lines
ReplicatedStorage/TycoonTemplate
The cloneable plot model
instance
ReplicatedStorage/Remotes/RebirthRemote
Client → server rebirth request
instance
StarterGui/TycoonHUD.lua
Cash + rebirth count display
28 lines
StarterGui/RebirthShop.lua
Rebirth confirmation modal
14 lines
Sample output: ServerScriptService/TycoonServer.lua
--!strict
-- ServerScriptService/TycoonServer.lua (Forge AI · excerpt)
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local TYCOON_TEMPLATE = ReplicatedStorage:WaitForChild("TycoonTemplate")
local DROP_VALUE = 5
local DROP_RATE = 1.5
local function spawnDropper(plot: Model, owner: Player)
while plot.Parent do
task.wait(DROP_RATE)
local drop = Instance.new("Part")
drop.Size = Vector3.new(1, 1, 1)
drop.Color = Color3.fromRGB(255, 215, 0)
drop.Position = plot:FindFirstChild("DropperSpawn").Position
drop.Parent = plot
drop:SetAttribute("Value", DROP_VALUE)
drop:SetAttribute("OwnerId", owner.UserId)
game:GetService("Debris"):AddItem(drop, 30)
end
end
Players.PlayerAdded:Connect(function(player)
local plot = TYCOON_TEMPLATE:Clone()
plot.Parent = Workspace
plot.Name = player.Name .. "_Plot"
task.spawn(spawnDropper, plot, player)
end)Building a Roblox tycoon
Tycoons are the highest-revenue genre on Roblox — and the most fragile to ship. The two failure modes that kill tycoons in the first week of launch: rebirth math that lets a player overflow currency, and a DataStore save flow that drops progress on the second player join. Forge AI ships both right.
The rebirth formula uses exponential cost (1000 × 2^count) so the cost outpaces collection rate. The multiplier increment (+0.1 per rebirth) keeps progression compelling without snowballing. Forge exposes both constants at the top of RebirthService.lua — tune them based on early playtests, no rewrite needed.
The save flow is where most tycoons die. The wrong pattern is GetAsync on join, SetAsync on leave — that gets you DataStore throttling and lost progress on rejoin within 6 seconds. Forge ships a SetAsync-with-retry pattern, periodic 60-second autosaves, and BindToClose on the server so a shutdown does not eat the last 60 seconds of every player's progress. This is the same pattern ProfileService uses, generated for you.
Per-player plots use ReplicatedStorage cloning so every player has a private space — no shared dropper, no other player stealing your drops. The collector reads an OwnerId attribute on every dropped Part so two players standing on the same collector still get their own credit. This pattern scales to 30+ player servers without any GUI lag.
See more on the Luau generator, the game builder, or browse the full blog.
Frequently asked
Does each player get their own plot?+
Yes. PlayerAdded clones the TycoonTemplate from ReplicatedStorage into a private region. The plot ownership is tagged via Attribute so the collector only credits the right player.
Does the tycoon save progress?+
Yes. SaveService writes cash, rebirth count, and owned upgrades on PlayerRemoving and every 60 seconds. Retry-with-backoff handles DataStore throttling.
Can I add gamepass perks?+
Yes. GamepassService wraps MarketplaceService:UserOwnsGamePassAsync. Forge wires the gamepass IDs you give it for VIP zones, 2x cash, fast respawn — extend by adding more checks.
How does rebirth math work?+
Default formula: rebirth_cost = 1000 × 2^rebirth_count. Currency multiplier += 0.1 per rebirth. Constants are at the top of RebirthService.lua, easy to tune.
Can I add upgrade buttons (faster dropper, better drops)?+
Yes. Forge generates an upgrade tree in a follow-up prompt — buy buttons trigger a server function that increments DROP_RATE or DROP_VALUE and persists via SaveService.
Related Forge AI prompts
Roblox simulator
8 files · 240 lines · 58 seconds · 1 credit. Tap, earn, rebirth, repeat.
Roblox shop system
5 files · 180 lines · 47 seconds · 1 credit. Robux + in-game currency, both server-validated.
How to use Roblox DataStore the right way
3 files · 140 lines · 36 seconds · 1 credit. Drop-in save service for any game.