Spellcaster Studios

Make it happen…

Bone system refactoring

I had one of those “I’m just changing this, it will have no impact…” moments which I deeply regretted some two weeks later…

I decided I wanted to change the XML format of the editor file slightly, to improve loading speeds and to make the hot-swap of resources simpler… in the process, I decided that the skeleton, bones, keyframes, etc should be solely owned by the mesh itself (since using a skeleton on a different mesh requires a process called retargeting, which effectively creates a new skeleton or at least new properties, so a new object). Anyway, while I was at it, I decided to couple the mesh materials and textures more closely, and in the process I broke half the engine and had to painfully rebuild a lot of code, resulting in a full refactoring of the skeleton system and others…

So now, after two weeks of work, I have nothing new, but what’s under the hood is better and more efficient, which is quite frustrating…

Anyway, when you work on bone systems, you run into inevitable bugs, which are always good for a chuckle:

bug_skeleton

In movement, it’s even more freaky and kind of reminiscent of the creatures in Dead Space… Smile

Anyway, I actually fixed that pretty quickly:

bug_skeleton_fixed

Then, I could (finally) test the resource switch, so pressing one key, a new asset is replaced (while the animation ran, etc) for the new model of Grey:

skeleton_reload

Yes, extreme blur so you can’t see it yet… Want to try it in game first… Smile

Anyway, after I did this in a stand-alone application, had to upgrade the whole editor to support these new functionalities (and the new texture object)…

After that was done, time to turn to the Player, which signified some more hours of work (since I didn’t recall half of what I’ve done there, after 3 months of not messing with it – the joys of hobbyist work), but I finally have everything running again…

Next steps is getting the new Grey in game, and build a new UI system, leaning on what I’ve learned lately on my Javascript front… I’m going to build a CSS-type system for the UI elements, so that multi-resolutions/aspect ratios can be supported easily, without changing any code (or a minimum amount, at least)…

On my DayJob, I’m preparing a move to a new office space (closer to home, which will enable me to work a bit more on the game), so hopefully after September, work will really pick up speed…

See you guys on a future post!

Comments

Comment