Orbits made simple: the maths behind one thumb in Sunwise

In Sunwise your thumb only sets how wide your planets swing. Why the ring moves like a spring, why tight rings spin fast, and why it sits a little inside your thumb.

A small star with three rings of planets around it, tight, resting and wide, each planet's trail longer in close and shorter far out, and a thumb resting just outside a dashed ring

Sunwise has the smallest control of any game I have made. You hold your thumb anywhere on the screen, and how far it is from the star sets how wide your planets swing. That’s it. You never move the star, and you never steer a planet.

Making that one control feel good took more maths than anything else in the game. This post is about it, in plain words, with a little bit of formula for those who like that.

If you have not played yet, how to play Sunwise explains the game first.

The ring is a spring

The simplest version is: the ring is exactly as wide as your thumb’s distance from the star. Thumb moves, ring moves, same moment.

It feels terrible. The planets jump around with no weight at all, like a cursor.

So in Sunwise your thumb does not set the ring. It sets a target, and the ring chases that target like a weight on a spring. Every frame the game works out a pull towards the target, a bit of drag against the ring’s speed, and moves the ring by that:

a=ω02 (target−r)−2 ζ ω0 va = \omega_0^2\,(\text{target} - r) - 2\,\zeta\,\omega_0\,v

Two numbers decide how it feels. ω0\omega_0 is how stiff the spring is, and in Sunwise it is 10. ζ\zeta is how much the spring is damped, and it is 0.7.

With those numbers the ring arrives in a little over half a second, and on the way it swings past the target by about 5 percent, then settles back. That small swing past is the whole trick. It is what makes the planets feel like they have weight, like they lean into a turn.

Other values feel very different. With no swing past at all, the ring feels stiff, like a machine. With a lot of swing, it wobbles and you can’t place it where you want. 0.7 sits in between: a bit of weight, still precise.

A dashed ring shows where the planets are heading while your thumb is down, so you can see the target even while the spring is still catching up. Let go, and the ring drifts back to its resting size.

Tight rings spin fast

The second rule is the one that turns a control into a game.

Planets on a tight ring go round faster. Planets on a wide ring go round slower. The exact rule is:

ω(r)=3×(150r)0.75\omega(r) = 3 \times \left(\frac{150}{r}\right)^{0.75}

where rr is the ring’s size in pixels and ω\omega is how fast it turns. Put simply, with the numbers on a phone:

RingTurns a second
Tightabout 0.78
At restabout 0.48
Wideabout 0.26

A chart of Sunwise's spin: turns a second falling as the ring gets wider, while the planets' speed along the ring still rises a little

Real planets follow a stronger rule, where the power is 1.5 instead of 0.75. With that, tight orbits become a blur and wide ones crawl, and swinging out feels like a punishment. At 0.75 there is a nice balance: a wide ring turns slowly, but because it is so much bigger, the planets still move a bit faster along it. So swinging wide never feels sluggish. It just covers the sky more thinly.

Why that makes it a game

Because of that one rule, every second is a choice.

A tight ring is a wall. It turns fast, and anything coming in has to cross it while a planet is nearby. A wide ring reaches far, but the planets are spread thin, so things can slip between them.

Here is roughly how likely two planets are to stop a hazard that crosses the ring, if you just hold the ring still and hope:

HazardTightAt restWide
A rockalmost alwaysalmost always3 in 5
A comet4 in 5about half1 in 4

So the answer to a comet is to pull in. And swinging wide to reach a pulsar is a real risk, because it opens gaps for everything else. No one ring size is right for long. That is the skill.

There is a hidden layer to it too. Since the spin depends on the size, changing the size also changes where the planets will be a moment later. A comet’s warning line shows for a little over a second before it comes, and in that time, just by choosing how wide to hold, you can shift where your planets will be by a good part of a turn, ahead or behind. So a good player does not just pull in for a comet. They pull in at the right moment, so a planet is exactly where the comet will cross. The odds in that table are the floor, not the ceiling.

The comet that felt unfair

The first version of the comet was faster, a little smaller, and the planets had to touch it exactly. A tight ring caught it only about half the time. In every stage, comets did most of the damage, and every loss to one felt like bad luck.

Losses that feel like bad luck are the worst thing a game like this can have. So the comet slowed down, got a bit bigger, got a longer warning, and the planets now hit anything that passes within a few pixels of their edge. A near miss on screen counts. Now a tight ring catches comets about four times in five, and when one gets through, it usually looks like your mistake, not the game’s.

The ring sits inside your thumb

The obvious way to do “hold anywhere” is to put the ring right under your thumb. But then your thumb sits on top of the planets, and on top of whatever is about to hit them.

I wanted to measure this properly, not guess. So I had a robot play six stages, and at every moment I placed a pretend right thumb where each idea would put it: a fingertip, with the rest of the thumb reaching down to a hand at the bottom right. Then I counted how often the thumb covered a planet, or a hazard about to meet the ring.

Where the ring sitsHazards hiddenPlanets hidden
Right under the thumb9.7%11.8%
A little inside5.6%5.0%
100 pixels inside0.3%none
140 pixels insidenonenone

So in Sunwise the ring sits 100 pixels inside your thumb. Your finger rests just outside the planets, never on them. The rule stays exactly the same, where your thumb is still sets the ring, and you almost never cover anything. Going further inside buys nothing more and makes the widest ring need your thumb near the corner of the screen.

Sunwise's first stage with its guide: a thumb held below the star, the planets swinging on a ring inside it, and the line "Hold anywhere and slide. The further your thumb is from the star, the wider your planets swing."

The measurement is for a right thumb from below. Left-handed players, or people with very small phones, may still find their thumb in the way sometimes. That is one of the things I will watch for when testers play.

Light, and a little greed

One more piece of maths, because it adds a lovely tension.

When you smash something, it drops light, and the light slowly drifts outwards from the star. Your planets collect it when they pass through. Collect enough and you get to pick an upgrade.

Smashes happen on your ring, so if your ring stays put, it collects its own light. But if you swing wide to smash something and then pull straight back in, the light drifts away. So every few seconds there is a small choice: stay out a moment longer for the light, or pull in to be safe.

Each upgrade needs a little more light than the one before, so the first ones come within seconds and a long stage sees five or six.

Two Sunwise stages in motion, stage 30 and stage 150, the planets sweeping round the star

All of it in one sentence

A spring that gives the ring weight. A spin that makes tight safe and wide far. A thumb that sits just outside the action. And light that tempts you out.

All of that, and the player only has to know one thing: hold anywhere. The bosses and skies waiting further in are in bosses and skies.

On this page