[1.190] Suggestion for Projector block PCU to only apply to unbuilt

Gwindalmir shared this feedback 2 years ago
Submitted

Projector blocks can cause a lot of lag on servers, so I understand why they consume more PCU now, based on the projected grid.


However this does complicate repairs. If you want to use a projector to repair your ship, now you require 2x the PCU for that ship, even if you just wanted to repair a dozen or so blocks.


I have a suggestion that might help both sides:

Only consume PCU for blocks that are actually projected.


For example:

  1. Player selects blueprint from projector, this gets sent to the server.
  2. Server loads blueprint, compares it to current grid, and removes any blocks that are already built.
  3. PCU is added based on the blocks requiring projection.
  4. Sync to clients if below limit, or report error to client otherwise.
  5. Alternatively, perform that first check on the client first, to avoid the initial sync, then validate again on the server (to avoid client exploits).


Alternatively, if the projector is set to "show buildable only" then only include those in the PCU.


It is more work internally, I understand that. However the projectors are very valuable to survival players, and when you have a limited PCU server, it hurts if you can't repair your ship with it.


EDIT: Another solution would be to use a fixed 1 PCU value for each projected block, since their gamelogic shouldn't be running anyway, it shouldn't use extra PCU.

Or a percentage of the total. Something to help, while not making it impossible to repair larger ships.

Comments (2)

photo
1

Removing blocks from projection would make it annoying when moving it, because some blocks might accidentally match and therefore be removed. Also, will it try to remove blocks every time you move it? xD


Why not simply 1 PCU per projected block regardless of visible or not, since the volume of blocks is the issue, not the individual blocks themselves.


Regardless the full block PCU should not be used for projected blocks because those blocks should not have any logic on them, if they do run logic when projected then it should be fixed :P

photo
1

someone needs to work out the percentage performance difference between a real grid and a projected grid, to apply a PCU value percentage reduction based on that, to the projected blocks.