Development Log Week 87

While there are plenty of bigger features still on our list to be finished before a first release, this week was all about small-scale improvements and work on infrastructure.

General Improvements

For a long time now, our focus has been solely on the core features that make up Prosperous Universe. With the majority of these in place, our priorities are shifting towards getting the game ready for release. And that means improving all the nitty-gritty details that have been neglected so far. Many components need a final round of visual polish and a plethora of minor functionalities are still missing. Examples for this are seemingly obvious things like being able to open a window that displayed basic information about another user or company.

My plan for the coming 2 to 3 weeks (at least) is to browse through the game and take care of as many of these things as possible. Unfortunately, this week I opened more tickets than I closed. It's relatively unrewarding work, but I see myself doing a lot of it up until we are ready for Early Access.

Infrastructure

It's been a while since we talked about our cluster setup. That's because we've been generally happy with what we had so far. But there were two things that were still bothering me:

  1. Some parts of our setup are still more complex than they have to be.
  2. We still need a final solution for the persistent storage of our database's data.

Our cluster is run on top of Kubernetes, a cluster management system originally designed and developed at Google. It's an extremely elegant system and build for huge deployments far bigger than what we'll ever need. That means there's a steep learning curve and very little in terms of GUI to help you get started. Mostly for the latter reason we've so far run Kubernetes using Rancher, another cluster manager that's a bit more visual and opinionated, making the initial installation a lot easier. But as you might have figured already, this essentially means "running a cluster manager within a cluster manager". That just didn't feel right to me, so I sat down this week to tackle a Kubernetes-only setup.

It went very well and I got a test cluster up and running using Kubernetes 1.7. That's important because this new version offers a few feature that come in handy in the configuration of local persistent volumes that are ideal for the database system we're using. With Rancher, it probably would have taken months until those features were available through one of their releases.

Some time soon we'll apply this new setup to our current test and production cluster. I'm sure you'll read about it here :-)