This is an extension, but also separate from my previous beam suggestion. The problem not handled in that one was how to handle plating that didn't fit the regular multiples of 12/24 cm. This suggestion includes discussion to "solve" that problem.
I had time to talk to one of the developers about what limits unique parts and found that all parts have to be precomputed with voxels and fractures which costs memory. Adding new parts that both voxelize and fracture is expensive. This explains why for instance the plate dimensions for reference isn't complete:
Note: I was already told the current building system works and there were no planned changes. (They have a list of priority items). I say this just to keep expectations realistic. Also some of these topics below have been brought up on Discord by multiple builders, so I'm mostly centralizing some of them.
Beam Welding with Shims and Wedges
In order to keep unique part count low a shim or wedge would be a "fake part" - one that doesn't fracture or voxelize when damaged. It either transfers damage to adjacent beams/plates or takes damage and disappears when broken. That said these parts are small (less than 12 cm) so the idea is visually they don't matter much or detract from the damage system. (If there is a complexity cost associated perhaps they could cost two parts to limit their usage).
Beam shims could be placed between any two close beams. The player could select two aligned beam ends and connect them seamlessly as shown in the first example. In addition any two beams on the same plane the player could select a beam end and a beam surface and construct a beam shim between them extending the beam end to join the beam surface. This option would only be available for distances less than 24 cm.
Beam wedges would be placed between two angled beams on the same plane as in the image below. A player would select both ends and then apply the operation which would create a wedge filling the gap creating a seamless welded beam. (This would only work on angles less than 90 degrees).
The player would be able to set the join operation for the wedge from miter, in the first example, to bevel, in the second example if the beams share an edge. If the beams are not touching then their face would attempt to extend and miter as shown below.
Plate Welding with Shims and Wedges
The idea of plate welding isn't new (and has been thought about by the developers), but just to recap, it would allow plates to weld to other plates and to beams removing the need to bolt them.
Plate shims function identically to beam shims. It allows you to select the side faces of a plate and then either another plate side or beam face and extend to it less than 12 cm. (Give or take).
Plate wedges function similarly as beams. As long as the plates are angled on the same plane then selecting two side faces would extend them and miter. In the example below the two green plates are extended to seamlessly fill the corner.
An example of a ship that could use various techniques described above would be Kap's ship that he posted to Discord. It shows a design where the beams are welded. (Yes, you can weld beams at angles). The above changes would both clean up welding aesthetics and also remove brackets where shims would replace them. The plating wedges would fill all the gaps.
Polygon Plate Packing
So currently builders must manually drag plates in to fill larger regions. If you want to fill say a 260x285 cm area with plates the player must manually decide which plates to use. (Implementing an algorithm to automatically choose plates to fill a rectangle is not a controversial feature). This problem becomes much more difficult in the current system if the region is instead an arbitrary polygon. Designs where this problem comes up has led many builders to throw in the towel and stick to more box-like designs. (Which I'd argue is limiting the potential of ships we could be seeing). (I won't be mentioning the triangle plates for the below examples as they handle a few cases, but not for general polygons).
This suggestion might be kind of out there, but the main idea is automatic plating with any polygon along with "fake part" border parts. Two examples are below.
Essentially the player has two polygon regions that they've defined and they want to quickly fill the area with panels seamlessly. The system would support selecting beams/panel sides to define the region or they could fill a closed region by extending an already placed plate. The player would be given the choice to place a starting plate on the plane or choose a face normal (from a beam or plate) and the editor would generate a filled pattern sticking to a 12x12 cm grid in the same orientation. (My example isn't perfect, it's just a quick mock-up). (This is a variant of rectangle bin-packing for those curious). Other than the plates being generated, a "fake part" border would be generated as well. This could be done as multiple parts.
I mention this polygon packing because it works to solve other edge cases like joining arbitrary plates at an angle. In the crude image below the builder wants to create a corner piece. If the game doesn't have a part for this then they might have to try two or more triangle plates and get it close enough. If instead the system lets players select both sides and extend then the above system generates two triangles, fills as much of the area with plates, and then generates fake parts to fill the diagonal edge.
A secondary bevel fill option, rather than extending the side, would give the below output. (So the player would select both sides then choose either miter or bevel for the join).
This pattern could be applied to many plate configurations to create seamless plating and cover a whole ship.
Conclusion
This was longer than I expected, but the basic idea is "fake parts" could be a possible solution (if the engine can support them) to skin a ship completely with panels and remove gaps in beams and plating. It allows ship builders to get much more creative with angles without having to dread certain plating configurations that create gaps. It also allows more seamless curved plating designs that exist in a lot of sci-fi concept art for hulls.
I imagine there are still edge cases in plating that could slip through the cracks even with this. Off the top of my head plating designs where more than 2 plates meet possibly. (It's solvable, but the development might not be worth the effort).
Any other approaches or thoughts?
I had time to talk to one of the developers about what limits unique parts and found that all parts have to be precomputed with voxels and fractures which costs memory. Adding new parts that both voxelize and fracture is expensive. This explains why for instance the plate dimensions for reference isn't complete:
Note: I was already told the current building system works and there were no planned changes. (They have a list of priority items). I say this just to keep expectations realistic. Also some of these topics below have been brought up on Discord by multiple builders, so I'm mostly centralizing some of them.
Beam Welding with Shims and Wedges
In order to keep unique part count low a shim or wedge would be a "fake part" - one that doesn't fracture or voxelize when damaged. It either transfers damage to adjacent beams/plates or takes damage and disappears when broken. That said these parts are small (less than 12 cm) so the idea is visually they don't matter much or detract from the damage system. (If there is a complexity cost associated perhaps they could cost two parts to limit their usage).
Beam shims could be placed between any two close beams. The player could select two aligned beam ends and connect them seamlessly as shown in the first example. In addition any two beams on the same plane the player could select a beam end and a beam surface and construct a beam shim between them extending the beam end to join the beam surface. This option would only be available for distances less than 24 cm.
Beam wedges would be placed between two angled beams on the same plane as in the image below. A player would select both ends and then apply the operation which would create a wedge filling the gap creating a seamless welded beam. (This would only work on angles less than 90 degrees).
The player would be able to set the join operation for the wedge from miter, in the first example, to bevel, in the second example if the beams share an edge. If the beams are not touching then their face would attempt to extend and miter as shown below.
Plate Welding with Shims and Wedges
The idea of plate welding isn't new (and has been thought about by the developers), but just to recap, it would allow plates to weld to other plates and to beams removing the need to bolt them.
Plate shims function identically to beam shims. It allows you to select the side faces of a plate and then either another plate side or beam face and extend to it less than 12 cm. (Give or take).
Plate wedges function similarly as beams. As long as the plates are angled on the same plane then selecting two side faces would extend them and miter. In the example below the two green plates are extended to seamlessly fill the corner.
An example of a ship that could use various techniques described above would be Kap's ship that he posted to Discord. It shows a design where the beams are welded. (Yes, you can weld beams at angles). The above changes would both clean up welding aesthetics and also remove brackets where shims would replace them. The plating wedges would fill all the gaps.
Polygon Plate Packing
So currently builders must manually drag plates in to fill larger regions. If you want to fill say a 260x285 cm area with plates the player must manually decide which plates to use. (Implementing an algorithm to automatically choose plates to fill a rectangle is not a controversial feature). This problem becomes much more difficult in the current system if the region is instead an arbitrary polygon. Designs where this problem comes up has led many builders to throw in the towel and stick to more box-like designs. (Which I'd argue is limiting the potential of ships we could be seeing). (I won't be mentioning the triangle plates for the below examples as they handle a few cases, but not for general polygons).
This suggestion might be kind of out there, but the main idea is automatic plating with any polygon along with "fake part" border parts. Two examples are below.
Essentially the player has two polygon regions that they've defined and they want to quickly fill the area with panels seamlessly. The system would support selecting beams/panel sides to define the region or they could fill a closed region by extending an already placed plate. The player would be given the choice to place a starting plate on the plane or choose a face normal (from a beam or plate) and the editor would generate a filled pattern sticking to a 12x12 cm grid in the same orientation. (My example isn't perfect, it's just a quick mock-up). (This is a variant of rectangle bin-packing for those curious). Other than the plates being generated, a "fake part" border would be generated as well. This could be done as multiple parts.
I mention this polygon packing because it works to solve other edge cases like joining arbitrary plates at an angle. In the crude image below the builder wants to create a corner piece. If the game doesn't have a part for this then they might have to try two or more triangle plates and get it close enough. If instead the system lets players select both sides and extend then the above system generates two triangles, fills as much of the area with plates, and then generates fake parts to fill the diagonal edge.
A secondary bevel fill option, rather than extending the side, would give the below output. (So the player would select both sides then choose either miter or bevel for the join).
This pattern could be applied to many plate configurations to create seamless plating and cover a whole ship.
Conclusion
This was longer than I expected, but the basic idea is "fake parts" could be a possible solution (if the engine can support them) to skin a ship completely with panels and remove gaps in beams and plating. It allows ship builders to get much more creative with angles without having to dread certain plating configurations that create gaps. It also allows more seamless curved plating designs that exist in a lot of sci-fi concept art for hulls.
I imagine there are still edge cases in plating that could slip through the cracks even with this. Off the top of my head plating designs where more than 2 plates meet possibly. (It's solvable, but the development might not be worth the effort).
Any other approaches or thoughts?
Attachments
-
570 bytes Views: 312