For me, taking care of the business-side of things and working on other projects required most of my attention over the past few weeks. So I was very happy to finally be able to dive back in again this week.
We just recently passed an important internal milestone and as a consequence of this, I am currently thinking about how our game will be run once we set up a first test world that’s „always on“ and accessible from the internet. Since one of our core goals is to have only a single, persistent game world, setting up the required cluster infrastructure is a huge task and it’ll probably keep me busy for a bit longer.
I also did some important refactoring of very basic functions in our game server to make development of typical transaction types between game entities easier.
Just like last week I was busy trying to get the calculation of transfer orbits between planets right. This is how its works: In reality you generally have two possible ways to get from planet A to planet B: a relative cost-effective von Hohmann transfer, which uses two burns to firstly enter the transfer orbit and then exit it and another maneuver that uses more fuel. The Hohmann transfer takes a long time, but is very cost-effective, the other maneuver takes less time but burns significantly more fuel. Since these calculations are really hard and we only want to simulate it in the game, no scientific accuracy needed, I decided to go with another way of calculating the transfer orbit. It turns out that it still is not easy to calculate, at least not for me ;) So it took the better part of the week to finish the calculations on the client side and the rest to implement the calculations on the server side so we can validate the transfer orbits the player’s client sends to the server. But the effort was totally worth it: We now have elliptical transfer orbits between the planets and the ships are displayed on these while flying to the planets!