Paying Upkeep - Development Log #462

Michi started working on the infrastructure upkeep mechanism and has a couple work-in-progress shots to show.

Avatar Michi

Michi (molp)

In the recent weeks I have written about infrastructure construction (devlog #444, #446), linking gateways (#453, #454, #455) and upgrading gateways (#458, #459).

This week I started looking into infrastructure upkeep. I am trying to keep the upkeep system as generic as possible as well, since we expect future infrastructure projects also to require upkeep. Hence, the new upkeep command is not in the GTW namespace, but will rather be INFU.

Infrastructure upkeep will have to be paid weekly. It can depend on the number of upgrades the specific infrastructure has. If the upkeep is not fully present once it is due, the infrastructure will stop working. For gateways, that means that no jumps can be performed.

After I implemented the upkeep formula for gateways, I decided to work on the user interface side first. The gateway information command GTWI features a new section, showing the weekly upkeep requirement.

I then moved on to implement a first draft of the INFU command. Please note that this is a mockup, with no real data from the server yet, besides the upkeep materials:

infrastructure upkeep command

The most prominent new feature is the upkeep period indicator: we decided that the information whether the upkeep for a given period has been paid should be available to all players. The INFU command is therefore accessible from all contexts. Instead of showing a long table with information for each upkeep period, we opted for a new design element. The red and green pills show if the upkeep costs have been paid in a given upkeep period. The latest one is on the left. We hope this user interface element can be easily understood and reduces clutter.

Of course, the upkeep will be managed via motions. I created the corresponding motion component:

infrastructure upkeep motion component

infrastructure upkeep motion

The idea here is that the government will be able to appoint multiple contractors that will be responsible for provisioning the upkeep each week. To reduce the amount of busy work on the government's side, the resulting contract can span multiple upkeep periods. The government can also decide on a service level objective, that indicates how reliable the contractor needs to be, or if a lapse in upkeep can be forgiven without breaching the contract.

Again, please note since I started with the user interface this time, there is no server side implementation yet. Pretty sure that will keep me busy for a while.

As always: we'd love to hear what you think: join us on Discord or the forums!

Happy trading!