Steam launch anniversary and development updates
One year ago, on June 11, 2019, SpaceEngine was released on Steam. Since then we have released many updates, but haven’t implemented many new features – this is because we were focused on fixing bugs and improving stability. Among the more noticeable features that were added were more languages (including Chinese and Japanese), improved VR support, a new video recording system (based on ffmpeg), and improved auto-exposure. We also have 2 main programmers now, plus a couple more contributing programmers, and we are working on many new features. Unfortunately we haven’t had time to assemble all this awesome work together into an anniversary update, but we will release them one by one in the coming months as they are completed.
Probably the most impressive feature in development is 3D clouds, which being developed by Andrew and Duke. It is also the most complex thing being worked on right now, and is still in a very early stage of development.
HarbingerDawn has been working on fuel and thermal systems for ships. There will be two or more types of expendable resources, depending which type of engines a ship has: propellant (reaction mass, the substance which the engine expels to produce thrust) like hydrogen, and fuel (used to accelerate the propellant and/or produce electricity) like deuterium, uranium, or antimatter. Implementing limited fuel is easy; more complex is integrating this into gameplay. We will eventually need fuel depot stations, harvesters, and infrastructure like that. The first beta releases may have fuel stations with infinite fuel orbiting some icy worlds – good enough for gameplay testing. Mining and processing will be added later.
Very early fuel test video
Another important ship mechanic to model is thermal management. Reactors and engines, electronic systems, and even passengers on a ship produce heat, and this heat must be removed from the ship, otherwise the crew will die, electronics will overheat, and the ship could even melt. Since space is a vacuum, this means using radiators. The engines and reactors of advanced starships produce enough heat to cause their radiators – and of course engine nozzles – to glow in visible light. The temperature, and thus glow brightness/color, of these elements depends on the power and efficiency of the engines/reactors, and how long they are operated for (the amount of heat stored in the radiators will increase until they reach thermal equilibrium or the engines/reactors are powered down).
In the upcoming SE game(s), ships designed in the editor must properly account for heat management – you can’t have 1 petawatt of power onboard and use only a few small radiator panels, even if your ship has a magic reactor/engine with 99.99% efficiency. This is a major challenge with any realistic ship design, and even in SE the engines of large ships will most likely accelerate them very slowly, like 0.05g – any faster and the amount of heat generated by the engines will vaporize the ship. Reality is harsh! Fortunately, this will not be a problem in a single player game, because you can speed up the flow of time. Other types of engines than what SE has now, as well as adding additional operating modes to the engines, can also allow for higher acceleration in some cases.
Speaking of speeding things up, Vladimir is currently working on some improvements in the engine core, one of which is moving physics to parallel threads to utilize multiple CPU cores, which everyone has now. The first part is almost done: calculation of planet and ship lights and eclipse shadows is now working in parallel to rendering, freeing some 3 to 10 ms of main thread CPU time. This was a large bottleneck, especially in VR; when you could see a distant a gas giant with dozens of moons, you would notice a significant FPS drop. The next step is moving orbital motion and ship physics simulation to threads as well. The main thread should only do rendering.
Finally, here are some other things which are being completed as separate tests and awaiting integration into SE:
New Earth texture with sea ice
New Pluto texture
Volumetric accretion disks