I know it was a long time since previous blog post. I've worked really hard past month, sometimes without weekend. A three major topics of my recent work are:

- Continued work on a new terrain generation and rendering.
- Experimental PBR rendering of the ship models with Duke.
- Prepare for release of the OVERVIEW - a VR experience game.
+ Multiple small improvements and bug fixes.

I will describe work on terrain textures and PBR in other blog posts, and now will tell that is the OVERWIEW. But first here is a complete changelog of my recent work.

  • Terrain textures are split into "materials" and "samples" (WIP)
  • Samples folder contains terrain close-up textures (samples of a real satellite images of a planets), which used to texture planet at a kilometer-scale levels
  • Materials folder contains detail surface (soil) textures, which are used on a centimeter-scale levels, and are assigned automatically based on color of the global texture
  • Support of export of 16-bit skybox textures (in png and tiff formats)
  • More responsive texture export dialog (no hanging while doing job)
  • Support of encrypted pak files
  • Experimental PBR + IBL rendering
  • Added fake aerodynamics model with just a drag force, to use with UFO cheat
  • Smooth appearance of generated stars and galaxies while moving at large speed
  • Gamma-corrected rendering of E galaxies
  • Switch to a shooter-like rotation controls near surface of a planet (fixed vertical axis)
  • Experimental procedural description generator for Wiki
  • Esc button closes currently opened dialog window first, then opens main menu
  • Customizable main menu, all buttons and actions are described in a special script script data/scripts/MainMenu.cfg
  • Each button in the main menu can launch a custom scenario script
  • GUI skin scripts have a link to a main menu script, so each skin can use its own menu layout
  • New BB code [LOC]text[/LOC], used to translate a text enclosed in it; supported in Wiki, scripts and main menu
  • Localization files have a special section to work with the [LOC] BB-code
  • Any text displayed in scenario scripts can be translated (implicit use of the [LOC] BB-code)
  • New editor menu
  • Binary shaders in the cache are updated automatically if source glsl shader were modified
  • Fixed "horizon" command on oblate planets
  • Fixed a crash on merging two scripts of a planet which uses analytical rotation model
  • Many bug fixes related to the beta, included fixed Oculus Rift support


    The OVERVIEW is a 30 minutes long virtual reality experience produced by a French company Orbital Views, and it is powered by SpaceEngine. It consists of six chapters, telling about Earth and other planets, Solar system, Milky Way and its place in the Universe. VR is the best technology to give user impression of the scale of the Universe. Carefully selected depth of the stereo effect allows to feel relative size and distance between objects. You'll feel like a giant looking at 1 meter wide Solar system model in front of you, and have impression of enormous size of Jupiter then compared to Earth.

    This is the first time SpaceEngine is being used by another company to make a game! A new scenario scripting is the most crucial system that makes this happen. And of course support of VR, which is far more advanced now than back in 2013, when I started implementing it with Oculus DK1. SE now support Oculus CV1 and HTC Vive. By the way, it's the Orbital Views who have donated the HTC Vive to me right after 0.980 release. The new scripting system was developed at the same time they started working on OVERVIEW, in a tight request-implement-feedback mode, so our collaboration is started more than a year ago.

    The OVERVIEW is currently under review at Vive Port, and we are working on submitting it to Oculus Store and Steam. The Oculus Store require some additional work per SE, which could take few weeks. Release on all platform probably will be in early 2018.

    Work on OVERWIEW is one of the reasons why SE 0.990 version release is so delayed, but it is worth it! Please be patient, the year 2018 promises to be incredible for SpaceEngine!

    Other changes

    One of the popular request is implementing a "shooter-like" control on the surface of the planet. Now, when landing, the vertical axis became fixed, i.e. there will be no tilting of the horizon line when user rotates the camera. But in space orientation control is free of course, because there is no "top" direction. The transition from the space mode to the ground mode is made by a smooth turning of the camera roll. The roll can be controlled on the planet manually, by the buttons Q and E, but smoothly animated back to zero when the buttons are released. This mode can be turned off by pressing button 5.

    The Esc button now closes the currently opened dialog box. The main menu opens once all dialogs are closed.

    The main menu is now fully customizable, i.e. buttons and textures are described in a special file. Each button launches its own mini-script, for example, "enter planetarium", "open another menu," or even run *.se scenario file (this is used to run tutorials). Such functionality was requested for the OWERVIEW, because it has its own menu layout. But I decided to implement this in a more convenient way. It is planned to further develop this system, so that eventually the entire SE interface will be described by script files. This opens the possibility to make, for example, your own control panels for a ship (of course, provided that SE has implemented all functions which will be launched by buttons on these panels).

    The editor menu now looks like this. Conveniently? Handsomely?


    Discuss this post on the forum.