This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This project is not just about generating worlds in a CSV file. The outcome is a complete toolkit for hard sci-fi TTRPG gameplay:
Build star systems procedurally (stars, planets, moons, satellites—children and grandchildren of INRAS)
Export/Import systems as shareable files (CSV, JSON)
Visualize systems at multiple levels of abstraction
Explore systems with physics-accurate navigation tools
Travel between planets with realistic trajectory calculations
What "Done" Looks Like
A gamer can build a ton of star systems for their game in a spreadsheet. The culture generator provides keywords for AI to generate details, plus prompts for internal consistency. Then they have tools to travel between planets. Running on anyone's phone, players can load the star file from their Game Master and make their own navigation calculations.
Visualization Roadmap
vis01: Abstract Row View
The Simplest Visualization
A horizontal row showing the system in order:
[★ Star] ─── [Planet 1] ─────── [Planet 2] ── [Planet 3] ─────────── [Planet 4]
0.7 AU 1.0 AU 1.5 AU 5.2 AU
Feature
Description
Star on left
Anchor point, shows class/grade
Planets in order
Left to right by distance
Distance indicators
AU spacing shown proportionally or labeled
Planet size/type
Visual indicator (color, icon)
Use Case: Quick overview, CSV validation, print-friendly.
vis02: Interactive System Map (Top View)
Scalable, Scrollable, Zoomable Web Map
A 2D top-down view of the system with planets positioned around the star.
Feature
Description
Vertex-based rendering
SVG or Canvas for smooth scaling
Random angular positioning
Planets placed at random angles (initial state)
Zoom controls
Pinch/scroll to zoom in/out
Pan controls
Drag to scroll around the system
Orbital rings
Optional display of orbit paths
vis02.01: Orbital Animation
Bring the System to Life
Feature
Description
Orbital speed formula
v = √(G × M_star / a) → period T = 2π × √(a³ / (G × M_star))
Animated planets
Planets move along orbits in real-time or accelerated
Speed controls
1×, 10×, 100×, 1000× time acceleration
vis02.02: Time Dial
Navigate Through Time
Feature
Description
Reference point
Start position = "Epoch" (e.g., campaign start date)
Time input
Positive or negative value in Earth days/years
Position calculation
All planets repositioned based on their orbital periods
Use case
"Where will Mars be in 47 days?"
vis02.03: Delta-V Cost Display
Per-Planet Transfer Costs
Feature
Description
Delta-V from current position
Cost to reach each planet from selected origin
Hohmann transfer baseline
Minimum energy transfer Δv
Visual indicators
Color-coded by cost (green = cheap, red = expensive)
Validates that generated systems "look believable"
Catches edge cases before full UI integration
Provides statistical confidence in the rules
The Script Requirements
Input Parameters
Parameter
Description
Default
Star Class
O, B, A, F, G, K, M
Random (weighted)
Star Grade
0-9
Random
Number of Systems
How many to generate
100
Generation Logic
For each system:
1. Generate Star (class, grade) → derive Luminosity, Mass
2. Calculate zones (Snow Line, Habitable Zone)
3. Roll for planet counts (Gas, Ice, Terrestrial, Dwarf, Disk)
4. Generate masses for each planet
5. Apply Waterfall Placement (heaviest first)
6. Apply Hill Radius checks and "Shove" logic
7. Record final positions and masses
Output: Spreadsheet Format
Each row = one system. Columns organized in clusters: