Space Cowboy: From Web App to App Store
TechBy Chris West••5 min read

Space Cowboy: From Web App to App Store

Space Cowboy is a gravity-assist physics puzzle game heading to Google Play beta under inkOrange Studios, built as a web app with Three.js and React, packaged for native with Capacitor.

Every space probe that's ever left the inner solar system has used the same trick: fly close to a planet, let gravity bend your path and boost your speed, then coast to the next one. NASA calls it a gravity assist (opens in a new tab). Voyager used Jupiter and Saturn as slingshots to reach interstellar space. It's elegant, counterintuitive, and surprisingly fun to turn into a game.

Space Cowboy is a physics puzzle game built on that idea. You aim a rocket, fire one burst of engine power, and then gravity takes over. Planets and suns bend the flight path. The challenge is reading the gravitational field, finding the angle that swings you around one body and onto the next, and landing on the target planet. No steering once you're flying. Just physics.

I've been building it under inkOrange Studios, and it's about to enter beta on Google Play (opens in a new tab). My first native app heading to a real app store.

One burn, 100 levels

Space Cowboy is comprised of 10 worlds, with 10 levels in each.

Space Cowboy is comprised of 10 worlds, with 10 levels in each.

The core mechanic is simple: drag to aim, watch a preview line trace the trajectory, release to launch. That preview line is honest. The same physics engine that draws it also runs the actual flight, so what you see is what you get. If the line threads between two planets and curves onto the target, the rocket will too.

Colt and NAV fight through a lack of fuel, but a universe of energy in the form of gravitational wells.

Colt and NAV fight through a lack of fuel, but a universe of energy in the form of gravitational wells.

Each level is a small solar system. Ten worlds, ten levels each, and every world introduces something new. Early levels are static orbits and gentle curves. Then the skies get crowded. Then things start moving. Moons orbit planets. Binary suns blaze with heat zones. Asteroid belts block the obvious path. Black holes warp everything nearby. By the end, comets and white holes are in play, and the preview line looks like abstract art.

Navigate to the home world by slingshotting around celestrial bodies.

Navigate to the home world by slingshotting around celestrial bodies.

Stars reward clean solves: one for completing the level, one for solving it within a set number of tries, one for a trick shot that slings around a specific planet. Coins earned along the way unlock optional tools. A junk ball that adds a gravity well. A frying pan that acts as a bounce wall. A ram for smashing asteroids. A heat shield, a drag chute, a pair of wormholes you place yourself. None of them are required, but they open up creative solutions that the raw physics wouldn't allow.

Colt Comet and NAV

The game has a story, and I'm genuinely fond of it. Colt Comet was once the galaxy's most famous pilot. Now he's a scruffy cowboy asleep in a beat-up tug at the edge of the system. His sidekick NAV, a small round red robot with dry humor, wakes him with a message from his daughter Phoebe: her first solo flight is on the 30th, Colt has a front-row seat, and he'd better not be late.

Colorful, comic-book style, illustrations to support the gameplay

Colorful, comic-book style, illustrations to support the gameplay

Problem is, Colt spent most of their fuel on a mysterious present for her. One burn per leg, and gravity has to do the rest. Comic-strip scenes between worlds follow their journey inward. It's a funny, warm story about a dad who's always been late finally making it on time.

Colt, his side-kick NAV, and his daughter, Phoebe

Colt, his side-kick NAV, and his daughter, Phoebe

The narrative gives the mechanics purpose. You're not just solving puzzles. You're getting Colt home.

Web tech, native app

Space Cowboy runs at 120fps on my Galaxy. It's a native Android app heading to beta, with Apple's App Store (opens in a new tab) next in line. But the entire game is a web app under the hood.

The rendering layer is Three.js (opens in a new tab) through React Three Fiber (opens in a new tab), which lets me build 3D scenes as React (opens in a new tab) components. The whole thing is written in TypeScript (opens in a new tab) and built with Vite (opens in a new tab). The physics engine is custom and deterministic. That word matters. Deterministic means the same input always produces the same output, frame by frame, regardless of device speed. The aim preview, the actual flight, and the level solver I use for design all run the same simulator. If the preview says the rocket threads the needle, it threads the needle.

Emersive 3d visual effects, glowing suns, wormholes, and black hole effects.

Emersive 3d visual effects, glowing suns, wormholes, and black hole effects.

Capacitor (opens in a new tab) wraps the web app in a native shell. One codebase, two app stores. The web view gets full access to native APIs: haptics, screen orientation, status bar control. Players can't tell it's a web app, and that's the point.

Shipping to app stores

This is a big step for me. I've been building web apps for over twenty years, and I've shipped side projects as websites for as long as I can remember. But publishing to Google Play (opens in a new tab) is a different milestone entirely. It means signed builds, store listings, review processes, version management across platforms. A different discipline than deploying to Vercel (opens in a new tab).

Space Cowboy is the first release under inkOrange Studios, but it won't be the last. Exoplanet Explorer, a spinoff of my TerraForge (opens in a new tab) project, is in the pipeline. The same Capacitor (opens in a new tab) workflow, the same single-codebase strategy. Google Play first, then Apple. I'm building toward a catalog of native apps that all start as web projects, because the tooling has finally caught up to the ambition.

Part of a bigger picture

inkOrange Studios is the publishing arm of my app development ventures.

inkOrange Studios is the publishing arm of my app development ventures.

Space Cowboy sits alongside two other space projects: Solar (opens in a new tab), a celestial propulsion simulator, and Mission Control (opens in a new tab), a rocket engineering challenge game. Each one explores a different slice of spaceflight. Solar is about scale and trajectories. Mission Control is about building rockets that survive their missions. Space Cowboy is about the beautiful, unintuitive physics of flying without an engine.

I've spent 20+ years in front-end engineering, and I have a BFA that taught me to care about how things feel, not just how they work. Space Cowboy is where all of that converges: real physics, a warm narrative, and the kind of polish that makes a phone game feel like it belongs on your home screen.

Beta is coming soon. Colt's running late, but I'm trying not to be.

Comments

Loading comments...

Leave a Comment

0/2000 characters (minimum 10)