-
-
App icon (1024 × 1024)
-
The Earth yard with a Sparrow standing on the launch complex.
-
The 3D Map: the whole solar system, spun and pinched on the phone, with a planet quick-select.
-
The Moon base at night with astronauts and workers walking between jobs.
-
Research: the Sparrow at Tier 15 -> 16 - more range, a bigger tank, less wear per flight.
-
The Launch Kit - the $4.99 package: Space Bucks, credits and supplies delivered to Earth (in 0.1.33)
Inspiration
I have loved space for as long as I can remember, and I always wanted to build a space game of my own. For years it stayed a someday thing. Then a friend convinced me that Godot was the engine to build it in, and a few days later I found the Shipaton. That was the push. I sat down and built Haulspar day and night for six days straight, and came out the other side with the game I had been imagining: a space company that grows from one satellite over Earth to working bases on the Moon and Mars.
What it does
Haulspar puts you in charge of a young space company, hired by the Agency to open up the solar system.
Start small. One launch pad and one satellite. Scan the Moon, win your first contract, buy a Sparrow capsule, crew it, load it with panels, tools and oxygen - and land.
Build a base. Raise an Outpost, then grow it building by building: Hydroponics, a Workshop, a Mining Station, a Fuel Plant, a Radar Station. Your astronauts and workers walk the base between jobs - foot patrols, radar sweeps, expeditions - while rovers drive out to the sites you have charted.
Go further. Research is a ladder: unlock new rocket families, then push each one up to twenty tiers for range and toughness until your capsules can reach Mars, Venus and Mercury. Each world plays by the Moon's rules with its own look, its own resources and its own contracts: Mars with four times the ground, Venus heavy to lift off from and rich in ore under its clouds, Mercury far out with the richest ore in the game and ice hiding in its polar craters.
See it all. The map is the real solar system in 3D - every planet, the dwarf planets and the famous moons, with real facts. Spin it, pinch it, tap a world and fly the camera to it. Park a satellite and watch it survey what a world holds, line by line.
Come back to it. Haulspar runs in real time and keeps working while the app is closed. Daily orders on every world, weekly jobs that grow with every world you land on, twenty Google Play Games achievements, and a reminder when something is ready. The tutorial is spoken by your company's AI, and the Agency's director voices every contract she hands you.
Play it your way. Haulspar is free to play and nothing is locked behind money. Space Bucks buy time, never the win - every timer can be finished with bucks or cut by fifteen minutes with an optional ad, and anything with under a minute left finishes free.
How I built it
Godot 4.7 in typed GDScript. Every number and every piece of content - buildings, jobs, recipes, rovers, contracts, worlds - lives in data, so a new world is a data entry, not new code. Every Android plugin is my own Kotlin: RevenueCat for purchases and the subscription, AdMob with Google's consent form and RevenueCat's ad adapter, Play Games sign-in, achievements and cloud saves, OneSignal push, and local reminders that survive a phone restart.
Purchases are settled by a small ledger on Cloudflare Workers that checks every grant with RevenueCat, so a pack is delivered exactly once and a refund takes it back. The game keeps time against a server clock, so winding the phone's clock forward skips nothing. The rules are covered by 4,284 automated checks, and a screenshot harness walks the real game before every release.
Challenges I ran into
I built all of it from a phone. No PC - an Android phone, a terminal over SSH to a Linux box, and the Play Console, AdMob, RevenueCat and Devpost dashboards squeezed into a mobile browser. Every build was tested on the same device I was working from, and reading a 3D map on a six-inch screen is its own kind of test.
Two early builds shipped blank because of a single line that only failed on the device, which is why every release now boots the real game before it goes out. The first animated astronauts jittered so badly they were rebuilt from scratch. Each of those was found on the phone, in the game, the way a player would find it.
Accomplishments that I'm proud of
Six days from nothing to a published game on Google Play, and a public update every day since - version 0.1.40 went live on 29 September, after Venus, Mercury, Phobos and Deimos opened as the game's third to sixth worlds and a full audit of the game. A full store on RevenueCat with a subscription and free trial, rewarded ads through RevenueCat's adapter, a voiced tutorial and voiced contracts, the whole solar system on the map, six worlds with bases, and a purchase ledger that would not look out of place at a much bigger studio.
What I learned
That a game is a set of rules first and screens second, and when the rules live in data you can change your mind for free. That the phone is a harsher tester than any desktop. That the first stranger who plays your game will find what you stopped seeing. And that a deadline plus a friend's nudge can move a dream from someday to shipped.
What's next for Haulspar
More worlds - Phobos and Deimos next, then Ceres and Jupiter's moons; the map already names them, the surface art is painted, and each one is the Moon's template with its own numbers and contracts. Company emblems, achievement badges, OneSignal Journeys built on the tags the game already sets, and more of what players ask for on Discord.
Built With
- admob
- android
- cloudflare-workers
- gdscript
- godot
- google-play-billing
- google-play-games-services
- javascript
- kotlin
- onesignal
- revenuecat