1. Rocket Science
  2. News

Rocket Science News

Developer Update: May 2021

As time went on, I realised that three-months cycle for HDYLIEM development is the best. Three months is a good chunk of time to make meaningful changes to the game. And it is not long enough so players start thinking that the game was abandoned.

The first month I always spend refactoring and improving the game's code base and implementing features that may not be that important right now, but will be very useful in the future. Why am I doing this? Because in the long run high-quality and resilient to changes code will undoubtedly win. It produces less bugs on each change and implementing new game mechanics or adding a content becomes a simple and pleasant process. Also some things are much easier to add on the earlier stages of the development because game architecture is still flexible.

Let me show you some examples.

In the current live version of the game, the planet surface in the spaceport or assembly shop is fake. I mean, there are a bunch of surface quads that I got from the flight on spaceport coordinates and saved as static meshes and then I am loading them with other buildings. I did that because 1.5 years ago planet generation and rendering was not that performant comparing to how it is working right now. There is one problem with that. Every time you launch the rocket game needs to create the whole planet. And every time you return back to the spaceport it needs to destroy the planet. It is a long process and that’s why these transitions were so long.

So I’ve changed that. Right now Earth is created when you load a spaceport for the first time. And if you go to the flight on the spacecraft that is located on the surface of the Earth or orbiting around it, nothing will be destroyed or created, because the planet is already there and ready for action. So what? There are a bunch of advantages to that:
  • spaceport is located in a real place on the planet;
  • transitions between spaceport/assembly shop and flight are much faster now;
  • quality and performance settings affect planet surface in the spaceport/assembly too;
  • spaceport could be located in any point on Earth;
  • spaceport could be located on any planet in the Solar System.

The last two items from the list are not usable right now. But when I need to make a selector of the starting spaceport position or position and render a player's colony on Mars, it will be as simple as setting two coordinates for that.

While I worked on that, I decided to experiment a bit with the surface mesh triangulation. Here are some before and after screenshots:





Interestingly, that the triangles count is the same in both cases. Every even triangle just rotated 90 degrees relative to the previous one in the new triangulation algorithm

And in game result (you may click on them to compare in full resolution):



The change is subtle, but the surface no longer looks like it was stretched along one of the axes

It seems to me like such small details is an important part of what actually makes the game good.

Second month of the development cycle I usually spend on some big changes in the game that actually affect gameplay in some form. And the third month is the time for adding new rocket parts, small changes and improvements, local verification, testing and bugfixing.

The changes I made at the start of the second month were not so big but very important for the game. I decided to rework the navball UI. The current one is performing its function but is painful to look at. Here is some results of work:

How it is right now

How it will be

Navball UI moved to 3D and also has a heading angle value and a fuel amount indicator now. Also I’ve added two more rocket status indicators that are reserved for the future. Also if you hover the mouse over part of the navball it will show a tooltip describing its functionality.

The next thing I need to rework is the window that contains flight and environment stats. Like pressure, altitude etc. But I don’t want to just change this window. I want to make it so that if you want to get pressure, altitude, temperature or other values, you need to install an appropriate instrument on your rocket. Some command modules could contain some instruments already installed. For example “Vys” command module will most likely have an altimeter installed (you definitely don’t want to send a crewed spacecraft without this info). But for others command modules or probe cores it should be your decision what instruments to take on a flight. This will make rocket building a bit deeper and also will bring a bunch of new rocket parts into play. Cargo modules will become useful as well.

I have more features implemented at this moment, but I will hold on to them until the release which is planned at the end of June.

The last thing I want to talk about is the game modes. Right now I am working exclusively on Sandbox, because you can incrementally improve the game and release an update every three months or so. This is all good but the game was about spaceport building at the start of this project, so I am planning to release two more Sandbox updates (this and the next one) and switch to the Survival mode development. The problem with this one, is that it could only be released when it will be mostly ready with the finished and solid game loop and good progression system. It means that most of my work will be hidden until this mode will be finished. But I will still try to make a release once in three months including content and changes related to the Sandbox.

Hope you enjoyed this dev blog, see you in the next update!

P.S. Here is one more work-in-progress screenshot, just for you.

Update v0.11.8 "Functionality 101"

Hello everyone! it’s time for another update! This one is the biggest one in terms of fixes and changes since the game release. Let’s not waste any more time and jump right in. Note the hotkeys changes in the changelog below!

[h3]Subassemblies[/h3]

Save the group of parts into subassembly and use it later during construction of another spacecraft.

Save subassembly

Use subassembly

[h3]Part rotation[/h3]

Use a rotation handle to rotate part groups and already attached parts following the attachment rules.

Rotation of whole rocket

Rotation of attached part

Symmetry works during rotation too

[h3]Ocean[/h3]

I’ve implemented a new ocean system. It includes real waves, foam and it changes color depending on depth to the sea floor. Also simple collisions were enabled for the ocean surface, so you can land spacecraft on it. It is a temporary solution until proper water physics will be implemented

Ocean before

Ocean after

Ocean in motion

[h3]Camera modes[/h3]

Added new camera modes during the flight and on the solar system map.

No rotation involved, just switching between different camera modes

[h3]Planet visual improvements[/h3]

I rewrote the planet shader to improve its performance. During this process, I discovered and fixed several critical bugs. That led to significant changes in the planet's visuals on a small scale.

Before. You can see noticable tiling here

After. No noticable tiling, improved texture blending

In case of Moon too much detail appeared I would say. I will review Moon texturing another time and will decide if some changes required.



[h3]Flights[/h3]

You can instantly switch between spacecrafts during the flight.

Switching between visible spacecrafts

Switching between spacecrafts using map

You can also switch between command modules if you have more than one installed.

[h3]Electricity redesign[/h3]

Electricity was redesigned from ground up. Real physical units are used (Watt for power and Joules for energy) instead of some unnamed ones. All parts that use electricity now have physically correct parameters (to some extent).

[h3]New part type[/h3]

Added a new type of rocket part — light. It consumes energy and produces light photons. It should improve the experience of flights and landing in the dark. Two light parts were added, with more to come in the next releases.



[h3]New parts[/h3]

Nine new rocket parts await you in the assembly shop!



[h3]Hotkeys changes[/h3]

Changed Repeat hotkey from R to Q and cycle symmetry hotkey from X to C. Added many new hotkeys and some button tooltips are showing hotkey labels now. Saved user controls were reset to the default ones because of that.

You can find more changes in the changelog below. Since the game become bigger and bigger it is hard to check every possible test case. So some minor bugs are expected and if you encounter them, please report them on the forum or on Discord. Thanks for playing and see you in the next update which should include one famous red planet.

Release notes v0.11.8


[h3]Features:[/h3]
  • new ocean system, that includes real waves and foam, also it changes color depending on depth to the sea floor;
  • added subassembly support;
  • added Grab and Rotate modes to assembly shop;
  • added rotation handle that appears in the Rotate mode, when any rocket part was selected;
  • you can rotate already attached part relative to its parent respecting socket restrictions, symmetry works for rotation too;
  • instant switch between any spacecrafts by double clicking on it during the flight;
  • added ability to switch between command modules on the spacecraft if there are more the one (left click on it -> toggle "control from here");
  • added 5 camera orientation modes and ability to switch between them;
  • added new part type — light;
  • added real physical units for energy (Jouel) and power (Watt);
  • implemented deep space camera rendering, any solar system object in theory can be seen from anywhere (but they are usually too small);
  • improved planet shader visuals and speed;
  • added shortcuts labels to most button tooltips;
  • default planet body (with no height/texture data) will be loaded, when reaching celestial body, that was not added to the game yet (previously game just crashed);
  • enabled simple collisions for water surface (this is a temporary solution until proper water physics will be implemented);

[h3]New rocket parts:[/h3]
  • Solar Panel GOST 12|12-00-1996
  • "Tesla" Illuminating Device
  • 2239-79 Signal Light Source
  • Conic Fuel Block
  • Hexagonal Prism T100
  • Hexagonal Prism T200
  • Structural Adapter Cube-1.2
  • Structural Adapter 1.2-Module
  • Modular-to-Cubic Adapter

[h3]Part changes:[/h3]
  • сompletely redesigned rocket part stats related to electricity;
  • increased energy producing area of solar panel 1;
  • improved shape of Small Battery;
  • lowered center of mass of command 0;
  • deprecated part Cubic Rack Adapter;

[h3]Changes:[/h3]
  • launchpad zone directly under the spacecraft could destroy parts now (previously this feature was intentionally disabled);
  • increased minimum scale on solar system map when spacecraft is current camera target;
  • added additional time scale step equals to 7 days (may be increased in the future);
  • implemented smooth transitions between different time scales;
  • navball size on UI now independent from screen resolution;
  • when placing first rocket part that has variants, selecting its variants will change already placed part instead of creating the new one;
  • improved default orientation of rocket parts on connection to side sockets;
  • improved socket selection during part attachment, so it tends to have a smallest angle possible between parts;
  • added missing collision parts for different structure parts;
  • camera will focus on the first placed part or group of parts in the Assembly shop;
  • Rocket list changes:

    • edit button in rocket list was removed from list items;
    • double click on rocket item or click on edit button from actions panel to go into edit mode;
    • press ALT+click on rocket item to rename it;
  • you can now rename spacecrafts in the Control Center, by pressing ALT+click on its name;
  • solar system map markers are much smoother now and have slight dark outline;
  • improved part tooltip alignment — it is now consistent between parts;
  • updated tutorial, to reflect recent changes in hotkeys;

[h3]Settings:[/h3]

  • added ocean quality setting into Performance category;
  • added default camera orientation mode settings for space flight and Solar system map;
  • added maneuver and assembly handles size settings;
  • changed Repeat hotkey from R to Q;
  • changed Cycle Symmetry hotkey from X to C;
  • added Reset Symmetry hokey: Alt+C;
  • added Cycle Camera Orientation hotkey: V;
  • added Extend/Retract Solar Panels hotkey: P;
  • added Turn On/Off Lights hotkey: U;
  • added assembly modes hotkeys: G (Grab Mode), R (Rotate Mode);

[h3]Fixes:[/h3]
  • rocket part keeps glowing after destruction sometimes;
  • on any resolution other than 1080p, spacecraft list looks wrong in the control center;
  • failed to launch spacecraft if its name is too long;
  • rocket can stuck in one place, if fuel was depleted and there were a lot of engines and fuel tanks in it;
  • only first part are correctly aligned to the attachment, if you try to connect group of parts to the rocket;
  • exception, when several connected in a row decouplers were decoupled at the same time;
  • decoupled part sometimes gets incorrect position;
  • rocket with bad orbit breaks the save file;
  • when flying straight up from Earth until transitioning from elliptic to hyperbolic orbit, spacecraft appears in the center of sun and game sometimes crashes;
  • spacecraft shadows are flickering on high orbit altitudes;
  • when passing the Moon SOI Earth atmosphere sometimes appears in the wrong place;
  • if you have two payload fairings attached to decoupler 0 and then move the decoupler, part group will always reset its position;
  • exception when trying remove part using Delete when it has red outline;
  • exception when group of parts was cloned but not placed and Undo was pressed;git;
  • stars sometimes disappear when rocket is flying on low orbit;
  • sun disk is missing on solar system map and in the start scene;
  • shadows are flickering sometimes in assembly shop;
  • orbit markers change their brightness depending of sun angle relative to camera;

[h3]Known issues:[/h3]
  • maneuver planner not correctly finding encounters, when building trajectory from Earth to the outer Planets;
  • rotation symmetry not working for the parts, attached to the same attachment;


[h2]28.03.2021 - v0.11.9[/h2]
[h3]Fixes[/h3]
  • solar Panels not working when spacecraft is orbiting around the Sun;
  • two suns appear when spacecraft is orbiting around the Sun;
  • spacecraft name is not saved when renaming it and then exiting from game;
  • sometimes game stuck on starting flihgt;
  • sky breaks if you are in spaceport and selecting spacecraft, orbiting another planet and then exiting from map;
  • rocket rotating like crazy after changing SOI;
  • maneuver panel sometimes doesn't show up after loading flight if orbit already had a maneuver;


[h2]02.04.2021 - v0.11.10[/h2]
[h3]Changes[/h3]
  • Updated "About" window;

[h3]Fixes[/h3]
  • rare memory leak, when nothing changes on the solar system map;
  • potentiial crash when rocket has a lot of solar panels and lights and they were destroyed.

HDYLIEM: Year 1

Hi there, fellow rocket builders! First and foremost, today marks the 1-year anniversary of Elon’s release on Steam!

It was an incredibly difficult but productive year, and I wanted to thank everyone who supported me during this time. Thanks to you, I was able to improve the game far beyond its release state and get an incredible feedback I never hoped to achieve.

Now, obviously, I couldn't possibly leave you without a present. The next update will be released on March 26. While it's still in development, I'll tell you about what's been done and reveal some of the features that will be there.

First of all, I’ve updated the game to the latest engine version. You will never know what will break during such updates, but it seems that almost everything broke this time. And I spent a good amount of time fixing all these problems. But why was this update needed? Because the game initially was built on a new high definition renderer in Unity, which produces wonderful graphics, but had a huge limitation — you can not have more than one camera in the game (actually can, but it is so expensive, that FPS immediately dropped from 60 to 30 for the one additional camera).

This was almost a game breaking limitation. For example, at least 4 cameras are used in KSP during the flight:
  • for close geometry (everything closer than 500 meters);
  • for far geometry (from 500 meters to the horizon);
  • for rendering scaled space (mostly other celestial bodies);
  • for rendering kerbals inside of command modules.

Moreover, one additional camera was used for rendering of reentry effects. But I could use only one camera and it also had a limited rendering range. Luckly, the Moon was able to fit into this range, that's why it was visible from Earth. But the rest of the Solar System beyond that range (except Sun and stars — they use other rendering techniques) was invisible during the flight. Also making reentry and atmosphere friction effects were completely impossible and there were some bugs with constantly disappearing stars.

The latest engine version introduces a concept of Custom Passes. Basically, you can render a scene from any point of view with any camera properties, but without paying a cost for the entire second camera. This helped me to make a camera rendering range almost infinite, fix a bunch of bugs and prepare for adding reentry effects in the future.

The next thing I’ve switched to was an assembly shop improvement. I’ve added a highly requested feature - subassemblies. You can grab any group of parts and save it as subassembly, which can be used later during other rocket construction.



One cool feature is that you can edit subassembly like a regular rocket, duplicate the existing or create the new one at any time.



I’ve improved default parts orientation during attachment, so its behaviour is more predictable now.

Orientation before

Orientation after

Side symmetry orientation before

Side symmetry orientation after

And I reworked an algorithm that places a first part, so it is compatible with the part variants.

If first rocket part has variants and you select another variant, part will be automatically replaced

Currently I am working on assembly shop modes. Three modes are planned: Select, Grab and Rotate with several more to come later.



The default one is a Grab mode. It is similar to how assembly shop works now. You can grab parts, move them and attach to each other in this mode. In the Rotate mode you can select any part and rotate it using hotkeys or specific rotational handle. I will also allow you to rotate already connected parts following a set of restrictions.

There are basically two restrictions to this: you can only rotate the part around the connection axis and connectors should still fit into slots after rotation.

For example, a part attached using a single connector could be rotated on any angle. In the case of hexagon connection it can be rotated with 60 degrees step.

In the last Select mode you will be able to select a single part without risk of moving or rotating it. It will be used in the future for opening part properties and for such operations, like rerooting a rocket to the selected part.

A bunch of new parts will also be added in the next update. Five of them are already done, but I will not spoil them for now. In addition to the improvements to the assembly shop, there will be new flight-related features united by one common theme. Can you guess what kind of theme it is?

Patch v0.10.2 + Patch v0.10.3

Patch v0.10.2 was released. It addresses some crashes related to rocket removal and introduces some improvements and adjustments.

Release notes v0.10.2


[h3]Features:[/h3]
  • hold Alt when changing deltaV of maneuver to do it in "Precision" mode with highly reduced sensitivity.

[h3]Changes:[/h3]
  • enabled ACES tone mapping for startup scene and solar system map to improve colors in these mods;
  • unified color and brightness of stars and milky way in map and in the flight mode.

[h3]Settings:[/h3]

  • added maneuver Precision Mode Sensitivity to game settings.

[h3]Fixes:[/h3]
  • crash, when spacecraft is leaving SOI of Earth and it was removed from the space center;
  • sometimes black dots appears in Earth atmosphere.
Release notes v0.10.3


[h3]Features:[/h3]
  • added show root part toggle to Assembly shop UI.

[h3]Changes:[/h3]
  • when rocket collides with the ground it explodes more precisely;
  • better big rocket positioning in the assembly shop;
  • imporved shadows in the assembly shop.

[h3]Changes:[/h3]
  • game completely breaks, when decoupling part that has decouplers attached, that also decouples;
  • rocket slightly gitters when standing on the launchpad and engines are turned on and there is at least one "Zarya" engine.

Update v0.10.1 "Welcome to Workshop"

This update brings you one of the main pillars of a good space simulator: mod support. At this stage the game will support two kinds of mods: Surface Objects and Localization. Rocket parts, rocket sharing, configurable celestial bodies and other types will come later.

Mod creation and configuration process is available in-game so there is no need to run any external applications (apart from models and textures authoring software).



I’ve created a rather detailed guide about mods with examples and lots of screenshots, so if you have never created mods but always wanted to, it's your chance to dive right into it.
https://steamcommunity.com/sharedfiles/filedetails/?id=2326439478
The most natural thing you can do with mods is to let other players play them. Steam Workshop integration provides an ability to share your mods with the community and download new hand-made mods for yourself. Just click '+ Subscribe' and the mod you liked will be available in the game.



Only one mod is published right now, but expect more in the near future.

[h2]Solar System Map[/h2]
Apart from mods there are other changes. A lot of improvements have been made to the Solar system map. First of all, 166 new celestial bodies were added to the solar system map of which 6 are dwarf planets and other are missing moons of planets.



Map gives you a lot more information now and supports not only orbit nodes, but spacecrafts, celestial bodies and surface objects.

Up to 8 grouped tooltips will be shown If more than 1 object with tooltip is under the cursor.



And last but not least, the Milky Way was finally added to the map!



[h2]Other Improvements[/h2]
Some systems received a substantial redesign of internal code. I’ve described it partially in the previous post. But I want to bring your attention to several key changes.

First of all, rockets can finally physically interact with the previously launched spacecrafts that have landed or reached orbit. You can try to guess which currently missing important rocket part this change was made for to support it in the future. ;)

Secondly, the surface objects mod configuration scene helped me to identify and fix a bunch of bugs that couldn't be fixed without it. For example, exploding rockets in the air in the certain areas of Earth and Moon, or huge surface artefacts in some places.

Artefacts like this are no longer exists

The final technical tool that was added is the save migration system. It will not only help you to avoid broken saves on each game release, but could be also used to migrate old mods to the new game version.

That’s all for you today. If you have any questions or comments, please put them below. Goodbye and happy holidays!

Release notes v0.10.1

[h3]Features:[/h3]
  • added mods support for surface objects and localization;
  • added Steam Workshop support;
  • added 166 new celestial bodies to the solar system map (6 dwarf planets and moons of giant planets);
  • Solar system map improvements:

    • added tooltips for all celestial bodies and spacecrafts with name and useful info;
    • added marks and tooltips for surface objects;
    • several tooltip items will be shown if there is more than one object under the mouse pointer;
    • tooltips are colored the same way as the orbit node under it now;
  • added Milky Way;
  • improved autocorrection PID controller: it works much more precisely and equally well on rockets of any mass and shape;
  • implemented save migration system: no more broken saves on small data format changes!
  • added support for ultrawide aspect ratios like 21:9;
  • added Japanese, Korean, Simplified Chinese and Traditional Chinese fonts to the game.


[h3]Changes:[/h3]
  • added predicted impact coordinates to the tooltip for impact node;
  • remaining rocket parts from previous stage will be moved to the new one during the staging;
  • rocket no longer moved into Physics simulation, when you rotate it using direct controls in space;
  • added two more save slots;
  • increased size of assembly shop;
  • changed assembly shop architecture a bit;
  • improved performance for rockets with a lot of parts;
  • improved performance of noise functions, used during planet generation;
  • reduced aliasing on UI icons and small UI elements;
  • unify font sizes in most game interfaces;
  • applied kerning to fonts;
  • improved dropdown visuals;
  • added smooth transition when exiting to main menu;
  • marker size settings affect all markers on the solar system map now.


[h3]Fixes:[/h3]
  • game stuck when selecting any far planet and then the Sun on the Solar system map;
  • huge artefacts on planet surface in areas where fields transition to hills and hills transition to mountains;
  • game stuck on spacecraft launch, when previous spacecraft stayed on the launchpad and was manually removed from control center;
  • sometimes second launchpad appeared in totally wrong orientation when launching the rocket;
  • building and rocket parts outlines sometimes stop working, when you are in the spaceport and at least one rocket is landed on Moon;
  • solar system map not properly updated, when time is paused and you have selected another celestial body or spacecraft;
  • atmosphere sometimes not switch off, when selecting another planet without atmosphere;
  • rocket incorrectly decouples, when the parent rocket is in space and was rotated after the engines are off;
  • rocket incorrectly positioned after rotation on 180 degrees in space and turning engines on;
  • bad performance in assembly shop for old GPUs;
  • rotational period for planets with sync rotation is incorrect;
  • height sampling is incorrect in certain areas of the planet, that can lead to rocket explosion in the air or fall through the surface;
  • orientation of most planets and moons except Earth is incorrect;
  • light leaks on certain sun angles in the assembly shop;
  • exception in the console, if one of the rocket parts was destroyed during the flight at the distance around 1000 km from the launch pad.
  • parachute sometimes breaks when deployed on low altitude, even if the speed was acceptable;
  • missing localization of force and duration units in the engine module window.