This Godot Editor plugin runs a solar system simulation.
Homepage
Forum
Issues
Changelog
ivoyager_table_importer
(plugin) - See repository for installation instructions.ivoyager_assets
- NEW! As of v0.0.18, the editor plugin will manage assets download and version updates (assets are not Git-tracked). Just press 'Download' at the editor prompt.
See changelog for current version requirements.
Find more detailed instructions at our Developers Page.
If you are building a new game or app, we recomend using Project Template as your starting point. See also Planetarium for a working project using this plugin.
Instructions below are for adding plugins to an existing project.
The plugin directories ivoyager_table_importer
and ivoyager_core
should be added directly to your addons directory. You can do this one of two ways:
- Download and extract the plugins, then add (in their entirety) to your addons directory, creating an 'addons' directory in your project if needed.
- (Recommended) Add as a git submodules. From your project directory, use git commands:
git submodule add https://github.com/ivoyager/ivoyager_table_importer addons/ivoyager_table_importer
git submodule add https://github.com/ivoyager/ivoyager_core addons/ivoyager_core
This method will allow you to version-control the plugins from within your project rather than moving directories manually. You'll be able to pull updates, checkout any commit, or submit pull requests back to us. This does require some learning to use git submodules. (We use GitKraken to make this easier!)
Then enable 'I, Voyager - Table Importer' and 'I, Voyager - Core' (in that order) from Godot Editor menu: Project / Project Settings / Plugins. The editor plugin will prompt you to download assets (which are not Git-tracked).
I, Voyager is
- an open-source software planetarium
- a development platform for creating games and educational apps in a realistic solar system.
It is designed to be improved, modified and extended by the community. I, Voyager runs on the open-source Godot Engine and primarily uses Godot’s easy-to-learn GDScript (similar to Python). It can be extended into an independent free-standing project (a game or other software product) using GDScript, C# or C++.
If you are interested in our future development, see our official Roadmap!
I, Voyager is free to use and distribute under the permissive Apache License 2.0. Projects built with I, Voyager are owned by their creators. You are free to give away or sell what you make. There are no royalties or fees.
Help us grow the community by following us on Twitter and Facebook. Exchange ideas and give and receive help on our Forum. Report bugs or astronomical inaccuracies at our issue tracker here. Or contribute to code development via pull requests to our repositories at github.com/ivoyager.
Please visit our GitHub Sponsors page! Become a Mercury Patron for $2 per month! Or, if you are a company, please consider sponsoring us as a Saturn or Jupiter Patron. Goal #1: Make I, Voyager into a non-profit entity. This will shield us from tax liability, allow us to apply for grants, and secure our existence as a collaborative open-source project into the future.
Creator and lead programmer Charlie Whitfield stumbled into the Godot Engine in November, 2017. By December there were TestCubes orbiting bigger TestCubes orbiting one really big TestCube*. The name "I, Voyager" is a play on Voyager 1, the spacecraft that captured an image of Earth from 6.4 billion kilometers away. I, Voyager became an open-source project on Carl Sagan's birthday, November 9, 2019.
(* Godot devs, bring back the TestCube!)
I, Voyager is possible due to public interest in space exploration and funding of government agencies like NASA and ESA, and the scientists and engineers that they employ. I, Voyager is also possible due to open-source software developers, and especially Godot Engine's creators and contributors. Copyright 2017-2024 Charlie Whitfield. I, Voyager is a registered trademark of Charles Whitfield in the U.S. For up-to-date lists of authors, credits, and license information, see files in our code repository here or follow these links:
- AUTHORS.md - contributors to I, Voyager code and assets.
- CREDITS.md - individuals and organizations whose efforts made I, Voyager possible.
- LICENSE.txt - the I, Voyager license.
- 3RD_PARTY.txt - copyright and license information for 3rd-party assets distributed in I, Voyager.
Our site header for ivoyager.dev is also from the Planetarium!
Jupiter and Io viewed from Europa. We've hidden the interface for one of the best views in the solar system.
Jupiter and the four Galilean moons – Io, Europa, Ganymede and Callisto – embedded in the orbital paths of many smaller moons.
Saturn's rings and its close-orbiting moons.
Uranus' moons are an interesting cast of characters (literally). The planet's 98° axial tilt puts the inner solar system almost directly to the south in this image.
Here's the solar system on July 14, 2015, the day of New Horizon's flyby of the dwarf planet Pluto (♇). Not coincidentally, Pluto was near the plane of the ecliptic at this time.
Pluto and its moon Charon to scale. Both are tidally locked so their facing sides never change.
Jupiter (♃) is the shepherd of the Solar System, as is evident in the orbits of asteroids (64,738 shown here). The Main Belt (the ring) and Trojans (the two lobes leading and lagging Jupiter by 60°) are the most obvious features here. Hildas are also visible. I, Voyager has orbital data for >600,000 asteroids (numbered and multiposition) but can run with a reduced set filtered by magnitude.
Main Belt and Trojans viewed from the side. We use the GPU to calculate and update asteroid positions (each asteroid is a shader vertex that knows its own orbital parameters).
The Planetarium has easy-to-use interface panels that can be hidden.
For developers, we have a large set of GUI widgets that know how to talk to the simulator. These can be easily dropped into Containers to make your custom GUI however you like.
Here's our "starter GUI" in the Project Template to get you going on game development.