Making Amendments – Interstellar Rift Development Update 053


We’ve taken the time to polish up some features, rebalance the changes we made to the new flight model, and improve the stability of servers. That doesn’t mean we haven’t been working on features, we are hard at work implementing a new mission system which should make it’s way into the game soon.

So, let’s talk a bit about where we are going to take the game in the next few months. The first few new features that will be implemented are enemy  AI, and missions. You will be able to pick up missions from a bulletin board on stations you have sufficient diplomatic standing with. Missions come in several types, from cargo hauling missions, to bounty missions, salvaging trips and more.

234214

A preview of the upcoming mission system

After enemy AI and missions we are going to introduce multiple star systems, warping, nuclear reactors and more. These will all work together in expanding the universe of Interstellar Rift, and change a lot of the game dynamics.

screenReactor

Sneak Preview of the nuclear reactor model

For this patch we have been working to rebalance the shipflight. We’ve taken in a lot of the feedback we have received. Ships are able to travel at much higher speeds again, more like the speeds you were able to achieve with the old system. We have also been tweaking how mass influences the behaviour of ships, making it harder to achieve high speeds on larger ships. Much of this is still work in progress, so we are still looking for any feedback you can give us.

The multi-player should be a lot less prone to desyncs, as we have been hunting them down the last couple of weeks. The reason we are taking so long with getting this system right has to do with the complexity of our networking.

To explain it a bit, in most games players receive network packages from a server that contain the location of every entity in the world (bullets, vehicles, players, etc). And this is updated for every tick of the server. Interstellar Rift uses a lockstep model, where only changes are sent to a server and the server sends these changes to all the clients. In order for this to work all clients have to run the simulation of the game exactly the same. So from the moment you join a server and receive the world data from the server your pc is simulating every ship, asteroid and station in the world in sync with other players. The upside of this is that we can have thousands of asteroids and devices on ships, much like in RTS games where this technique is often used.

The downside is that if just one of the calculations goes wrong on any client differences begin to occur between the client and the server. These desyncs often start with very small differences, but snowball out of control after a while. We are also using a physics engine on top of this system, that has to be completely deterministic with collisions between objects, in order for it to reproduce the same result for each player. And this is where a lot of issues with desyncs come from in Interstellar Rift as deterministic physics engines are very seldom used in this fashion. With this update we hope to minimize the chances of these errors occurring, and give players a much smoother multi-player experience.

Other changes in this patch consist mostly of quality of life improvements and small bug fixes and resolving some rare crashes. For the complete list of changes, please check out the patch notes.
Well that’s it for this week, we hope you enjoy this new update and as always please let us know what you think on our forums facebook or twitter. And we will be back in two weeks with another Interstellar Rift update which will contain more content and features!