RedditPP Mascot

RedditPP

r/outerwilds • … • u/tw33dl3dee

Gravity in the Outer Wilds universe

I wanted to understand better how gravity is simulated in OW (this started with the question "does gravity on Brittle Hollow's surface get lighter as it gets destroyed?" Answer: >!it does not!<) and the only resource I could find is [this video](https://www.youtube.com/watch?v=dpKUoWgRBSU). I've done a lot of experimentation, using in-game G-meter and [Unity Explorer Mod](https://outerwildsmods.com/mods/unityexplorer/), and below is ~~a very long and boring post~~ the compilation of everything I've found/calculated so far. Please tell me if I'm missing something, or any other good resources that I should link to.

**Spoilers** for various in-game locations; also, this information is somewhat immersion-breaking as it reveals various places where game designers cheated ~~a bit~~ to make things either easier or more appealing to the player.

# Gravity wells of bodies

First, each gravitating body in the OW universe has a **gravity well** object attached to it, that defines how its gravity is calculated with distance.

In most general case, the gravity inside and outside a planet looks like this:

*EDIT: replaced wrong plot with correct one*

*EDIT 2: added some labels to the plot*

![img](vn538sgvyw3c1 "Timber Hearth gravity, m/s^2")

There's a volume in centre (below **cutoff radius**) with **cutoff acceleration** in it (which is 0 for most planets, so you can experience weightlessness there), then its linearly interpolated to **surface acceleration** at **lower surface radius**, stays constant up to **upper surface radius** (for planets with lots of terrain, so that gravity feels the same everywhere on the surface), then falls off either as a=GM/r or a=GM/r\^2 (where G=1e-3 in OW universe), depending on **falloff exponent** (which is 1 for most bodies and 2 for Sun and Attlerock only). The **mass** of the planet and its surface acceleration are normally tuned so that there's no discontinuity at the upper surface radius (although this isn't enforced by the game). There's also **alignment radius**, below which the ship and the player experience a torque that tries to align them vertically with the body - notice how the ship, as it gets close to a planet, suddenly rotates so that the planet is right below). Here's the full table with gravity wells of all bodies:

|Body|Cutoff accel.|Cutoff rad.|Surf accel.|Low surf. rad.|Upper surf. rad.|Exponent|Mass, M|Circ. orbit vel.|Alignment rad.|Notes| |:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-| |Sun|0|0.1|100|0.1|2000|2|400000|– ^(\[1\])|0.1^(\[9\])|^(\[2\]\[7\])| |Ember Twin|0|0|8|0|200|1|1.6|40.0|250|^(\[2\]\[6\])| |Ash Twin|0|32|8|66|200|1|1.6|40.0|250|^(\[6\])| |Timber Hearth|0|55|12 ^(\[3\])|150|250|1|3|54.8|375|| |Attlerock|0|0|5|0|100|2|50 ^(\[4\])|– ^(\[1\])|110|^(\[2\])| |Brittle Hollow|20|40|10|300|300|1|3|54.8|400|^(\[5\]\[6\])| |Hollow's Lantern|0|0.1|7|75|130|1|0.91|30.2|156|| |Giant's Deep|0|0|24.2|0|900|1|21.78|147.6|900|^(\[2\])| |Dark Bramble|0|0|5|367|650|1|3.25|57.0|1100|| |Interloper|0|0|5|11|110|1|0.55|23.5|120|^(\[2\])| |Quantum Moon|0|0|5|0|110|1|0.55|23.5|110|^(\[2\])| |EotU|0|0|30|200|300|1|9|95|400|^(\[8\])|

^(\[1\]) Depends on orbit radius for 1/r\^2 bodies.

^(\[2\]) Constant or almost constant gravity throughout entire body because lower surface radius is so low. In GD's case, it doesn't matter because there's fluid everywhere, and OPM has 0g override inside. In Interloper, there's a sharp fall to 0g in the central area.

^(\[3\]) 12 m/s\^2 = 1g in OW universe.

^(\[4\]) Attlerock is more massive than Timber Hearth because it uses GM/r\^2 instead of GM/r gravity formula. If it used 1/r, it'd have to weigh 0.5M to maintain the same surface acceleration).

^(\[5\]) See below a separate section on BH's inside.

^(\[6\]) The mass of Hourglass Twins and Brittle Hollow doesn't change through the loop, which implies the mass of sand and BH's surface pieces is negligible.

^(\[7\]) Ship's maximum thrust in a single direction gives it acceleration of 50 m/s\^2. That means the closest distance you can hover above the Sun is \~2828m, just 828m above its surface (also depends on other planets' pull on the ship so might be slightly smaller or larger). However, vertical (Z) and horizontal (XY) thrust seems to have separate limits for the ship, so if you point your ship 45 degrees off the Sun's centre and thrust both backwards and up(or down)wards, it should give you about 50\*sqrt(2) \~ 71 m/s\^2 of thrust, which should allow you to hover at \~2378m from the Sun.

^(\[8\]) These values hardly matter (except surface acceleration), because in the EotU scene, nothing really orbits it. The QM and the signal blocker's orbit are fixed, not simulated.

^(\[9\]) Note that Sun's alignment radius is less than its surface radius (so practically absent). This is why flying close to the Sun doesn't reorient the ship, unlike flying close to other planets.

# Orbital mechanics in 1/r gravity

There are few important differences from Newtonian (1/r\^2) gravity: [(nice summary and derivation via effective potential)](https://physics.stackexchange.com/questions/612075/if-the-gravitational-force-were-inversely-proportional-to-distance-rather-than)

1. All orbits are bound: there are no inspiralling orbits (like there would be for 1/r\^3 gravity, for example), and no escape velocities (no matter what initial velocity you give to a propulsion-less shuttle, it'll come back eventually - although after quite a long time; in game, floating-point errors would accumulate long before that). 2. The only closed orbits are circular; all elliptical orbits [precess](https://en.wikipedia.org/wiki/Apsidal_precession) (they don't in an idealised 2-body problem with Newtonian gravity; they do in real world because of other planets and general relativity). 3. Circular orbit velocity is the same at any distance: GM/r = v\^2/r => v = sqrt(GM).

There's also a number of much subtler (and problematic) consequences of 1/r gravity, very much out of scope of the game simulation: [shell theorem](https://en.wikipedia.org/wiki/Shell_theorem) no longer holds, meaning (a) a spherical volume of mass M cannot be replaced by a point mass M at its centre (which is one of the main assumptions behind most gravity simulations) and (b) gravity inside a hollow sphere isn't zero anymore (except right in its centre), which means gravity inside a planet with uniform mass distribution wouldn't be falling towards its centre linearly. Also, tidal forces no longer [preserve volume](https://i.stack.imgur.com/ujZn1.png) at infinitesimal scale, implying non-zero average curvature even outside of gravitating masses.

So why do most bodies in OW universe use 1/r gravity? A likely reason is to give player more tangible gravity forces on such a small scale. 1/r\^2 means acceleration 250m above Timber Hearth's highest point (500m from its centre) would be 0.25g, half its current value. It would either feel non-existent even slightly away from planets, or too high on planet's surface.

Sun is an obvious exception: (a) you're not really meant to get close it (apart from the achievement), (b) elliptical orbit of Interloper wouldn't be stable and (c) orbital speeds of all planets would be the same, which just looks weird. What about Attlerock? The video I've linked in the beginning of the post says otherwise its tidal forces would yank the player of TH's surface but that fails to take into account that its mass would have to be adjusted accordingly. If you change Attlerock to use 1/r gravity (in the Unity Explorer mod, for example) and set its mass to 0.5M to preserve its surface acceleration, nothing really breaks; the tidal force that player feels standing on TH right below it is less than 0.1g, reducing the weight to 0.9g; balls in the Observatory move noticeably faster, which makes the window for noticing them shorter. I think the main reason is that devs precisely wanted Attlerock's gravity to **not** feel too tangible; approaching it and landing on it for a new player is much easier with 1/r\^2 gravity, and it doesn't perturb ship's orbit around TH too much.

One interesting consequence of planets using 1/r gravity is that moons have exactly circular orbits, otherwise they'd precess constantly and look messy and unpredictable overall.

# Inside Brittle Hollow

Brittle Hollow's gravity curve is reversed: it's strongest (1.66g) above the black hole and falls off linearly (meaning a-b\*r, not 1/r) to 0.8g at its surface level (which is located approximately at the level of the falling staircase pieces from the Escape Pod to Old Settlement), after which is falls off as 1/r). This results in a very smooth transition at the surface (300m), where values match and the first derivatives almost match (-1/26 vs -1/30), as you can see on a graph:

![img](xs22afni0r3c1 "Brittle Hollow gravity, m/s^2")

Why? My guess is to make slingshotting around the black hole easier. If instead gravity fell off as 1/r everywhere outside the black hole, it'd be around 1.6g at the lowest levels of the Hanging City (still manageable but flying from building to building with jetpack would be almost impossible), and a ridiculous 6g right above the black hole (which would be really funny to watch because ship's thrusters wouldn't be able to overcome that). Instead, with gravity increasing so slowly towards the black hole, circular orbital velocity actually **decreases** towards it, around 28 m/s right above the black hole, reaching maximum of \~54.9 m/s at 280m and falling to 54.8 m/s, which is the constant circular orbit velocity outside the surface:

![img](2b38evyk0r3c1 "Circular orbit velocity inside Brittle Hollow, m/s")

# Centrifugal force from rotation of bodies

Objects weigh around 0.5% more on Earth's poles than on equator, with 0.3% coming from the centrifugal force produced by Earth's rotation (the other 0.2% are due to oblateness of the Earth). The effect is similarly small in value on most bodies in OW, with the second-highest difference of 0.08g at Ash Twin's equator (still too small to be detected in-game), with one exception: Hollow's Lantern. Its spin is so fast it produces 0.25g acceleration at its equator (and up to 0.45g at crater rims). In the crater with projection pool, the observed gravity is reduced from 0.6g to \~0.4g. (Btw I highly recommend [this novel](https://en.wikipedia.org/wiki/Mission_of_Gravity) which kinda takes the idea to its extreme.)

# Hierarchy of gravitational attraction

Only 2-body systems (and some special arrangements like [3rd body in L4/L5 points](https://en.wikipedia.org/wiki/Trojan_(celestial_body))) are reasonably stable over long periods of time. In real life, long-lived multiple star systems are normally [hierarchical](https://en.wikipedia.org/wiki/Star_system#Hierarchical_systems), e.g. a triple star is normally a close double with a third orbiting far away from them, making it essentially a 2-body problem on two separate scales. Orbit of a moon around a planet is normally small compared to the orbit of that planet around the star. Still, when our Moon is closer to Sun than Earth, the difference in Sun's attraction of Earth and Moon (tidal force) is noticeable to make Moon orbit [elongated](https://en.wikipedia.org/wiki/Variation_(astronomy)). In real life, a moon normally weighs much less compared to its planet (e.g. our Moon weighs 1/81 of Earth), so at a first glance, it looks like the moon is orbiting the planet, however, in reality [solution to a 2-body problem](https://en.wikipedia.org/wiki/Two-body_problem#Reduction_to_two_independent,_one-body_problems) is both bodies orbiting their barycentre.

In OW system, planets are way too close to each other, moons are way too close to the planets and weigh a lot compared to planets, and 1/r gravity makes everything even "closer" to each other. Thus, OW enforces a number of simplifications to make orbits stable and tidy:

1. There's an explicit hierarchy of 2-body problems, where each planet is attracted by the Sun but not other planets, moon by its planet but not any other moon, etc. 2. Each 2-body problem, except Hourglass Twins, is in turn reduced to 1-body problem, where instead of both bodies orbiting their barycentre, one (parent) body is fixed and the other orbits it. For example, Hollow's Lantern weighs almost 1/3rd of Brittle Hollow, so their barycentre would be located 250m from BH's centre of mass, or 50m below BH's surface level. Most likely to avoid confusing players, or making navigating around planets non-enjoyable (except Hourglass Twin, where I guess it's part of the challenge), BH is made to only feel attraction of the Sun, whereas Hollow's Lantern is attracted by BH (and the Sun, of course), so it's made to orbit BH's centre. 3. If Hollow's Lantern was pulled by the Sun in an accurate manner, the difference in forces affecting it at different points of the orbit would be around 33%, resulting in visible deviation from a circular orbit (which isn't a good choice for 1/r gravity, see above). So, instead every moon/satellite (not the ship!) orbiting a planet in OW is actually feeling an "averaged" attraction force from the Sun, taken at the planet's centre, not actual attraction that Sun exerts where the moon is. Thus, the Sun is always exerting the same acceleration on a moon as it does on its planet - it attracts them "as a whole", in a sense.

Practically this is done by having a hierarchy of **force detectors** and **force appliers** attached to all gravitating bodies. The former measures forces from given fields (e.g. gravity well of a specific planet) at given point in space (normally centre of mass), and the latter applies these forces to the body it's attached to.

Example 1: Brittle Hollow has a force detector that measures Sun's gravity at BH's centre and applies it to BH. Hollow's Lantern has a force detector that measures BH's gravity at HL's centre **plus** Sun's gravity at **BH's centre**, and applies it to the Lantern. This results in LH orbiting in a circle around BH as the latter orbits the Sun.

Example 2: Hourglass Twins have an invisible body (**focal point**) at their barycentre, that orbits the Sun (detects Sun's gravity and applies to itself) - this is the orbit line you see for the Hourglass Twins on the celestial map. Each of the Twins detects gravity of the other (as it should in a regular 2-body problem) **plus** gravity of the Sun **at the focal point**. This is equivalent to Twins orbiting each other in a frame of reference that orbits the Sun. Funny enough, Twins have a (disabled by default) component called `DriftTracker` which, if enabled, constantly prints their separation and velocity to the debug console. I guess it was used by the devs when debugging Twins to make sure their separation stays constant.

Here's the full hierarchy of what attracts what (each body feels the gravity of its parent, plus whatever gravity the parent is experiencing):

* Sun * Sun station (stays in a tidal lock via forced alignment towards Sun) * Hourglass Twins barycentre * AT and HT orbit each other at orbit velocity sqrt(2GM) = 56.6 m/s. * Timber Hearth * Attlerock (tidally locked) * TH satellite * Brittle Hollow * Hollow's Lantern * Lantern's meteors * Giant's Deep * OPC parts * Islands * Dark Bramble * Interloper * White hole is in a fixed location, surrounded by a sphere of 1km radius of zero gravity (which includes the WHS). * Stranger is also in a fixed location in a zero gravity field.

The following bodies experience dynamic forces, e.g. they're affected by all detectable gravity fields at once:

* Player and their ship * Little Scouts * Deep space satellites (both mapping and backer satellite). This allows you to fly next to them without being perturbed by planet's attractions. The mapping satellite is forced into a tidal lock with the Sun.

Observatory balls are peculiar; they are attracted by Attlerock (doh), by the Sun as measured at the point of TH's centre (so as not to feel any tidal forces from the Sun), and a constant downwards 1g force (instead of actual TH's gravity). Given how small the tidal forces of Attlerock are, and how small the curvature radius of TH is, this may have been necessary, otherwise TH's gravity would pull them towards the centre of the table.

# Tidal forces

On surface of a planet/moon, you're subject to tidal forces from all other attracting bodies (on Earth, this is mostly Moon and Sun). [Here's a good illustration](https://en.wikipedia.org/wiki/Tidal_force#/media/File:Tidal_field_and_gravity_field.svg) of what tidal forces from a single body (e.g. a moon) look like: blue arrows show the moon's gravity field on surface and at the planet's centre, and red arrows show the difference between the field at each surface and at the centre. This is ultimately the tidal forces you experience on a planet's surface. They're twice as strong (and reduce your weight) at points where the moon is exactly in zenith/nadir (high tide) compared to points where the moon is on the horizon (where they increase your weight, resulting in low tide). The effect of tidal forces on a [small sphere of test weights](https://i.stack.imgur.com/ujZn1.png) is to turn that sphere into an ellipsoid, while initially preserving its volume.

1/r gravity would change tidal forces a bit; in particular, it's magnitude at high tide (zenith/nadir points) and low tide (horizon) becomes equal. Main difference from real life in OW universe, however, comes from the fact that moons don't attract planets. This means that, instead of feeling true tidal forces (red arrows), you're experiencing full attraction force of the moon (blue arrows) on the surface of its planet, with lowest weight (high tide) when the moon is in zenith, and highest weight (low tide) when it's in nadir. On the moon surface, however, you would experience true tidal forces from the planet, because the planet is attracting the moon (you can observe it on Attlerock's surface, for example).

**Example 1**: Brittle Hollow/Hollow's Lantern:

![img](ygw1qyfo0r3c1 "Gravity on Brittle Hollow's surface at different points relative to Hollow's Lantern (measured next to the Escape Pod)")

— 0