"Additive" and "Subtractive" Building Modes Features

aTREEEan shared this feedback 45 days ago
Not Enough Votes

Hello,


So with the new unified grid system it got me thinking of a opportunity to potentially add a "subtractive" building mode in which the player can place a 2.5m block and carve out 0.5m or 0.25m blocks out of it. Also with 0.5m and it cuts out a 0.25m block. The game currently just deletes the entire 2.5m block when you try removing with a 0.25m block in the tool.


What I propose is a feature like shown in "Subtractive Building.mp4" video in which you can simply remove the 0.25m blocks out of the 2.5m block. In case you're wondering, I had to create a 2.5m block out of 10x10 0.25m blocks which on its own was too tedious to recreate with larger builds.


Some of the immediate quality of life I can see are improved edge designs in which you give a general shape of your edges and refine it by "sculpting" the edges. Addi tonally, I can see another quality of life to designing corridors by simply "tunneling" around your build to build your corridor.

Replies (3)

photo
1

I really really like this idea and think it would create a lot of value for detail/"greebling" on large ships; adding interior wall designs for corridors etc.

I imagine "subtracting" / cutting away blocks would require a special tool (just as the paint gun is used for colour changes), to distinguish "subtract" mode from the "delete" action. So perhaps this tool is a drill or hole saw.

I'm guessing the devs will want to consider this issue: each subtraction will increase the number of shape faces which, in turn, would have a minor impact on performance. I imagine then that "remembering" each subtraction will need to cost, say, ~1PCU (and filling it in will also cost an additional amount of PCU).

photo
1

I like the idea, but I think this is a lot less trivial than one might normally think.

It basically boils down to Bin Packing which is an NP Problem. If you think about removing a single deco block's worth, you'd have to replace the previous armor block with some combination of sub-blocks (some of which don't exist yet, but that's not a big deal) that fill the space of that 2.5m block (minus the space you just removed). The easiest (and arguably worst) solution is to replace the armor block with [10x10x10]-1 deco blocks. The other option is to jigsaw some combination of sub-2.5m blocks that may or may not exist yet into that remaining space. But that's the NP problem - it's impossible to calculate the ideal arrangement of "bins" into a space without calculating all options - it's the space-filling equivalent of the travelling salesman problem.


now, one could settle for the less optimal solution for some quick(er) option, but having implemented that on a 2d area, let alone a 3d volume, I think that would still be fairly non-trivial to compute *each and every time* you remove some arbitrary volume from a block.

There could a way to do it, and to do it in a "good enough" way, but I just want to make sure people understand that it's not quite as easy as I think people are under the impression of it being.

photo
1

I agree it would be nice. However I think it is really hard to implement it since then you would have to calculate each block into sunblocks. I think another game makes ships entirely voxel based. Where you could do that.


I think the easiest way right now would be make a blueprint of your 10x10x10 0.25 meter block and just replace the 2.5 meter blocks you would want to change.

Leave a Comment
 
Attach a file
You can't vote. Please authorize!