Development Log Week 61

The theme of this week's development log could be "dynamic" because both Martin and Michi have been working on things that quite literally make the interface come alive. Our maps now support visualizations of live data on ship traffic and the commodity exchanges, featuring real-time price updates and trading, are starting to materialize.

Martin

My work on everything concerning commodity exchanges continued this week. I spent a bit more time than originally planned on test utilities to make testing complex entity interactions a bit less cumbersome. After that I went on to take out some minor adjustments to the existing UI components and wrote a few new ones that were optional during testing but will be required once people start to actually play the game. While it's not too exciting to write order management tools and similarly thrilling features, it's a crucial and unavoidable part of production.

Originally, I had planned to also start integrating the commodity exchange code and Michi's visualization code, but it turned out to be a bit more complex than anticipated and some open technical questions still need to be answered before I dive in. So instead of rushing things there, I did a bit of "maintenance work" in other places, namely our cluster bootstrap sequence which ensures that a cluster of Prosperous Universe servers starts up the way it's supposed to. It's upsettingly fragile right now and nowhere near production-ready. I'm not done fixing it yet, but it's already looking a bit better than before.

Michi

This week I fixed a feature that has been in the code base for a while but got neglected and eventually broke while we were doing the various refactorings of the last months. The feature is "visualize traffic" and with it working correctly the players should be able to see their own and other players' ships.

Right now we have two different kinds of travel: Faster Than Light (FTL) and Slower Than Light (STL). STL is used when flying within a single star system. FTL on the other hand is necessary when traveling to other systems. The traffic within a system is visualized by little symbols that represent the ships. There are different colors for your own ships and ships from allies and third parties. We reuse the same symbols on the universe map to show the player's own ships but not to show ships of other players, because there are going to be way too many ships to display.

So instead I reused the visualization I created in the last two weeks to display not the actual traffic, but a traffic statistic. Every flight (STL or FTL) for every system is recorded, counted and then displayed as a bar graph. The higher the bars the more traffic a system had in a given time span. I am not sure which time spans we want to use, but I guess 'last hour', 'last 24 hours' and 'last week' would be nice to have.