Why Defold Over Godot for a Web-First Life-Sim
I'm a Godot shop. Every game I've shipped this year — BOB, CastleLast, Heya, Dangan Danjon — went out the door through Godot, and it's working. So why is my next game, UptownZero, going into Defold instead?
One number made the decision for me. UptownZero is a browser-delivered pixel-art town — no app store, no platform cut, just a URL. Godot's HTML5 export starts around 8–40MB even for an empty project. Defold's starts around 1MB. For a game whose entire pitch is "click the link and you're standing in town with everyone else," that gap is the difference between someone staying and someone bouncing before the game even loads.
So I'm doing something I haven't done before: building a real, public project in an engine I'm still learning, and writing down everything as it happens — including the stuff that doesn't work.
The problem it solves
UptownZero isn't a download-first game dressed up with a web build. The browser is the product. Instant access matters more than almost anything else — if a friend sends you a link, you should be in town in seconds, not watching a progress bar.
Godot is excellent for the games I already make. But for a persistent, multiplayer life-sim where first-load friction kills retention, export size isn't a nice-to-have optimization. It's the constraint the whole project is built around.
Where UptownZero stands right now
Pre-production. The game exists as design docs, art direction, and a clear picture of what the first playable slice should be — arrive downtown, get a job, rent a room, meet someone. No Defold project checked in yet. No networking layer wired up. The coming-soon page at uptownzero.com is live; the build log lives here.
Switching engines this early is cheap. Switching after six months of Godot-specific architecture would have been expensive. That's the window I'm in.
What I don't know yet
Plenty. I've shipped in GDScript, not Lua — the language gap is real, even if the concepts transfer. I haven't settled on a backend for persistent multiplayer (Nakama is the leading candidate, but that's its own evaluation). Monetization is still being shaped — one-time purchase, optional passes, in-game economy — and I won't commit to final pricing in public until the model is tested, not just designed.
I also don't know how many of my Godot habits will fight me in Defold's component model. That's partly why this devlog exists: so the friction shows up on the page, not just in my notes.
What's next
First Defold project setup — folder structure, build targets, and a web export I can actually measure. Then a networking spike: can I get two browser tabs talking to the same room with acceptable latency? That post is coming next.
Defold links from this post
- HTML5 manual — where Defold documents web export and size considerations
- Getting started — the onboarding path I'm following
- Defold Discord — fast answers when the manual doesn't cover your exact case