top of page

Every Block Is Solid — Except When It Isn't

Writer: Marcel Dütscher
Marcel Dütscher
Jun 22
1 min read

Updated: Jul 10

Our client mesher has an iron rule: every block that isn't air gets rendered and has collision. Period. This simplification makes the meshing fast and the code simple — until a feature comes along that wants to break exactly this rule.


The energy gate. For our energy fences we wanted a gate: a shimmering membrane that players and friendly NPCs can simply walk through, but wild animals can't. A block, in other words, that is visible but doesn't act as a wall for some. Exactly what our architecture doesn't provide for.


The solution comes in two halves. On the client, the mesher got its first deliberate exception: the gate block is rendered but excluded from the collision mesh — players simply walk through. On the server runs the actual logic: the creatures' movement systems check at every step whether an energy barrier is in the way. Wild animals and enemies turn away, companions and players pass. This check had to go into all three movement systems — wild animals, companions, planet enemies — otherwise one type of creature wouldn't have "known" the gate.


The honest footnote: Flying creatures glide right over the fence. That's not a bug, it's a documented limitation — a fence simply doesn't stop anything that flies. We'd rather write down deliberate gaps like this than hide them.


What remains: architecture rules like "everything non-air is solid" are valuable because they're simple. But you should know where the one exception lives — and why it lives there.

Recent Posts

See All

Comments


Commenting on this post isn't available anymore. Contact the site owner for more info.
bottom of page