THE EXPLORER

Overview

The Explorer started as a classroom tool, a simple 3D solar system to make learning about space a bit more engaging. Then I started playing No Man's Sky, and something clicked. Not the spaceship travel or the exploration loop specifically, but the feeling of a universe that could just keep going. That feeling stuck with me.

The question I kept coming back to was: how do you make something feel expansive without requiring a programmer every time a designer wants to add something new? The answer turned out to be a CSV file.

Everything the system knows about a celestial body comes from a spreadsheet. The engine reads it, generates the navigation button, positions the camera, and populates the information panel automatically. Adding a new planet is a content task, not a programming task. The project covers all eight planets and the Sun, each with accurate scientific data sourced from NASA, planet-specific shaders, and atmospheric materials.

Project Details

Platform: PC

Engine: Unreal Engine

Tech: Blueprint Visual Scripting, Unreal DataTables, CSV

Role: Solo Designer and Developer

Data Sources: NASA, SolarSystemScope, PurplePlanet

Status: Prototype available on itch.io

The CSV-Driven System

The core idea was that a designer should be able to add or modify any celestial body by editing a single row in a CSV without touching Blueprint or code. Each row defines everything the system needs: planet name, main composition, mean temperature, diameter, mass, orbital period, gravity, surface features, NASA info link, and camera position and rotation in world coordinates.

At runtime the system reads the CSV through Unreal DataTables, automatically generates a navigation button for each entry, binds it to the camera coordinates for that body, and populates the information panel when selected. None of it is hardcoded. A new row produces a fully functional new planet.

The workflow for adding a body is straightforward. You create a sphere mesh, apply your shader and textures, and place it in the world. Then you temporarily place a camera at a viewpoint that frames it well, note those world coordinates, and delete the camera. The system uses a single shared camera that travels to whichever coordinates are in the selected row. Once you fill in the CSV, the button appears, the camera travels there, and the info panel fills automatically.

The Interaction Loop

Selecting a planet triggers a smooth camera interpolation to the coordinates in its CSV row. The journey between bodies communicates the scale of the solar system through movement. It is not just a transition, it is part of the experience. Once there you can rotate the planet freely, read the scientific data in the info panel, and follow the NASA link for more.

What I Learned

The most valuable thing this project taught me was to let an idea breathe rather than plan it completely upfront. It started as a simple visualization and became a data-driven content system because I followed a question rather than a specification. Starting simple and letting the architecture emerge from a real need produced something more interesting than anything I would have designed from scratch.

Walkthrough Video