Skip to content
RedReaper420Public

Repository files navigation

License: MIT Version Live Demo GitHub Wiki

Apoapsis

Apoapsis logo

Apoapsis is an interactive web-based star and planetary system generator inspired by Vector-Graphics' Periapsis.

Live demo: https://redreaper420.github.io/apoapsis/

Screenshots

Open/Close

Screenshot - UI Screenshot - Rocky planet w/ magnetic field and its moon, illuminated from two sides
Screenshot - Saturn-like view Screenshot - Lava world
Screenshot - Binary Earths Screenshot - Close binary star system

Features

  • Astrophysics-based seeded procedural generation of systems of main-sequence stars and planets (from tiny moons to brown dwarfs).
  • Configurable generation parameters (star properties, planetary migration simulation regimes, etc.)
  • Interactive 2D top-down visualization with time warp.
  • Detailed body properties inspector.
  • Scriptable generation filter.
  • Saving & loading of systems and settings in JSON files.
  • Total system report generation in HTML format.

Getting Started

Online

Just open the live demo.

Local / Self-hosting

  1. Clone or download the repository (or a release).
  2. Serve the files with any static HTTP server. Examples:

Python 3

python -m http.server 8000

Node.js (npx)

npx serve .
  1. In a modern browser, open the URL leading to index.html at your server (i.e., http://localhost:8000 with Python server).

Tip

When hosting on your own server you can change the "Home" button destination by editing home_url.txt.

Quick Usage

Action How
Generate a new system Click ♻️ Generate at the top
Change seed / settings Click ⚙️ at the top and navigate the opened settings overlay
Inspect a body Click it in the view or use the navigation panel at the left
Toggle details rendering Click buttons at the bottom (🌗 💡 🧲 ☁️ 🌐 🌱 🔆 🔄 🔍 🏷️ 💫 👁️)
Time warp Click ▶️/⏸️ to toggle pause; drag the slider at the bottom to control simulation speed
Save / load system Click 💾 / 📂 at the top
Export HTML report Click 📄 at the top
Activate generation filters 1. Open the settings (⚙️)
2. Open the Filter tab
3. Select, paste, or type a script in the text box(es) (⚠️ only paste code you trust)
4. Click on Enable filter

Credits & License

Special thanks to @Vector-Graphics for inspiring this project through Periapsis and for allowing the use of original assets and concepts.

This project is licensed under the MIT License.

For third-party libraries, assets, and attributions, see THIRD_PARTY_LICENSES.md.