An interesting idea. I’ve not formulated it yet but I’ve seen such examples in other games.
While I think this is not very useful for simple objects (like tables), it would be useful for “scalable” ones - columns from your example, fences, “bunk beds” from my mod etc. In other words, any items that can be intuitively “stacked” together.
We could make this even more useful to make “snapping” toggleable. Like in graphic editors - “chain these items and process them together” or “unchain them and use separately” when we no longer need it.
I haven’t seen such examples is SH mods so far, but I suppose it even would be useful to add such a thing to the core game.
As for constructing new furniture from parts, as in your second example, there is an example from Cube World (in-game voxel editor to add a limited number of resource-based blocks to the weapon to improve its stats), Starbound (draw a custom sign, print it and use a a decor in your constructions) or Planet Explorers (which have an in-game voxel editor for vehicles where you can build them on a block-by-block basis). I believe this is a better way than designing separate parts (like legs and plate). Maybe even the new SH building system that is in development right now can be used for these things as well - it is the same voxels, the same templates, the same resource cost calculation but on a different scale.
However, after noticing some problems with SB, Cube World and Planet Explorers’ take on the topic I can list some possible problems that should be avoided.
- Voxel editor in Cube World has a very strict limit on the number of cubes used.
Normally it is based on the quality of a weapon and is limited to 4-10 blocks. Not nearly enough.
- Starbound’s custom signs have many hardcoded limitations used to “cut corners”. For example, a custom sign has no custom icon (although it is quite easy to make it code-wise). And SB’s hardcoded structure gives no room to modded solutions.
- Planet Explorers, while lacking in other parts, have a powerful in-game voxel editor. There are several problems with it.
a) It works strictly from the game and is not available as a standalone application
You can’t create a car in your spare time, then use it in the game. You must do it from within the game.
b) The game doesn’t pause while you are using the editor
Even more ridiculous, it’s common to spend 1+ hour designing your new car, but your character is not protected from starvation, nor is he safe from monster attacks.
c) Controls and navigation in the editor are not optimal usability-wise
So you must be in the game, you must watch you char to evade death, but even more so, the system, while powerful, is not very user-friendly and convenient to use.
To sum up, using the editor quickly becomes torture.
How do I see such a system?
- Voxel-based (with a scale of, say, 1:10, i.e. 10 times smaller than building voxels)
- Limited to creating static decorations (at least initially)
- Autocalculating resource cost and selling value based on voxels
- Autocreating icons
- Supporting saving, exporting and sharing templates
- Comparatively simple and quick to use (no overcomplicated and time-consuming parts)
- Optionally in the future - supporting different material surfaces (like reflective and non-reflective, transparent, emitting etc.)
- Maybe based on a separate “designer” profession, or craft level (for example, a woodcutter at lvl 5 may obtain the ability to engineer custom objects - like the currently non-implemented “10000 hours” ability).
All and all, I have doubts about it. The system as it is is quite difficult to implement and time-consuming to create, and I’m not sure it would be very popular to excuse the effort. After all, we have full-scale voxel editors out there. So I would stick to implementing “snapping” technique and leave in-game decor designing util as a low-priority “perspective idea”.
PS. Maybe add “Suggestions” tag to the topic?