Whether you know or not (or care), I've been working on a commercial game. For this game I needed to create a bone animation system and I've gotten the hard part done, which is calculating rotations from any number of bones and points. The next part is to make a bone-based model and to give it animations (not really hard at all but should be very time consuming).
Even though I plan to sell my game, I still plan on releasing an editable of the bones animating code along with a tutorial. That is, if anyone is interested.. ? I'm willing to offer this out because I know how extremely frustrating it has been for me to learn how to do bones animation in Game Maker (REALLY frustrating), and I think people could really use this if they wanted to make a 3D Zelda fan game with Game Maker.
I guess I should show what I've done in my dev test:
(Ignore the horrid shading, low res, and the graphical fighting. These will be remedied when it matters.)The green joint is the origin point of the model. The red parts are the main set of bones and the cyan bones show that a set of bones can branch off from any joint.
Basically, the only thing this can't do is have circular joint connectivity, which is completely unnecessary anyway. If you wanted to make a human with realistic movements, this would work just fine.
I should note that this bones animation engine is using ONLY the d3d functions. I'm not using external scripts to load in models or anything. The reason why is because I wanted to figure out the basics and make something simple so that people can learn. Also, I just want to test how far I can go with only using game maker's d3d functions. I'm betting it will kill the cpu (because I believe the d3d functions don't use the gpu) and that I'll have to move on to a more efficient method that isn't so hard on the cpu. But still, this should be pretty useful if anyone wants to make a 3d fan game with Game Maker.
Actually, I'm planning on making a model of Link as a test, so that it might serve the community in some way. I'm shooting for Link to be able to walk, run, jump, block with his shield, and swing a sword in various manners. Of course, since I'm using bones, I can easily make link walk or run while blocking with the shield or while swinging his sword and I don't have to have "frames" of animation, like, "run with shield block" and "walk with shield block". Instead, I can simply have "run", "walk", and "shield block", as the legs will do their thing, not caring what the top half of Link is doing (unless I want it to). The animation is actually even more open than that, but I'm sure you get the idea.
Bones animation gives me more freedom to have smooth animations and more realistic movements, depending on how well I set up the bones and how much time I take in rigging it, etc.
If anyone has feedback or questions, feel free to shout out.