10/23/2023 in devlog
This week we are happy to announce that Fabian finished the German translation and Michi made some progress with the context implementation.
As mentioned last week, I continued working on the contexts. While the context selector component is already done, it really is just the tip of the iceberg. As expected, I met some complexity implementing contexts on the server side.
Right now, before contexts, an action sent from the client can have three different kinds of recipients: the player's company, the player's user object or any public object in the game world. To give a few examples, actions to the player's company are the most common and straight-forward ones: starting a flight, construct a building, etc. The player's user object handles things that are not directly related to the company: notification settings, screens and so on. Finally, we can send actions to any game object asking for data, for example asking the commodity exchange for an order book.
We have a routing system that prevents that a player can use an action that is really meant for his own company to be sent to another company. For example a player can send the "start flight" action to his company, but not to any other owned by a different player. With the introduction of contexts we need to loosen that hard-wired routing system a bit, because it is very much possible that a player can send his own ships when being in the context of his company, but also send the ships of the government when being in the government context. (Just an example, governments won't have ships).
I have implemented most of that, but the client side is still missing. We simply could allow that any action in any command can be sent to the server and it either works or returns an error, but we strive for a more nuanced approach. Imagine the company's
HQ command: In a governmental context it is not helpful at all and should not be accessible. Other commands, for example the warehouse
WAR command, should be accessible in the government context, but its actions (rent warehouse unit, cancel warehouse unit) should not.
As you can imagine there is quite a bit of work left to be done :)
I was able to wrap up the first pass of the German translations last week. We will probably deploy it on the staging server soon, so we (and supporters with test server access) can have an early look and see if there's anything missing, where the layout might break and things like that.
Another thing I did, and that we will also test pretty soon, was adding around 60 new FTL connections to the map for "under-connected" stars, especially in the outer regions of the universe. This is a first small step in the greater context of map and expansion changes we want to make based on the feedback we collected in the forums recently.