Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Tags - Modified base system, made basic Skeletal system, added BrokenBone effect. #2
I made a basic Skeletal system which has a "bone hp" per part used for tracking the
I have only defined the "left leg" and "right leg" as having bones now, because the next step is to introduce a slowing effect based on the severity of the
For testing :
When the HP drops below a certain percentage of the maxHealth, BrokenBone effect will start to be introduced, which can be checked using the command
The BrokenBone effect will also slow down the player by a percentage depending on the severity of the effect.
Edit: Added speed change on
added this to In Progress
in GSOC 2017 - Anatomy System and Genome integrations
May 30, 2017
Very nicely done! I can confirm that this tests out and works great! :-)
It is indeed nice to see this in action, and it is a huuuuge help in better formulating design thoughts. I see both pros and cons with this approach, and have been putting a fair amount of thought into it, but will have to probably get into the details on Slack sometime. Haven't quite had the time tonight to put my thoughts into a coherent response :-)
Will submit one thought in a separate comment here in a moment
The one angle I'll mention for now: the tagging system here is quite different from what I had in mind, but to its credit it works, which is more than you can say about my hypothetical design :D
The next challenge after that: how would you also apply bone details to the deer? What about when there are a hundred different creatures? The player is unique as it is essentially the only target you know will be there, so it makes sense to delta. Where would a bone delta for the deer go? There are places where it would work for sure.
By linking an AnatomyX system to its own definition component you introduce a need to actually define it separately, which gets tricky when you scale out. Imagine a hundred creatures and a dozen different AnatomyX systems in each their own module. I'm not saying that's how we should organize it, but doing so would become impractical very fast, and I'm not sure what our options are. Very curious here for feedback from @xrtariq2594 @mjuvekar7, and others
The tagging system I had in mind moves the entirety of the definition challenge to a single
The goal with that would be to semantically describe the body to whichever level of detail the author desires, without ever explicitly invoking any functionality directly (that's what I meant with everything being plain string "tags"). It could even be extended to later show what's connected to what via nesting, although that gets really complicated and should probably be ignored for now. Another utility element would be adding templates or archetypes (much like damage type prefabs) that describe typical limbs like "HumanoidArm" so you don't have to repeat yourself, you can just use a short form of
Like you have it now in
That's where your approach has an advantage - you are mapping the parts exactly and including extra details like health, magnitude of effects, and so on. My silly little example is way more basic and just lists some vague things like "mobility:5" meant to indicate that the part plays a role in whatever "mobility" might mean, and that its weight is "5" - likely every part contributing to "mobility" would have their weights added together and that's how you'd figure out how problematic damage to a leg with "mobility:5" would be.
Exactly what "bone" or "mobility" would ultimately mean is left up to AnatomyX authors. So you could have the bone breaking system focusing on combat or falling damage leading to broken bones and reduced movement speed. You could have a completely different system that also cares about bone, but to model the long-term effects of arthritis on how readily you can perform fine hand gestures (crafting speed) based on agility, dexterity, or some other "ability"
Okay this got a little long anyway - consider it a brain dump, not directions! :) More later on Slack sometime I figure. Your approach as written does work wonderfully so you've got more than I do!
One final note: For effects