Skip to content

BACKPORT: Building Entity optimizations #9

@johnmoney

Description

@johnmoney

Summary of changes

"Lifetime sync optimization"

Coarse lifetime sync (this was based on dt from from construction, changed to servertime - remains if set. It was also updating 0.1f, which I changed to 60f, no need to know the seconds your house is decaying) and if they check mid they get last send.
Children also used to send decay. This has been removed.

"Finalize Child Building Part"
Child pieces become visual-only under root. This happens on construction.
Root maintains authoritative data and reconstructed visuals only producing one pipeline of packets from a single entity.

"Segmented HP"
Per-piece HP stored on root.
Damage routing from child hitboxes to root.

"Batched/coalesced HP deltas"
Each piece still takes damage and can be destroyed individually but hp is only sent on change, and only the pieces that are damaged (batched). Also increased the interval from 0.1 to 0.5

"Repair/UI targeting"
Repair amount/checks updated for segmented part context.
UI bars/target frame use selected segmented part HP.

"Hold activate targeting"
Added holdactivate to recognize DamageableHitBox when Activatable not found (Needed for the non networked children).

"Hit registration hardening"
Deterministic hitbox ordering after child finalize rebuild.

Metadata

Metadata

Labels

scalabilityCan the system handle hundreds or thousands of concurrent players?
No fields configured for Feature.

Projects

Status
In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions