From Elite Wiki

"Orbits" places planets on concentric and coplanar orbits around the sun.


"Orbits" places planets on concentric and coplanar orbits around the sun. It works as stand-alone OXP or in combination with other OXPs which add planets to a system. I use it together with Far Sun OXP and System Redux (Oolite). Note, the installation order of your OXPs may be relevant. If you have trouble to get it right you may want to let Orbits emulate Farsun as well.

The OXP derives the layout of a planet system from the system name. Therefore when you return to a system again the same number of planets and the same orbits will be there. However, since "Orbits" checks the game clock the planets will have move along their orbits a little bit. (Hmm, I use a coordinate system which depends on the positions of the sun, the main planet, and the witchpoint buoy and in the previous sentence I assumed that those positions are static. Nothing to worry about, we will not notice the difference anyway, just don't ask the guys in the astro labs!

Recommended OXPs

  • to place stations on the planets (as secondary GalCop stations):
Stations for Extra Planets
Market Inquirer
  • to place planet/moon names in the compass:
Planetary Compass OXP
  • for "traffic" on the planet's space lanes:

See also

  • Rescale of the sun-planet distance:
Distant Suns
Distant Stars OXP
  • Rescale the Oolite System:
Rescaling_experiment (work in progress)


Strangers World (Planetary Systems): Although the two OXZ's will allow you to play with both installed, the two scripts are not compatible and playing with both OXZs installed will slow down the game. Oolite is also likely to crash with an out of memory error when populating a system.

This is because Planetary Systems contains a tweaked copy of the Orbits script. Both OXZs will therefore instruct Oolite to move planets and moons to the positions each script has specified. As the two OXZs are telling Oolite to do different things, the completion conditions are never met. This can cause the game to become stuck in a loop until it runs out of memory and crashes.

Notes and references

  • Version: 1.2.1 - 01 Jul 2010
Update of v1.2 for Oolite v1.74.x

Readme notes included with Orbits v1.2

  • Author: Ebi
  • Created on: 11 Jul 08
  • version: 1.1

The Dark Side

In the config folder you will find the file "script.js". It defines some variables which determine the layout. You may want to play with them:

this.MaxPlanets = 7;

"Orbits" can add planets to a system. I've defined seven planets in the planetinfo.plist (see the Config directory). So the maximum value is currently 7. If you want even more just extend planetinfo.plist. Those planets are not textured, in combination with System Redux you can reduce the maximum.

this.Yr = 300;

"Orbits" calculates the distances between the sun and the planets by scaling the vector [sun, planet]. It first calulates the orbital periods and then by applying Kepler's law that scalar. The orbital period is expressed as multiple of the days per year of the main planet. This value is also use to add some pseudo randomness. Increasing its value will give larger orbits, I guess.


The radius of a planet determines the distances to its neighbours. It works like a charge which pushes bigger planets away. The idea is that a big planet has attracted the bodies in its vicinity and no bodies are left there. At startup "Orbits" assigns the "mass" Y1 to the biggest and Y0 to the smallest planet and interpolates the other values. You can overwrite the min/max radii by defining X0 and/or X1. The resulting numbers are factors in the product used to calculate the orbital periods. Bigger numbers produce biggers gaps.

this.SpreadFactor = 3;

Adds space between the orbits in sparse system. "Orbits" multiplies the orbital periods by SpreadFactor ^ (1 / (#planets - 1))

this.RandomOffsetFactor = 0.1

Let t[i] be the orbital period of planet i. Then "Orbits" gets t[i+1]' by multiplying Yr with the weights explained above and adding the result to t[i]. After that it adds a pseudo random number in the range [0, t[i+1]' * RandomOffsetFactor] to get the final t[i+1].


The initialization order of OXPs seems unpredictable to me. If you are using Farsun.OXP and you have the feeling the planets are too close to the main planet or they are not orbiting around the sun then the installation order is probably wrong. "Orbits" can emulate Farsun. If nothing works set FarsunMultiplier to an appropriate value. Set it to 1 if you don't want a far sun. I'm using 6.


Orbits is not on the in-game Expansions Manager! There is no OXZ!

Download the zipped OXP, unzip it and place in your AddOns folder. Restart Oolite with the shift key held down until you see the spinning Cobra. If there are problems with any of this, see OXP.

There are several other versions of OXPs in Rustem's Box which are designed to complement Orbits:

Also Orbits versions 1.2.1, 1.3, 1.4 & 1.5


No license visible, but Rustem did make this available to everybody through his Box account.

Ebi (27/12/2009): "I have already prepared Orbits for the trunk version. This license stuff irritates me and therefore I haven't published Orbits yet"
  • Authors (historic): Ebi and then Kaks‎
  • Author (current): Rustem


Gameplay and Balance Indicator


Ambience OXPs tend not to change the difficulty ratings.