1. Rocket Science
  2. News

Rocket Science News

Update v0.20.0 "In Between" Public Beta

Today I am releasing part of the v0.20.0 "In Between" update into the beta branch. This will not include new rocket parts and several smaller features. They need a bit more work, so they will come in two and a half weeks with a full update release. So, let’s talk about what’s new is awaiting you in this update.

Note: this update is in public beta. This means, that you need to swith your game to beta-builds branch, to access it.

[h2]Ceres[/h2]
The first dwarf planet located between the orbits of Mars and Jupiter has arrived to the game! The surface elevation is based on Dawn space probe data and the surface color was built using the newest procedural texturing technology. It is a small body only 946 km in diameter and a mass of 0.0128 of the Moon’s one with a high inclined orbit. It would be almost impossible to reach with the current set of parts, but I will not underestimate players of Rocket Science, who have already arrived on every single present body in the inner planet group with the technology made mostly for lunar flights. So we’ll see how it goes.



[h2]Vesta[/h2]
The first fully made asteroid is now in the game too! It is the second biggest body in the asteroid belt with the mean diameter of 525 km. While it is a pretty big object and its shape is close to a gravitationally relaxed oblate spheroid, the large concavity and protrusion at the southern pole combined with the small mass placed it into the asteroid category instead of dwarf planet one.



[h2]Mars textures rework[/h2]
I’ve mentioned this one in the previous dev update. Not only did it get a new procedural selection of colors, but twice as many materials using some new ones. Here is an orbit view of the planet.



[h2]Control center UI changes[/h2]
I’ve added a new Celestial Bodies list there. It only contains major bodies in the Solar system for now, but I'll add more as time goes on. Spacecrafts list was reworked and can hold more elements and it is harder to accidentally remove your spacecraft now (you should specifically toggle on hotkey removing or use a delete button for that). I’ve also added search functionality to both lists.



[h2]Map filters[/h2]
You can filter your map in the Control Center and during the flight now. You can finally turn off all debris and don’t see it anymore (but the game will still simulate it, there is no way around this).

The filter also applies to the spacecraft and bodies lists in the Control Center

[h2]Flight panels improvements[/h2]
One of the frequent requests was to display rocket orbit data. I’ve added an orbit instrument, where you can see the orbit's periapsis, apoapsis, inclination and eccentricity. Note, that orbit data is available for all spacecrafts, but when the instrument parts system will be implemented, it will be tied to a specific instrument you will need to attach to the rocket.

Please let me know if you need more orbit data and I will add a toggle for that

You can also display all the resources that the rocket has by simple toggle now.


[h2]Other features[/h2]
Two most requested features are in the game: Fast Load button and orbit planner improvements. You no longer need to ALT+F4 the game, if you made a mistake. You can load the last game autosave at any moment during the flight or in the space center.

Due to legacy code limitations, the game will load spaceport by default, but I am planning to make it load directly the flight if you pressed the button during the flight

If you will get an encounter and then will switch to a body in which SOI spacecraft will get to, you will be able to see an orbit relative to this body frame of reference

[h2]Engine update[/h2]
I’ve described this in the previous dev update too. It was a very long and painful process and there are so many changes in the code, most of those are invisible. I’m expecting plenty of bugs and crashes in this update. On the other hand, some systems should start working smoother and faster. There are a bunch of bugs fixed as well, and more to come. Anyway, please let me know if you find anything not working as expected and I will be glad to fix it.

That’s all for today and I am waiting for your feedback.

Dev Update: Overcoming Unity

After v0.19.6 release I took two weeks off to prepare for another big task – the transition to the new 2022.3 version of Unity. This particular one has to be one of the most challenging in the entirety of the game's existence. As I mentioned in previous dev updates, I’ve started building Rocket Science using a lot of newest experimental Unity packages such as HDRP, DOTS, Addressables, Burst, etc. They were under active development, which led to constant API and breaking changes, bugs and other early access stuff that you are familiar with. On the other hand they provided a set of tools that basically allowed me to make this game on Unity as performant as it is.

As time went by some of these packages reached version 1.0 and finally became “stable”. But DOTS ones, using which I built planet generation, orbits and maneuver planner, remained “experimental” until Unity 2022.3. So I definitely wanted to transition to that version of editor and finally get rid of this warning panel and start working on fully stable and supported version of the engine:



The only catch was that DOTS API changed a lot between last version and 1.0 so I wasn’t even able to open Unity Editor until I will apply hundreds of changes into the game's code to implement the new API. It took me more than a month to do all this stuff, but at that moment I thought that it was worth it. Because the code became much cleaner, a lot of dirty hacks and workarounds were removed and some functions and structures became unnecessary because they were already implemented in the newest Unity. Moreover I revisited the architecture of planet generation and made it consume almost 400Mb less memory, which will become very useful when I start to add props and details on the planet’s surface. Also thanks to some changes I made, loading times between spaceport or assembly to flight transition reduced a lot.

But when I fixed the last compiler errors and finally launched the game I was shocked by the amount of bugs this version introduced. Here are only some of the most notable ones.

Navball for some reason lost almost all the color


Ambient lightning disappears during transition between scenes, and sometimes completely


All UI icons render with artifacts


All directional light shadows are broken

And the cherry on top: the game build immediately crashed on start.

This was very unexpected. I haven't seen so many bugs since Unity 2019.3 using which Rocket Science was initially released (and because of that I lost almost 20% of sales in refunds). But I simply couldn’t go back, because I’ve spent so much time on this transition already, so I started searching for workarounds and posting all these bugs to Unity at the same time.

I found acceptable solutions to almost all of these bugs except the broken directional light shadows one. And Unity is always very slow on processing posted issues: it can easily take them a half of a year to fix and backport them to the stable version from the current tech stream. So I began a deeper investigation and debugging and found out that shadows break when any object in the scene is located further than 1e8 meters from the origin, even if it is not in a current camera view. For comparison, the Moon is around 3e8 meters away. And the only workaround was to disable any object that exceeds this distance. Which means no distant rendering (or even planet rendering from high altitudes) which was not acceptable for the game at all.

So I started poking Unity Technologies at forums trying to drive their attention to this bug. And the silence was an answer. Two more months have passed and I finally got the response: they just closed this bug with a resolution “By Design”. They said that Unity has never supported far away objects and don’t have any plans to support it in the future. Which was simply not true. How Rocket Science is working then?

I was very demotivated by this and combined with the news about the new engine pricing model (basically 2.5% revenue share from sales in addition to current monthly payments for the editor). So further development on Unity didn't look very attractive. But I pulled myself together and spent the weekend debugging and deconstructing that shadow bug piece by piece. Surprisingly I found a source of this problem in the engine's code and an acceptable solution for it. At the same time this bug was reopened by some responsible employee from UT and then fixed later (but it will still take at least three months to propagate this fix into the current version of Unity).

This is all great, but I lost so much time that I could have used for gameplay development while doing work that Unity Technologies should do. I'm tired of the fact that most new engine’s features don’t support and don’t even consider space simulators as a type of product that could be built with it. For example they released great cloud and ocean systems, but both of them can only be used on a flat surface. It is also very inconvenient to wait a half of a year until some critical bugs will be fixed and get to the users, because your game release could be completely blocked by this. Moreover this sudden change in pricing model undermines the company's credibility.

But migrating Rocket Science to another existing engine is not an option either. For example, Unreal Engine don’t support C#, Godot doesn’t support Data-Oriented design, Unigine is not that popular and it can be hard to find guides, tutorials and answers to questions about it. So I decided to continue development of Rocket Science on Unity for now, but spend some small portion of time making my own game engine specifically for space simulators. Since I know what I need and 80% of existing game code is engine independent already, it will be possible to migrate it when the time comes. But I don't think it's going to happen anytime soon, because it's a huge task, with a lot of unknowns and research I would need to do. But in the long run it will allow me to do a lot of stuff that is not possible on Unity right now.

Back from Unity mess to the game itself. Here is a quick overview of some features that are currently in development for v0.20.0

[h2]Martian system materials rework[/h2]

I wanted to do it, since the new procedural material system was introduced in March 2022 but don’t have time to. This is basically the last celestial bodies that work on the old one.

Old Mars


New Mars. You can see that surface color become much more realistic


Old Mars


New Mars. A lot more surface detail has appeared that is more consistent with the planet’s topography

[h2]Orbit planning improvements[/h2]
If you will get an encounter and then will switch to a body in which SOI spacecraft will get to, you will be able to see an orbit relative to this body frame of reference.

You can even change a maneuver while staying in the target body reference frame and see, how orbit will change

[h2]Solar system map filters[/h2]
Sometimes it can be hard to plan a flight trajectory because a lot of objects could clutter your view. So I am working on a set of filters that would help you to deal with this problem and clean up your map,

Work in progress, could change before the update

[h2]Processing feedback[/h2]
Last three months I received a lot of feedback from the players, who spend around 1000 hours in Rocket Science. There are different requests there: from simple UI improvements to bugs that crash the game when encountered. I need to process most of it before the release of the update.

As always, more stuff is coming including traditional bugfixing, QoL improvements and more rocket parts. But I will cover all of that next time. That’s all for today, thanks for your support and feedback! See you soon.


Patch v0.19.8

A small post launch patch that improves the game stability a bit and brings some QoL features.

[h2]v0.19.8 release notes[/h2]

[h3]Features:[/h3]
🔸 updated Unity to the latest 2021.3 patch version, which will improve stability and performance a bit;
🔸 added separate icons for planes and rovers to the map;
🔸 improved wheels controls and responsiveness;
🔸 added front indicators for "Mgnovenie" Probe Core and "SOHO" Probe Core;
🔸 added a tooltip to the rocket name on time panel telling you how to edit it.

[h3]Fixes:[/h3]
🔸when new rocket was saved and immediately after that was renamed, the name doesn't change in the assembly UI;
🔸 when rocket was renamed and changes were reset right after that, the changed name not reverted back.

Update v0.19.6 "Awakened Assembly" is out of Beta!

Three weeks of beta testing have passed and I believe that the v0.19.6Awakened Assembly” update is ready for the wider audience. You can read about all major changes in the previous post. But I have prepared for you a few changes that I would like to point out.

[h3]Rovers[/h3]
As you’ve probably seen on the update cover, the game now supports rovers. I would say that this is an “experimental” feature, because I had very little time to properly test them. Also there is no sounds/effects assigned to wheels, because it would take far more time, than I had during the beta testing. But they work (with some edge cases) and open up the whole new exploration axis for the game. There are probably not enough rocket parts to deliver them onto other planets right now, but you can try to do that.

Beautiful view of the space center from a place I've never been before

There aren't many parts to install on rover at this time. I am aware of that and this will solve it in one of the future updates, which will bring instruments into the game

[h3]Relaunch last selected rocket[/h3]
Yes, this is happening! You can relaunch the last launched (or selected in the control center) rocket at any moment during the flight. You no longer need to return to the assembly shop to press that launch button. I think this is the second most anticipated feature after vertical rocket assembly. So, enjoy!

Just press the button on the time panel and you are ready to go

[h3]New rocket parts[/h3]
Most of them were made to support rovers, but there are some that were made to add variety to the resulting spacecrafts.

"Lunohod-2" Chassis

"Lubopytstvo" Chassis

L1 Twin Interplanetary Wheel

L1 Interplanetary Wheel

K2 Interplanetary Wheel

Solar Panel SIGO-249

Central Mini Rack

Angled Extension Rack

"SOHO" Probe Core

"Mgnovenie" Probe Core

Multi-mission RITEG

"Om" Illuminating Device

"Krater-B08-RM" Monopropellant Thruster

"Delta" Adapter

There are a lot of changes made to the game during this four month cycle, so I expect that not all bugs were hunted down. So if you encounter something strange, please report it to our discord or on the steam forums and I will try to fix it as soon as possible.

Thank you for playing and see you in the next one!


[h2]v0.19.6 release notes[/h2]

PREVIOUS SAVES ARE NOT COMPATIBLE WITH THIS VERSION OF THE GAME.
If you want to continue plaing your save or you have problems with this update, please switch to v0.18.x branch.

[h3]Features:[/h3]
🔸 added parts for rovers;
🔸 slots and connectors on part attachments unified into one type, called sockets;
🔸 added blueprint mode for assembly shop, where you have no limits in rocket size;
🔸 added vertical assembly option when in blueprint mode;
🔸 added grid for rocket assembly and ability to toggle it on and off;
🔸 line socket used in planes was reworked and supports attachment at any point on the line;
🔸 line socket is used for side connections for most parts now;
🔸 added socket type filter for rocket parts in the assembly shop;
🔸 added star and butterfly sockets;
🔸 wheels can now have electric motors;
🔸 time panel was reworked and includes more info, pause buttons and map / blueprint toggle depending on the context;
🔸 added "Relaunch last selected flight" button to the time panel;
🔸 context menu now works for orbits on Solar system map;
🔸 you can set as target orbits from contracts now;
🔸 you can share your rockets via Steam workshop using rocket mods;
🔸 added rover "launch facility".

[h3]New rocket parts:[/h3]
🔸 "Lunohod-2" Chassis;
🔸 "Lubopytstvo" Chassis;
🔸 L1 Twin Interplanetary Wheel;
🔸 L1 Interplanetary Wheel;
🔸 K2 Interplanetary Wheel;
🔸 Solar Panel SIGO-249;
🔸 Central Mini Rack;
🔸 Angled Extension Rack;
🔸 "SOHO" Probe Core;
🔸 "Mgnovenie" Probe Core;
🔸 Multi-mission RITEG;
🔸 "Om" Illuminating Device;
🔸 "Krater-B08-RM" Monopropellant Thruster;
🔸 "Delta" Adapter.

[h3]New content:[/h3]
🔸 added "Land on Venus" contract;
🔸 added "Reach SSO orbit" contract.

[h3]Part changes:[/h3]
🔸 most part variants that had a difference only in slot / connector in the attachment was removed due to sockets rework;
🔸 all deprecated rocket parts in previous updates had been removed;
🔸 some parts with dual and triple side sockets got line sockets instead;
🔸 increased range for pressure for the default parachute, so it could be used in the Martian atmosphere;
🔸 improved visuals for RS-05 Steerable Landing Gear suspension;
🔸 reduced power consumption for all probe cores;
🔸 reduced power production for all solar panels by 30%, to make them more realistic;
🔸 made "Sputnik-2" Probe Core smaller and better looking.

[h3]Changes:[/h3]
🔸 rocket schema holds only state data now, as a result we get smaller rocket files and no need to write a migration, when changing part configs;
🔸 you can rename spacecrafts not only from control center, but also during the flight, by ALT+clicking on the name of the spacecraft on the time panel;
🔸 you can no longer remove spacecraft in the control center by right-clicking on it, you need to use Delete button;
🔸 renaming rocket during editing is changed to alt+left click to be consistent to the rest of the game;
🔸 part attachment movement smoothed when reattaching them from rocket part to rocket part;
🔸 symmetry now checks on reattach/detach, that the symmetric part have not only the same connection shape, but also the same type;
🔸 symmetry now properly handles all cases, when rocket part is reattached within one connection;
🔸 you can flip rocket part during rocket assembly using a hotkey now;
🔸 docking ports are represented with their own socket type now and have respective image;
🔸 reworked connection icons in the rocket part tooltip;
🔸 all engines, that previously have no throttle limits, received lower 5% throttle bound;
🔸 renamed game data folder from HDYLIEM to Rocket Science;
🔸 increased the distance you can zoom out the camera in the assembly shop;
🔸 camera no longer focus on attached part in the assembly, it moves along rocket's central axis instead.

[h3]Settings:[/h3]
🔸added B shortcut, that will switch blueprint assembly mode;
🔸added forward W and backward S buttons to control wheel motors;
🔸added F shortcut, to quickly flip the rocket part during the assembly.

[h3]Fixes:[/h3]
🔸 you can't focus camera on not attached parts to the rocket using alt + click, while in assembly shop;
🔸 rocket part appears in the middle of assembly shop for a few frames when using symmetry;
🔸 rectangle socket sometimes is not connecting to hexagon socket;
🔸 you can't reattach already attached part to the same parent connection but different self connection;
🔸 target periapsis goal is set to 0 in the velocity vectors tutorial UI;
🔸 some rocket parts still flip when connecting top of the part to the bottom of the another one;
🔸 payload adapters are broken and don't handle attachments;
🔸 scene where you are making a custom navball is broken;
🔸 you can reattach part to a "hidden one" when symmetry is enabled.
🔸 when reattaching part from symmetric attachment to the non-symmetric one, detach symmetry doesn't work;
🔸 when reattaching part from non-symmetric to the symmetric one, attach symmetry doesn't work;
🔸 assembly shop become broken if you are stop editing the rocket and rocket part is still moving by the cursor.
🔸 rocket part could constantly switch between two attachments on alignment when user doesn't move their mouse;
🔸 crash when removing attaching part using Delete key, or when part was very close to the parts panel in some specific cases.

[h3]Known issues:[/h3]
🔸 Rocket sometimes is not generating lift, when using relaunch button and there was a previous rocket on it.

Update v0.19.0 "Awakened Assembly" public beta

Greetings, rocket scientists!

I am considering this update as one of the most important since the maneuver planner release. Basically, the game has three pillars: spaceport management (not currently present), spacecraft assembly and space flights. And one of these pillars was heavily redesigned and improved for this update. You can read about the design decisions and the process of developing the improved spacecraft assembly in the previous dev post, in case you missed it. I, on the other hand, will briefly touch on this change and focus on other features and improvements, of which there are quite a few.

Note: this update is not compatible with your old save files, so you will need to start a new game. All old crafts will not work too, because of the changed rocket schema. I don’t like game save wipes, but this one was unavoidable.

Note 2: this update is in public beta. This means, that you need to swith your game to beta-builds branch, to access it.

[h2]Connector-slot unification[/h2]
There are no more distinctions between connectors and slots. In fact, all connectors were replaced by slots. The unified connection points are called sockets now. So every rocket part can be connected to any other one. But you still have to follow the attachment shape rules, as it was before.



The only drawback this improvement has is because the number of possible connections increased, it is harder to select the correct attachment user aimed for. But in time, I will improve that too.

[h2]Line sockets[/h2]
When I added planes to the game, I immediately understood that the current slot system is not very precise: you need very fine control over aero surfaces placement to get well balanced planes. Also it would be great to give players more freedom when placing rocket parts. As a result, meet the completely reworked line socket.

All rocket parts that have side connection variants received line sockets, so you have some vertical freedom there

You can attach another part at any point along this socket.

Perfectly balanced planes with no exploits are possble now

Other than that it functions exactly like other attachment shapes. It also supports two modes: continuous and discrete. The last one is basically how line attachments functioned before.

Discrete mode will be in demand for perfectionists

Speaking of attachments, you can filter rocket parts by socket shape.

Not all possbile shapes are present, because of limited space, but I will think how it can be solved

[h2]Blueprint assembly mode[/h2]
I’ve often been asked about this: why is there no vertical rocket assembly? My answer was because the game is based on the Soviet Union space program, and all the rockets were assembled horizontally there. Also the horizontal assembly shop is better fit into the side view of the spaceport. And it is better to assemble rocket engines this way. But I can agree that vertical assembly sometimes is more convenient, especially when every other game is doing it this way. Considering this and the big amount of players wanting vertical assembly, I came to the next solution.
There is a new “Blueprint mode” when you are in the assembly shop. When you switch to it, all the walls and props will disappear, as well as any limits to space, where you construct your spacecraft.


While in this mode, you can switch between vertical and horizontal rocket orientations and assemble your crafts the way you like. Note, the game is designed primarily for the horizontal mode, so some things could be a bit awkward in a vertical one. But it is better than not having a choice at all.

There are some differences in how camera works in different orientations, but you will probably discover it by yourself

[h2]Reworked time panel[/h2]
I am also slowly redesigning the game UI. You will get an improved time panel this time. It uses space more intelligently and holds more useful items than before. For example, it contains the current location and rocket or spacecraft name as well as some new buttons.

You can easily rename the current object in place by alt+clicking on it

[h2]Context menu for orbits[/h2]
You can click on orbit and get a context menu for it now. This allows, for example, to set the contract's orbit as a target! They can finally be completed now! Change of the year is here!



Previously, clicking on an active orbit of the current spacecraft would place the maneuver. Now you can place the maneuver using the context menu, or by holding alt and clicking on orbit. Since there is no context menu for planned trajectories, placing maneuvers on them is working like before.

[h2]Sharing your crafts via Steam Workshop[/h2]
This is my attempt to revive the Steam Workshop. I’ve added a new mod type called “Spacecraft mod”. When you create this mod you will enter the Assembly shop in the blueprint mode. You can create any number of crafts or subassemblies there. Or you can manually copy your crafts from the save folder to the mod one. This is not very convenient, but I will add the ability to export your rockets directly from the save to the created mod later.
Spacecrafts from this mod will be shared along all save files. You can toggle their visibility by clicking on the button above the rocket list.

When you are ready, you can publish your rockets into the workshop and see if other players will like them

[h2]What about new rocket parts?[/h2]
I am working on a batch of new rocket parts that can only be released together. They should be the part of this beta, but as it turned out, they need a bit more work. I will release them during the beta or right before full release of this update. Stay tuned, and don’t miss them, this will be something special.

As always, there are more in this update that didn’t get into this highlight. You have a chance to discover it by switching your game into the beta-builds branch. Full changelog will also be published on full release of the update.

Thanks for your attention and I am waiting for your feedback.