Big world update

I find that only having a very little playable area will lead to nowhere, and I personally want huge world with multiple sectors to explore. Sadly, it is very complex task, much more complex than I thought.
It is not possible to have multiple sector instances to be completely independent from each other on server side simultaneously (multiple players on the same server but in different sectors not seeing each other), and even with only one single big sector I faced another problem – floating point precision issue that breaks physics for objects far from world origin.
There is a kind of workaround for second issue, called floating origin that should move a whole universe instead of a ship to keep calculations precise around the player, but as I’m not making just a single player game it’s obviously not enough. I need to keep players movement in sync, and therefore lots of changes have to be done with my existing network code and I have to sacrifice server authority over player movement to make big worlds work.

Here is the image to give you any clue what kind of behavior is caused by imprecision, kinda fun when you first time see it

But there is some good news too. Once server no longer have authority over player movement, movement controls will become far more responsive.
In most optimistic scenario I will make it work by mid april, no new features besides this will be added in that update and it will receive a whole lot of bugs at first.

Leave a Reply