Friday Blog 260 - Movable World Slicing, Mesh Replacement, UI Refactor

In the last blog we announced “world slicing”, the ability to “cut the roof off” and see inside of buildings at the level of the “top-down trigger”. It’s a fun experiment, but because it’s just on one level, it’s not very practical. Many buildings have floors on wildly different levels, and it also makes it hard to see into underground spaces.
Zun has added a major improvement to this feature: you can now determine the height at which the world is “sliced open”! It’s a radical new way of looking at your colony. Previously invisible things become very visible. I’m certain this will affect how players build their worlds and I’m looking forward to seeing that impact. Screenshots in this blog should give you an idea of how it currently looks in-game.

And as you can see in these screenshots, the UI is a bit mediocre and work-in-progress. We still have to work on this before we can release the top-down feature.
The UI in general is a bit of a struggle for us. To make multiplayer functional, there has to be coordination between the “client” running on your local desktop and a server that can be anywhere in the world. Our singleplayer and multiplayer modes work nearly identically, so when you’re playing offline, there is still a server-client split. Both run separately on your local machine. This makes development of certain features, like UI, more difficult than developing for a purely local, undivided, singleplayer game.

We also have extensive mod support built into the game. This means that a mod can tell the game to render special buttons and menus for that mod. Taking all of this together means that developing our UI is more complicated than it seems at first glance.
This is one of the reasons why our UI is fairly barebones and primitive in general. We didn’t like engaging with the UI system, and often chose to add new UI elements in a janky manner. Which just made it even harder to engage with in the future.
The new top-down view both requires UI elements, and gives us a lot of opportunities for new ways of engaging with the world. But our “technical debt” is catching up with us.

So we’re planning to release the top-down view with slightly less features than hoped for, and our next big project is refactoring our UI system. Making it work more elegantly behind the scenes, and improving the in-game appearance as well. The goal is that it should be easier to add new, functional, good-looking UI systems when the refactor is done.
Another technical obstacle that Zun worked on this month: rotating and mirroring blueprints. They’re pretty essential features, and fairly easy to get to work for most blocks, but of course, there are extremely tedious edge cases. In recent years we’ve added pretty complex “adaptive” blocks like the dynamic quarterblocks and crown moulding. Making sure that all their variants are rotated and mirrored correctly was quite the struggle! But Zun did manage to make it work.

While Zun has been fighting these complex technical problems, I was working on replacing more old meshes. The primitive, small mesh for the sacred failsafe has been replaced by the massive statue of a divine protector. And berry bushes, previously a square block with textures, has now gotten its own 3D vertex-painted mesh, like many jobblocks and other objects in the game.
The new mesh of the berry bushes randomly rotates to make fields of them look more organic. Personally, I was surprised by how well it looked! We’re thinking of designing more plants in this style, and making them part of the world generation.

Bedankt voor het lezen :D
Reddit // Twitter // YouTube // Website // Discord