Trisha Shetty (Editor)

SpaceEngine

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Vladimir Romanyuk

Development status
  
Beta

Stable release
  
0.9.8.0 / 30 July 2016

Written in
  
C++

Preview release
  
0.9.7.4 beta, RC3 / 19 June 2016

Operating system
  
Windows XP and later Linux (planned) OS X (planned)

SpaceEngine (stylized as "Space Engine") is a proprietary 3D astronomy program and game engine developed by Russian astronomer and programmer Vladimir Romanyuk. It creates a three-dimensional planetarium representing the entire universe from a combination of real astronomical data and scientifically-accurate procedural generation algorithms. Users can travel through space in any direction or speed, and forwards or backwards in time. SpaceEngine is in beta status and is currently freeware for Microsoft Windows.

Contents

Properties of objects, such as temperature, mass, radius, etc., are presented to the user on the HUD and in an accessible information window. Users can observe objects from small spacecraft to galaxy clusters, similar to other simulators such as Celestia. SpaceEngine includes thousands of real objects, including stars from the Hipparcos catalog, galaxies from the NGC and IC catalogs, several well-known nebulae, and all known exoplanets and their stars.

Functionality

The proclaimed goal of SpaceEngine is scientific realism, and to reproduce every type of known astronomical phenomenon. It uses star catalogs along with procedural generation to create a cubical universe 10 billion parsecs on a side, centered on the Earth. The use of procedural generation allows for a much larger universe to explore than similar programs; billions of galaxies can be explored, each with billions of stars, planets, and moons.

Catalog objects

The real objects that SpaceEngine includes are the Hipparcos catalog for stars, the NGC and IC catalogs for galaxies, all known exoplanets, and prominent star clusters, nebulae, and Solar System objects.

Procedurally generated objects

SpaceEngine currently uses procedural methods to generate:

  • Planetary systems, complete with various types of planets, asteroids, and comets
  • Multiple stars
  • Planemos
  • Nebulae and globular clusters
  • Stellar remnants, including white dwarfs, neutron stars, and black holes
  • Elliptical, spiral, and irregular galaxies, each with a supermassive black hole at its center
  • The surfaces of terrestrial planets are generated using an algorithm based on fractal noise.

    Everything is based on the same seed, which produces the same simulated universe in every computer on which the program runs, making it possible to share locations between users.

    Physics

    In SpaceEngine's beta spaceship mode, the program simulates inertia, realistic gravity wells, and atmospheric dynamics.

    Although faster-than-light travel is not currently possible, SpaceEngine implements a feasible warp drive based on the Alcubierre drive.

    Relativistic effects on the speed of light are simulated, in areas such as redshifted galaxies, the gravitational redshift exerted by black holes, and the theoretical redshift produced by the warp drive.

    When using SpaceEngine, a user can freely explore the universe using keyboard and mouse commands, including WASD keys. A user may travel to any object in the program's universe by selecting it and using the go-to function to travel there automatically. Objects can be selected either by clicking on them or by searching for and selecting them in a search window.

    There are three different modes of camera control. In free mode, the camera moves without inertia. Users can set a constant velocity to travel up to 100 million parsecs per second. Spacecraft and aircraft modes enable inertia, and the user sets an acceleration rather than a velocity. In aircraft mode, the direction of motion follows the orientation of the camera; in spacecraft mode, it does not.

    Engine users can also speed up, slow down, or travel to a specific moment in time; however, the input window only accepts dates from Jan 1, -2,147,483,648 to Dec 31, 2,147,483,648. Beyond these limits, physics proceeds normally but the calendrical display loops due to a data overflow.

    All of the key commands can be customized in SpaceEngine's settings.

    Wiki and locations

    The software has its own built-in "wiki" database which gives detailed information on all celestial objects and enables a player to create custom names and descriptions for them. It also has a locations database where a player can save any position and time in the simulation and load it again in the future.

    Limitations

    Although objects that form part of a planetary system move, and stars rotate about their axes and orbit each other in multiple star systems, stellar proper motion is not simulated, and galaxies are at fixed locations and do not rotate.

    Most real-world spacecraft such as Voyager 2 are not provided with SpaceEngine.

    Development

    Development of SpaceEngine began in 2005, with its first public release in June 2010. The software is written in C++. The engine uses OpenGL as its graphical API and uses shaders written in GLSL.

    The latest official version is 0.9.8.0. As the development of a new version progresses, Romanyuk shares his development status on a regular basis. In addition to expanding and completing the planetarium software, the developer has also expressed his intention to create games using the engine, and to eventually license the engine to other developers.

    SpaceEngine is currently only available for Windows PCs; however, Romanyuk has plans for the software to support Mac OS and Linux in the future.

    Addons

    SpaceEngine is easily modifiable and can support a large variety of addons. The online community creates many addons for the program, including high-resolution textures, language localizations, spacecraft models, edited shaders, galaxy models, lens flares effects, and fictional planetary systems. Most addons are posted on the official website forums.

    References

    SpaceEngine Wikipedia