October 4, 2026
The new game has a name
Farsun, a gravity shooter for iPhone and iPad, launches November 1. Notes on where its art and its 123 sounds came from, and on TripChronos 3.0: a folding iPhone, a trip planner, and a language model I check against a map.
In June I wrote that there was a new game in early prototyping, too early to talk about. It’s called Farsun, it’s a gravity shooter for iPhone and iPad, and it launches on November 1.
The first commit is dated June 10. That’s a little under five months from an empty repository to an App Store submission, on nights and weekends, and I’m still slightly surprised to be typing it.
One rule
Farsun has one idea and tries to take it seriously: gravity bends every shot, yours and theirs.
There are no formation grids and no bullet patterns to memorize. Each sector has a couple of heavy bodies in the middle of it (stars, black holes, pulsars) moving on their own orbits, and everything fired on the screen curves around them. Firing lanes open and close as the run goes on. You stop aiming at things and start aiming past them, slinging your fire around a star so it arrives from the side. The enemy’s fire does the same thing to you.
Around that sits the rest of the game. The home screen is a star chart you fly sector by sector. Every pilot gets the same daily sector, and when you finish a run, the ships you failed to kill are saved as an echo that a rival inherits as an extra wave. Duels work at three in the morning with nobody else online, because your opponent already flew. Seasons run two months each, change one rule of the board, and leave a constellation in your sky that stays there. Six are built for the first year.
No ads, no tracking, and one optional purchase that only changes how your ship looks.
The art question, answered sideways
That June post was mostly about a worry: code had stopped being the scarce thing for a one-person studio, and art hadn’t. I wanted to know whether a game’s worth of art could come out of a pipeline, where the two-hundredth sprite looks like it lives in the same world as the first, instead of a folder of one-off generations that almost match.
The answer Farsun landed on is more literal than I expected. The pipeline is a Swift package in the repo, and the art is its output. Every hull in the game, the player’s ships and each enemy role, comes out of one parameterized ship generator. The scrolling skies and the planets that sail past are generated the same way. Consistency stops being something you curate after the fact when one program draws all of it from the same rules, and “I need a new enemy for Season 3” becomes a change to that program, not an archaeology project.
So the shift I described in the Prism Runner write-up, from writing the thing to specifying and reviewing the thing, did carry over to art. It just carried over as code.
Sound, and a tool I hadn’t used before
The part I knew least about going in was audio, and it turned out to be the part with the most moving pieces.
Every sound in Farsun came from ElevenLabs, all of it through the API. The game ships 123 audio files: 81 sound effects and 42 pieces of music. The music is the complicated half. Each region of the voyage and each season has its own score, twelve sets in all, and each set is three layers (calm, storm, boss) that crossfade live with how much danger is on the screen. For that to work the three layers have to be the same piece at three intensities, and exactly the same length, down to the sample, or they drift apart. Every set is also in the same key and tempo, D minor at 100 BPM over 24 bars, so the game can change scores when you cross into a new region without a lurch, and so the short tuned stings (sector clear, new record, the boss card) fit whichever world is playing.
A generator is good at character and bad at all of that. So the generation is only the first step of a pipeline, the same shape as the art one. A prompt sheet in the repo holds every sound’s description. One script reads it, calls the API for two or three takes of each, and asks before it spends anything. A second script does the unglamorous work: it measures every take, throws out the clipped and the silent, finds the best window in what’s left, trims and levels it, and for music finds a loop point where the seam hides and cuts all three layers to an identical bar count. It turned 345 raw takes into the 123 that ship. What it can’t do is hear, so the last step is still me with headphones.
The number I keep telling people is the cost. All of it fit inside one month of the Creator plan, which was $11 with the first-month discount. The plan started with 131,000 credits and I finished with about 9,400 left. A full adaptive soundtrack and every effect in the game, for less than lunch.
Meanwhile, TripChronos learns to plan
The other thing on the bench is TripChronos 3.0, and it’s built around two changes.
The first is iPhone Duo. Open, the app stops being a stretched phone layout: your trips sit beside the one you have open, the itinerary runs next to a live map, and the video editor gets two panes. Half-fold it and each pane takes a side, clear of the crease.
The second is that TripChronos has always been about remembering a trip, and 3.0 starts helping before you leave. Give it your stops, the number of nights, a pace, and what you’re into, and it drafts the trip day by day. It can plan one free day around what’s already booked, work out the drives between hotels, and suggest somewhere worth getting out of the car on a long one. It also reads booking confirmations: hand it screenshots or PDFs and they become flights, stays, and cruises with their port calls.
The suggestions come from Apple’s Foundation Models, and the design principle is that the model doesn’t get the last word on anything checkable. Every place it names is looked up in Apple Maps and dropped unless it really exists near the stop. The arithmetic (stop order, drive times, which day gets what) is ordinary code with no model in it. A language model is good at “what would someone who likes old harbors and hates queues enjoy in Bergen” and bad at knowing whether the café it just recommended closed in 2019. So it only gets asked the first kind of question.
It runs on your device or through Apple’s Private Cloud Compute. There’s no third-party AI service in the loop and nothing passes through a server of mine. On a phone without Apple Intelligence, the planner still works from Apple Maps alone.
No date for 3.0 yet.
November 1
Farsun’s launch day opens a two-week event called First Light: clear ten sectors and you keep its engine trail for good. Until then the beta is open, and anyone who flies it before launch keeps a ship finish that can’t be earned afterward.
Five-minute sessions. Months of sky. I’ll write up how launch goes.