published on 13. Januar 2025 in devlog
Back in the Engine Room - Development Log #466
The language this post was written in (Englisch) differs from the one you have currently selected (Deutsch) as we do not have a translation available at this time.
published on 13. Januar 2025 in devlog
The language this post was written in (Englisch) differs from the one you have currently selected (Deutsch) as we do not have a translation available at this time.
Michi continues to work on remote stores and shares some technical notes from the engine room.
A quick update from me: I locked myself in the engine room, trying to get as much time as possible to work on the remote stores.
Let me explain what that means, although I already described it a bit in devlog #463, it can't hurt to reiterate.
The goal is to be able to give access to inventories that don’t belong to your company. For example, we want to use remote inventories for the upkeep stores of infrastructures like the upcoming gateways. A player (or many different ones) can get access to that upkeep store by being contracted by the government to look after the upkeep. The player would then see the store in their INV
command just like any other of their own stores.
In the past this simply wasn't possible, which is why we have at least two different mechanisms to "contribute" materials towards a project, for example. From a player's perspective, this is inconsistent. What's really happening is a transfer of materials and the established way of doing so is dragging and dropping an icon from one store to another.
Since material transfers with remote stores cross entity borders, think company to gateway, all the pitfalls of a distributed system apply, which is also why it takes me a while to implement. To give an example: If I start a material transfer from one of my inventories to the upkeep store and the corresponding message to the gateways takes a while, another player could be faster, add materials to the store and once my message arrives, the transfer fails, because the store is already full. In that case, the transfer has to be rolled back in my store, even though when it started everything looked like it was going to be successful.
I'll stop here, as I don't want to bore you with technical details :)
As always, we'd love to hear what you think: join us on Discord or the forums!
Happy trading!