1. Rocket Science
  2. News

Rocket Science News

Update v0.7.6

Hello, everyone!

I've got a small patch to fix a number of bugs. I've improved UI a bit and added more settings to the game, as well. It was a rough launch, but your bug reports and feedback are very helpful, thanks a lot!

Features:
  • added fuel amount indicators to stages;
  • added three more connection variants for "Heavy" Fuel Tank;
  • new options category "Performance", where you can change:
  • - planets surface level of detail;
  • - planets collision mesh resolution;
  • - camera collision mesh resolution;
  • - maximum number of parallel physics worlds (every active spacecraft uses one world).
  • added sensitivity settings for assembly, map and flight cameras (Options -> Game);
  • two new auto stabilization modes: radial in and radial out;
  • new "reset rocket position" button in Assembly shop. It will reset Y and Z axis of spacecraft, retaining value of X axis.
* because of many crashes during rocket launch, planets surface LOD was set to "medium" by default. But if you had no problems with it earlier, you can switch it back to "high".

Changes:
  • Assembly Shop was increased in size;
  • settings are saved not only on quiting the game, but when closing options menu too;
  • changed how all cameras process the input in the game;
  • part category filters work like a toggles in assembly shop now;
  • camera will no longer change position when rocket part was detached.


Fixes:
  • memory leak on planet generation on some PC configurations, which lead to crash in some cases;
  • spacecraft spawned in the middle of nowhere in some cases;
  • spacecraft stuck on launchpad and persist during next launches (I don't think I found all possible scenarios tho);
  • navball is not updating on the map view;
  • time scale changes unpredictably on switching between physics and mathematics simulation;
  • solar panels retract, when switching to map view;
  • rocket stuck in assembly shop, when returning to the list of rockets and reset changes for the edited one;
  • auto stabilization turn off when switching from another mode;
  • rocket parts doesn't position correctly in Assembly shop, when the camera is close to the rocket;
  • "pass resources" doesn't work for decouplers in some cases;
  • save button doesn't appear, when the changes was made to rocket stages;
  • rocket stages doesn't reset when reset rocket was pressed;
  • spelling errors in the tutorial;
  • some strings are not localized;
  • one of the engine sounds doesn't loop properly;
  • wrong tooltip on spacecraft stats button;
  • changes to game controls is not saved between the sessions.


Known critical issues:
  • game sometimes stuck when rocket exits atmoshpere on some PCs. Still investigating, need more logs to find a problem.

Release and current state of the game

That's it, the game is out in Early Access!

It was a long journey from a simple rocket arcade to full-featured space simulator. But I want to share current state of the game before telling you about last 20 days from the last update.

The following features are available in the game now.
  • Persistent sandbox mode that retains your launches.
  • 51-step tutorial that will teach you all the basics of the game.
  • Assembly shop with 25 rocket parts in it, 10 of which have additional configuration.
  • Slot-based rocket construction system, which is easy to learn, but hard to master.
  • Flights with realistic physics, aerodynamics simulation and orbital mechanics.
  • Earth in real scale to explore. This one is generating using NASA elevation maps, so it is possible to find a place where you actually live in the game.

The game is generally stable. It still rarely crashes, but I haven't found a way to consistently reproduce this bug. So it would be great, if you could help me with it.



What is currently missing, but will be added in the next updates:
  • Flight planning mode with time rewind. Unfortunately, I couldn't make it good and stable enough in time, so I disabled it.
  • Saving presets of connected rocket parts.
  • Bulk operations and symmetry tools in the Assembly shop.
  • The Moon. This one is technically in the game, but it is unreachable without planner.

As for the last 20 days it was really hard. Most of the time I've spent making tutorial and fixing tons and tons of bugs. I literally fixed more than 70 bugs during that time. But this wouldn't have been possible without intensive playtesting. Thanks @gmhs, @irony, @icxon and @forsist for bug reports and feedback.

Here is also some interesting stats about the game development:
  • I started to track development time in January 17, 2019. Since then I've spent 2280 hours making this game. And five more months before that.
  • The project size is 41Gb without Earth and Moon elevations maps which add 15 Gb more.
  • I've made 1736 commits into game repository.

And this is only the beginning of a long journey to creating great game. Thank you for being with me all this time and see you in the next update.

20 Days Before Release

Greetings.

It’s been a while since the last update and I have a lot of things to discuss today.

I spent more than a half of December preparing the trailer and establishing art and content pipelines for it, which could then be used in the actual game development. During that time I created the first 15 rocket parts and battle-tested them by assembling different spacecrafts. The first thing I discovered, that direct controls over the spacecraft is a must-have feature for the game. When you are assembling rockets, you usually want to have a quick iterations over your design. This means that the time between attaching the last part and launch must be kept to a minimum. With the flight planning workflow this was not easy to achieve.

But before diving into flight systems I had to solve one important problem. As you you may have noticed from the trailer, I greatly increased the planet surface details.

Before

After

This was necessary not only for aesthetic, but because you simply can't feel the planet scale and size of spacecrafts without them. But performance immediately dropped from stable 60 to 40 FPS with such level of detail. This was unacceptable and I needed to rewrite planet generation system, using different, data-oriented approach. It took me five days and it was not easy, but, amazingly, the system has become simpler, more extendable and more performant. I hit target 60 FPS on my hardware (which is 5.5 years old) and created a good foundation for future grass, rocks and rivers systems. Also I will expose the planet level of detail setting to the players.

Then January has come and I finally started internal playtesting. The first system that got hit, was rocket assembly. While the main concepts were clear to players, available tools were terrible. Parts usually were not placed where users wanted them to be, connections not working half of the time, sometimes saved rocket even not load after all that. So I wrote down a long list of issues and spent next 10 days fixing them all. The system still lacks a lot of features, like symmetry tools or batch operations, some parts attachments are less stable, then others, but the core is now rock solid. Even I started to feel more satisfaction while designing spacecrafts.

A bit rough but it is correctly positioning itself on slots

It was January 11, 40 days before release. It became obvious that I will unable to deliver all three main parts of the game (spaceport building, rocket construction and space flights) with the same level of quality and comparable amount of content. And I couldn’t delay release even further, because then I need to find a job to pay my bills. And this means only part-time development on weekends and evenings. Which is extremely hard and would greatly increase development time. So I basically had two options:
  1. Deliver everything with tons of bugs, little content and basically unplaytested (because I will have no time to fix all found problems).
  2. Cut one of these systems on release, and concentrate more effort and development time on others.

The first option is bad across all levels. You want to launch an Early Access title, when you could gather a valuable feedback from it. There will be no such feedback when the game is just broken. Also it will spoil all game systems and it will be much harder to surprise players with the next updates.

Basically, I had only second option. But the problem was that you can’t cut rocket construction without cutting space flights, so there was a choice only between the space flights and spaceport building. And looking to the results of survey from the previous update, the choice was pretty obvious:

I hear you loud and clear.

There is only one thing that bothers me: now Elon will be in the same field with the giants such as KSP and other space sims. But they had so much more time to come to what they have now. Also it is very difficult to cut parts of the game you've put so much effort into. But I had no time for worries and regrets, I needed to get done the remaining systems. Here is a list of things I’ve worked on the next 20 days before this update.

Direct controls. Yes! It is finally in the game. There were two problems that I faced: how to make a rocket staging and how to befriend a rocket auto stabilization system with the direct controls. There was nothing new I could add to staging, so it will look like in other games:



The auto stabilization system is now understanding player input and didn’t try to alter the input axis.

Rocket design flexibility. Before the total assembly shop rework, part connections were very strict. For example, rocket engines could only face down. Now you could connect parts however you want, until the rule “every connector should find it’s slot” is being fulfilled.

Game: you can build any spacecraft you could imagine. Me:

Engine fuel. I've redesigned the architecture of engines so that in the future, there may be several types of fuel pairs in the game. Right now they consumes UDMH with nitrogen tetroxide. This is small change, but I love when the systems have a good foundation under them.

Explosions. That’s right. At the beginning of January all rockets were undestroyable. And now every part has an impact tolerance. If the collision force became too high the part will explode adding explosion force for all nearby parts. I think, you can even launch something into space using only explosions.



Sounds. I record all sounds that can be recorded at home using the equipment I have left since my film-making hobby. Other can be found on freesound.org or in my personal sound library.

My sound recording equipment

There were hundreds of fixed bugs and much more small, but valuable improvements, but you will have a chance to discover them by yourself.

Now I have only 20 days left and long list of features I want to implement before release. Every day I look at this list and sort all the features, so only the most important will stay on the top. Besides that I need to create and add new rocket parts into the game, continue internal playtesting, prepare and send build to Valve, order game localization, write next developer update and much, much more. Every developer says that the game is shaping into the final product in a few days before the release. Now I've made sure of that, too.

To summarize, what does it all mean for the game? There will be only sandbox game mode available on release, where you could assembly spacecrafts and launch them into space. You will be able to directly control your rockets as well as launch them using flight plans. More info, such as how many rocket parts will be in the game or what celestial bodies will be available for exploration, I will publish in the update a day before release. And spaceport building and a lot of other cool stuff will come in one of the following big updates for the game.

I hope you enjoyed this update and see you the day before the release in Early Access.

Trailer and release date announcement

I’ve happy to announce that the ‘How do you like it, Elon Musk?’ will be released in Early Acces on February 20th, 2020. Also the trailer is finally here. A year and a half of hard work is in this one-minute video. I hope you will enjoy.

[previewyoutube][/previewyoutube]

November Developer Update

I wanted to publish a game trailer today instead of the usual update, but I was blocked by a critical bug in the Unity engine, which crashes the build. And because I use only ingame footage in the trailers, we’re gonna have to wait one or two weeks until it will be fixed. On the other hand, It is not that bad, because I will add more content into the game in that time and trailer will only get better because of that. Let's talk about work that was done and need to be done, so I can finally release the game. Note, that there is a link to a small survey at the end of this update. Please take a part in it, it will help me a lot.

This is how the Earth miniature looks like in the test scene in the project (3km radius)

Preparing a game trailer is a kind of preparing to a small release. You need to add enough content, make sure, that everything is looks good and there are no horrible glitches. Also stable 60 FPS during recording is very important, so you need some time, to optimize the game code. On top of that, you need to think about the story in the trailer and what message you want to convey with it. And finally, you can’t waste a time making things, that aren't gonna get into the game.

That’s why it is hard to tell, what exactly was done for the game during past month. I made a lot of small features and fixes, scattered all over the project. Other than that I finally started making content for the game in form of rocket parts, but I'm not gonna spoil them, because they are part of the trailer. And yet I have prepared some things to share with you.

The first thing is a part attachments. I partially covered this topic in the May Developer Update, but there were a few questions I had to answer. The most important one is what to do with the side attachments. For example if we have fuel tank, there will be at least 5 different ways to connect something to the sides of it.

Here is a top view of the fuel tank and six different types of side connections to it.

Due to the fact, that all attachment points is preconfigured and precalculated, they can not be added to the rocket part dynamically. But representing every type of connection by separate item in the assembly shop UI means adding six same fuel tanks with the only difference in number of attachment points. Which adds a lot of clutter and not very intuitive. After some trial and error I found a good solution: part configuration.

Thus, in the case of fuel tank above a small icon will appear on the part UI, which means that this part is configurable. When you click on it, it will show available options.



The great thing about this, is that you can have different types of configuration per part. For fuel tank it can be not only number of attachments, but type of it contents: only fuel, only oxidizer, or both in right proportions. Obviously, these choices will have an impact on the flight characteristics of the rocket part. For example, even for different number of attachment points each variant will have slightly different mass and air drag. And I'm not even talking about the types of fuel tank content, because it opens up so many possibilities to build your spacecraft.

One interesting thing I learned from modeling rocket parts for the game, is how precise they have to be. Because the shape of parts matters and is involved in the physics calculations, even a small asymmetry can lead to instability and unpredictable behaviour of the whole spacecraft. Usually I am a little bit of perfectionist when it comes to modelling. But in this case it's really justified, especially for the parts that put rocket into orbit.

Another good task, that I did and can show something is improvements to interpolation algorithm of planet geometry generation. Earlier, you'd have noticed pixels on the planet due to the fact, that heightmap has finite resolution. Now everything is smooth.

Before the change

After the change

As for the future work on the game, it comes to making content and establishing the game loop and preparing to the release in Early Access. The only two systems, that are missing right now, are the direct flight controls and contracts system. The first one brings more fun into the game, if you don’t wanna plan your flight ahead, and want to just fly around and explore. The second system is needed for the Survival mode, where you should actually earn the money to pay salaries and unlock new rocket parts and buildings to keep your space center going. It worth to mention that the second mode will be Sandbox, with everything unlocked from the beginning, for those who like to have fun and experiment on their own. Both systems are not that hard in implementation, so I don’t see any big problems with them, compared to the rocket physics, for example.

For the preparing to the release, I need some data from you - my core audience. What hardware are you using and what are you waiting from the game the most. I can then set priorities correctly and concentrate more effort on the important things. So, to help me to do it, please take part in a small survey.

Thank you, stay tuned and wait for the trailer with the release date announcement in it! It will be published soon™.