i've been in a few discussions about bubble shields now, the real problem (i think) comes from the approach, at the moment we are proposing rendering a entirely seperate entity to the ship, whilst still keeping it attached to the ship, this would crate a intense amount of processing, yes the rounded shape would shave a few fps, but it's more the implementation, then the shape...
as an example, i'm going to refer to one of the most buggy games, and it's almost as buggy "mod/mod framework" ... minecraft, and minecraft forge. we all know it's got a heck ton of bugs, and a large amount comes from poor coding, or just poor rig jobs... (no i'm not actually dissing forge here, they have to work with what they are given.)
and yet one of the most impressive things i saw was a forcefield mod for minecraft (modular force field system, MFFS, last i checked, it was dead, but that was like half a year ago), despite the game itself being slow and jittery (i was running a dual core amd based laptop from 2008 at the time),
the mod had little effect on the game's already degraded performance, this mod had default "shapes" (round, pyramid, square), you could adjust the size of the field in six directions (up, down, left, right, front and back) change it's "effects" (place "solid blocks" from a chest, shock on contact, "sponge" (remove liquids) or even use another blocks texture...
it achieved this by using a custom block, and rendering it in place from the "generator". the animated block was square, and partially transparent
starmade would have no issues using a similar approach, and i think it'll be more efficient, the game would check for the highest and lowest points on a ship, the widest points... and the longest points...
add a few blocks "gap" and render a poor "oval"...
to reduce lag the "shield" should render invisible (unless modified by a color block, and then only faintly glow) (hey maybe "blacklight" could halve the light as a poor man's stealth?)
and it should be three blocks thick, this is so the hit detection can run 3x less often (server setting please),
the outer layer of blocks should be the ONLY blocks that render when hit, or anything...
this approach could also be used for planetary shielding (just treat it as a object in space, not one "orbiting" a planet) (i prefer the idea of having an "emitter" per side of the planet, connected to a shield capacitor with total capacity divided by the emitters, but shield rechargers directly charging the capacitors... very fast recharge, but building a shield capable of withstanding a shot from a battleship becomes difficult)
the ship shield would be considered "part" of the ship, so the game would handle it as the same entity (essentially they'd be a block with no health or armor, but protected by the shields and only deleted when the shields "drain"...
as a side note, a collision with an object should have no effect on the ship, except to drain the shields relative to the damage amount, this should NOT destroy blocks, but it should damage them...
the "bubble" shield should be a SERVER setting to allow on, and then a method of switching to bubble shielding with normal shields (structure tab?), so if people feel it's a issue, they can turn it off... of course, we'd like access to the various settings in the config.
as an example, i'm going to refer to one of the most buggy games, and it's almost as buggy "mod/mod framework" ... minecraft, and minecraft forge. we all know it's got a heck ton of bugs, and a large amount comes from poor coding, or just poor rig jobs... (no i'm not actually dissing forge here, they have to work with what they are given.)
and yet one of the most impressive things i saw was a forcefield mod for minecraft (modular force field system, MFFS, last i checked, it was dead, but that was like half a year ago), despite the game itself being slow and jittery (i was running a dual core amd based laptop from 2008 at the time),
the mod had little effect on the game's already degraded performance, this mod had default "shapes" (round, pyramid, square), you could adjust the size of the field in six directions (up, down, left, right, front and back) change it's "effects" (place "solid blocks" from a chest, shock on contact, "sponge" (remove liquids) or even use another blocks texture...
it achieved this by using a custom block, and rendering it in place from the "generator". the animated block was square, and partially transparent
starmade would have no issues using a similar approach, and i think it'll be more efficient, the game would check for the highest and lowest points on a ship, the widest points... and the longest points...
add a few blocks "gap" and render a poor "oval"...
to reduce lag the "shield" should render invisible (unless modified by a color block, and then only faintly glow) (hey maybe "blacklight" could halve the light as a poor man's stealth?)
and it should be three blocks thick, this is so the hit detection can run 3x less often (server setting please),
the outer layer of blocks should be the ONLY blocks that render when hit, or anything...
this approach could also be used for planetary shielding (just treat it as a object in space, not one "orbiting" a planet) (i prefer the idea of having an "emitter" per side of the planet, connected to a shield capacitor with total capacity divided by the emitters, but shield rechargers directly charging the capacitors... very fast recharge, but building a shield capable of withstanding a shot from a battleship becomes difficult)
the ship shield would be considered "part" of the ship, so the game would handle it as the same entity (essentially they'd be a block with no health or armor, but protected by the shields and only deleted when the shields "drain"...
as a side note, a collision with an object should have no effect on the ship, except to drain the shields relative to the damage amount, this should NOT destroy blocks, but it should damage them...
the "bubble" shield should be a SERVER setting to allow on, and then a method of switching to bubble shielding with normal shields (structure tab?), so if people feel it's a issue, they can turn it off... of course, we'd like access to the various settings in the config.