Most game write-ups are a trailer with adjectives. This one is a build log. Moon Base Defenders is a three-round Roblox game, and the interesting part is not the pitch, it is the two or three problems that nearly stopped it.
The drop. Players land on the moon base and get their footing.
Secure the town and reach your vehicles.
The boss arrives, and the five vehicles assemble into one mech.
Leaderboard, difficulty tiers, a cash shop, and a town players decorate and build teams in.
The design constraint that shaped everything.
Round three is the reason the rest of the game is built the way it is. If five vehicles have to combine into one mech at the end, then they were never really vehicles. They are mech components that happen to drive. That has to be true from the first block you place, because you cannot retrofit it. Every vehicle has a docking socket, and every socket has to land in the right place in mech space.
We solved those transforms rather than eyeballing them. The rule is simple: the place a limb has to sit equals the core's socket position in mech space, minus the limb's own socket position rotated into the same frame. Do that and the parts meet exactly. Eyeball it and you spend a week nudging a leg by a quarter stud.
The geometry problem that almost ate the art pass.
Roblox has hard limits per mesh part: ten thousand triangles, twenty-one thousand vertices, and a 1024 by 1024 texture. Our source models came in at about 1.9 million triangles. That is not a small reduction, it is a different kind of object.
Standard decimation stalled on seven of sixteen models. They would not go below roughly four times the target no matter what settings we used. The diagnosis took longer than the fix: the models reported over thirty-four thousand disconnected components, and a simplifier will never collapse a component out of existence. Those components were not real. They were vertices sitting in exactly the same place that did not share an index, so the mesh was mathematically shattered while looking perfectly solid.
Weld the coincident vertices first and the problem evaporates. Every model landed near 8,450 triangles, with a background tier around 1,880 for things at distance. Nothing was deleted. It was one hash and one pass.
Two smaller things we got wrong first.
The first vehicle export had every box facing inward. A signed-volume check caught it before anybody opened the file in Studio — if the computed volume of a closed box comes out negative, the winding is backwards. The second miss was normals. Without flat per-face normals Roblox smooth-shades a hard-edged industrial prop into a soft blob. Both are the kind of bug that costs an hour if a script catches it and a week if a person notices it later.
Where it stands.
Sixteen buildings are prepped and in engine limits with a distance tier. There are five vehicles, a set of destructible industrial props for the moon cheese works, and the mech assembles with no gap between components. The town, the economy, and the progression systems are the current work.
We are looking for people.
Builders, scripters, animators, testers. This is a real project with real assets on disk and a build that runs, not a Discord with an idea in it. If that is the kind of thing you want to spend a Saturday on, come talk to us.
