Nick J. Connors c977cb5333 Decluttered logs and added asteroid belts
Also includes some basic proc gen
2021-12-19 02:37:52 -05:00
2021-12-08 00:09:11 -05:00
2021-12-08 00:09:11 -05:00
2021-12-08 01:14:59 -05:00
2021-12-08 00:09:11 -05:00
2021-12-18 23:42:53 -05:00

new horizons thumbnail

A planet creator for Outer Wilds.

Planets are created using a JSON file format structure, and placed in the planets folder.

Roadmap

  • Procedurally terrain generation
  • Asteroid belts
  • "Quantum" orbits
  • Better terrain and water LOD
  • Support satellites (using custom models in the assets folder or in-game ones)
  • Surface scatter (rocks, trees, etc, using custom models or in-game ones)
  • Stars

How to create your own planets using configs:

Coming soon

There is a template here if you want to release your own planet mod using configs. You can learn how the configs work by picking apart the Real Solar System mod or the New Horizons Examples mod.

How to use New Horizons in other mods:

First create the following interface in your mod:

public interface INewHorizons
{
    void Create(Dictionary<string, object> config);

    void LoadConfigs(IModBehaviour mod);

    GameObject GetPlanet(string name);
}

In your main ModBehaviour class you can get the NewHorizons API like so:

INewHorizons NewHorizonsAPI = ModHelper.Interaction.GetModApi<INewHorizons>("xen.NewHorizons")

You can then use the API's LoadConfigs() method to load from a "planets" folder, or use the Create() and GetPlanet methods to create planets and do whatever with them. Just make sure you create planets in the Start() method or at least before the SolarSystem scene loads, or they will not be created.

Credits:

Authors:

  • xen (from New Horizons v0.1.0 onwards)
  • Mister_Nebula (created original titled Marshmallow)

Marshmallow was made with help from:

  • TAImatem
  • AmazingAlek
  • Raicuparta
  • and the Outer Wilds discord server.
Description
A custom world creation tool for Outer Wilds.
Readme MIT 341 MiB
Languages
C# 100%