Only a quick update this week, as it’s not time for a new build yet.
I’ve still quite some way to go for the upcoming update, but I’m hoping to get a lot into the upcoming version. I’m planning the third density of 2×2 commercial buildings to be added. I’m also going to start expanding the roster of culture and entertainment buildings, starting with the opera and stadium.
Current progress is that I’ve redone the code for bridges. Before they were individual objects per length, which becomes difficult to maintain as more bridges are added. So now each type is a unique object, but then the length is generated as they are built. This meant it was fairly easy to add bridge variants in, seen below.
The density system, that would count nearby buildings to determine if an area was dense enough to allow zones to grow has been replaced. The old system differentiated between 4×4 on the one hand and 1×1 and 2×2 buildings on the other. This wasn’t ideal as, for one thing, it used up 4 collision layers instead (big/small RC/I), but it also required a spherecast upon each grow test which would sometimes bog things down. Now density is calculated similar to how health and education is calculated. This means it can also run on a thread.
The system that handles storing water in cisterns has been overhauled. Water is now stored only after all buildings have consumed their water. Cisterns can now also store more water to cover up a longer period of high water demand. I’ve also added in a battery building that stored electricity for a simlar purpose as the cistern.
The block splitting tool has been deprecated. Instead all blocks have been translated into the smallest building block. This makes loading a slight bit slower, and also adds more faces in any given view, but these effects should be minimal compared to the benefits in terms of easier sculpting. In other words, a small con in terms of performance, but a big pro in terms of game play.
I’m hoping to restart work on waterblocks in the upcoming week, but it’s still uncertain whether they can be made available in the upcoming version.