Development Log Week 55

While Michi went on to tackle the minutiae of world, star and planet generation, Martin reactivated crucial systems to get the overall simulation back to work.

Martin

My work this week can be summarized rather quickly. First and foremost, I reactivated the ground structures system both on the server as well as in the client. This finally allows to start bases on planets again and to add manufacturing sections to them.

After that, I started to work on reactivating the production systems as well. Here I only completed the initial server-side parts so far. The primary reason progress has been a bit slower in this case is that we decided to change how production queues work: So far, the queues you placed orders in were section-based. This means that you had to manage every production section of your base individually. As you can imagine, this becomes quite an annoying task once the number of sections grows, especially when there are a lot of identical ones. Therefore, production orders are now managed per section type: If you have 50 identical sections and you place an order for their respective section type, any of the 50 sections can execute that order and you don't have to assign it manually.

Aside from the changes to the queue logic, most of these things have been more or less complete before but had been temporarily disabled due to interface and backend changes. As such, I hope to make fast progress over the coming weeks to get the core game play functionality back online.

Michi

Last week I told you a bit about the generation of stars, clusters and the the connections between the stars. This week I worked on how to create the actual star systems with suns, planets, orbits etc.

The world generator tool already spits out various types of suns and planets, but when Martin and I had our planning meeting a few weeks ago we decided that we want to further iterate on that to increase the diversity of the generated celestial bodies. Take suns for example: Sun Types CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1141520 There are quite a few different types of suns, differing for example in weight, luminosity etc. We model a few of them (taken from what is called "main sequence stars") which leads to a great variability of star systems.

But more important than the stars are the planets. We decided that instead of having classifications of planet types like "water", "desert", "rock", "gas giants" and just randomly generate instances of these types we want to go a more procedural way. We thought of a few properties that might be relevant to the gameplay later on: radius, mass & gravity, atmospheric pressure, atmospheric components, distance to sun, magnetic field, temperature, etc. We generate these values (some of which are interdependent of course) and the result is a plethora of planets. So instead of saying "generate a habitable planet", habitable planets emerge if just the right parameters are generated to support human life.

The first few parameters are being generated properly right now, the rest will follow.