This is just an approximation, I do an y = bx
k where I've tuned b and k to make it baaaaasically line up, although you can still see a few pixels of displacement in some cases. Had to be pragmatic here, working on schedule and previous attempts to come through to James, AS and everyone else I work with on why
mathematical purity is worth 16+ extra work hours towards a very similar looking result has always yielded somewhat limited amounts of understanding

Please do tell more about splines!
Update 520Worked on the shader displacement issue, as you may have noticed. Also implemented a
damage system. Previously damage within the game has always operated on a sort of rouge basis, where every creature has code such as "on damage, check if the damage source is a spear, in that case immediately die". This generally worked, but say that we wanted to tune the damage a certain interaction does, or make a creature more or less tough - then you need a system.
So I set up a simple little thing which tracks damage types (stab, blunt, bite, etc) and sends a Violence message to the affected object with a damage type like so, as well as a damage severity value (working on the base 1.0 is the damage of a spear), a stun bonus (for items such as the rock that need a little extra stun on top of the very tiny blunt damage stun it does) and a momentum of the damaging force. Creatures can then either override this function and mess with it, such as in the case of the lizard "head shield" that bounces off spears, or just let the default virtual method run.
In the critter templates they have a basic toughness parameter which incoming damage is divided with, a basic stun toughness param which does the same for stun, and a list of all the damage types with specific fine tuning possibilities to create weaknesses/strengths against certain damage types.
On top of this, I implemented a system with "appendages" which are basically all the long parts of a creature. Before this, spears and rocks would pass through the necks or wings of vultures for example if they didn't connect with a "chunk" - meaning it was possible to very frustratingly get a spear throw that passed gracefully between a vulture's body and head without doing any damage.
The appendage system basically checks for line intersections between the "appendage" and the movement line of the projectile, and can detect a hit even if no chunk has been overlapped. Spears can stick to appendages, and poke out in the correct angle.
The system is very easy to implement for any creature, and currently I have it set up for a few secret critters and for the vulture. Where you previously couldn't hit the vulture's neck, you now get a nice double damage bonus for a spear to the throat, and you can also hit the wings.
I quickly set it up so that the vulture wings have a separate health state each, taking about 3 spears to be completely taken out. It's pretty tragic to watch the thing trying to climb and fly with a broken tentacle, but really fitting to the general Rain World mood which is supposed to have an element of more "realistic" lasting consequences of violence.
So far so good! Had a quick discussion with James about Daddy Long Legs and damageable tentacles, so might give that a go too before moving on. Otherwise the daddy is basically a damage sponge that feels no pain and can't be stunned, so even if all the tentacles might end up shielding the body completely it might probably be a welcome change to be able to take a tentacle or two out rather than not being able to affect it at all, haha!