I return, full of vip, vim, vigour and vampire babies!
I’m pretty sure my return to the lands of the self-motivated was prompted by a visit to the Tvtropes page for Dwarf Fortress. It’s strange how inspiring reading about Dwarf Fortress can be, especially given that I’ve never been able to actually play it for more than a few hours before giving up. Maybe it’s just my inferiority complex kicking in: I always feel like Species is an order of magnitude too shallow after reading about all the things DF does, which compels me to work faster to get the game to a state I’m actually satisfied with.
Work is still centred around getting the skeleton to fit the creatures exactly: I’ve got the rotations, but I’m having a basketload of trouble getting the lengths of animated bones. You’d think that’d be easy, but I’m having trouble working out what aspects of the bone matrices refer to what physical attributes.
(Edit) worked out the problem. I was multiplying the bones in the wrong order. Note to future self: multiply from the leaf bones first.
I’ve revised the plan for the skeleton heirachy in a way that, unexpectedly, is more radial than symettrical.
This should be a lot easier to code: force propogation becomes a one way street from the limbs to the stomach, and I don’t need to try and work out how the limb forces interact along the spine: I can just apply them directly to the hub and work out the equilibrium from there.
As you can probably guess, it’s also a step towards more versatile body plans. Necks, tails and limbs are still predefined objects, but as their base class absorbs more of their functionality, it will be much easier to turn them into a more generic “link” class that can be attached anywhere.
* * * * * *
With the skeleton finalised, it’s time to start working on the forces.
Heh. Comedic overreactions aside, it’s not that complicated. Most of the black arrows are bones, while the others are coloured by which bone they are acting upon. The first of each coloured arrows are mass forces. There are second arrows of some colours: these are Apparent Forces, or the forces *other* bones apply on their parent bones (for example, the disembodied yellow arrow is the force the limbs are applying on the shoulder bone). The three large vertical black arrows are not bones: they’re simply Apparent forces on the root bone, which is black and located in the center of the stomach.
Okay, maybe it is that complicated, but I swear it makes sense.
Oh, and I still need to add reaction forces at the ends of the limbs.
* * * * * *
The next step will be converting these raw forces into relevant ones: namely, compressive strength for each bone, and torque for each joint. In theory this is already done, but I haven’t visualised it yet, so I can’t confirm if it works.
With those in place, the game will finally have a framework by which to establish whether a creature is balanced or not. And if it’s not, it will have to expend energy or health maintaining its implausible body plan, which will encourage creatures to obey the laws of physics to avoid paying this price. I’m really looking forward to seeing that: practical restrictions should make the game feel much more physical and viscerally accurate, rather than the anything-goes abstract weirdness we have at the moment.