So it turns out that my ingenious (not at all) quaternion implementation of bone animation works only kinda like I want, that is- It doesn’t work at all.
So I’m basically back to the drawing board with this stuff. And boy is it bugging me already. I read some tips around the net about this and as expected, there isn’t much help to get, you mainly have to piece together different peoples observations until you get how it works, and later (if you’re lucky) you’ll have enough material to be able to build it. You’re going to have to start somewhere, unless you’re some kind of a genius.
So right now I’m forced to rethink the whole routine of animation, thus I’m happy that I didn’t spend too much time implementing it. It shouldn’t be that tricky ripping it out of the engine and recoding it.
This also means that I’m going to build this into my own model file format, since I basically hate writing loaders for other formats.(I gave up on COLLADA .dae for now) It’s such a relief to know exactly what your engine does and why, also knowing you wrote it from scratch. It’s quite fantastic. 🙂
I’ve made a goal that I’ll try to achieve with this engine. It’s not a complex one, since I know what happens when you get ahead of yourself.
Get this: I’m going to make it support the same features as Phantasy Star Online. That’s a rather low shot for today’s standards, but just might be enough (or too much) for me.
To be clear. I’m not saying I’ll write a game like Phantasy Star Online, I’m saying that I’m going to try to replicate what the engine supports and go from there.
This, however, is not a simple task. Anyone reading this that has a remote idea of what work goes into a 3d engine should understand that. And for me being a one-man army is not making it any simpler. But that’s the way I enjoy learning things. 🙂
Since I have a fully functional (almost, at least) 2d engine, I started coding a framework for a 2d RPG. (Yeah. I’m switching from the 2d side-scroller tool pipeline I blogged about a few days ago.)
This is what I’ve got so far. This is after about 2 hours of work.
I decided to first code a pretty solid code for handling interfaces and HUD elements. I made this window class that uses a set of images (corner, border, fill and titlebar) to support any dimension windows. Though I’m having some problems getting the layers to update at runtime, so you can switch window focus (for example).
Yeah well. Back to work on the 3d renderer and bone animation. I’m really hoping to get this to work soon.