Spellcaster Studios

Make it happen…

Alive, but not much…

Well, it’s been almost one month without updates… Reason for that is simply we didn’t have time for any real development on Grey… All of us have full-time jobs, and all of us had a really heavy month, work-wise…

Work has not stopped completely on the game, we simply don’t have anything interesting to say on the subject…

Rincewind finished the new model for “Grey”, but we can’t show it in the game yet because while updating the resource library of the SurgePlayer I found a bug that I want to address before moving onwards… I could do a manual replacement, but that defeats the idea of spending on having a full, complete editor… specially if I have it my way and we end up releasing it in the future; I don’t want to release something that has bugs…

Anyway, I found that the way the bone/skeleton system works in my engine is terrible for resource updates.

Currently, there’s no “strong” relation between the skeleton, the poses and the mesh itself… This means that theoretically, you could use use any pose on any skeleton, and on any mesh… I say theoretically, because if you use a skeleton that wasn’t intended for a specific mesh, it will just break down all the transforms (you can do it, but you need something called a retargeting, which in fact actually builds a new skeleton/poses). There’s all sorts of dependencies between these elements (mesh/skeleton/pose), but the engine didn’t acknowledged them in practice, which meant that when you update one, you expose yourself to a whole world of problems if you don’t update the others properly… And that was what was happening…

Old Grey model had 49 bones, the new one has 47… and just this small difference would cause the whole system to crash…

I tried building some workarounds, notifying the pose that the skeleton has changed, but that just caused a huge cascade of events (another inefficiency: all poses/keyframes store a pointer to the parent skeleton… and I have thousands of frames per skeleton!), and it really was just a patch…

So I decided to bite the bullet and rebuild the whole bone system from scratch, making the ties between the elements stronger and less error prone (and I’m taking the opportunity to make them faster to load and more memory efficient)…

This means that I currently have a full offline engine (can’t even compile for now), will have to do a tremendous amount of work to support the old resource loaders Reality 2.0 and upgrade Reality 3.0 to 3.1 (besides keeping the compatibility with the old assets: doing an automatic conversion tool would just be sloppy and probably harder than just fix the issue)…

So, I don’t expect I’ll be able to get this up and running in the next couple of weeks… work is kind of insane at the moment, finishing a lot of projects and revving up to start new ones, besides an impending move to a new office… But we’ll all do our best… except for the bugs (this one was kind of unexpected, but most bugs are) and the UI system (which I had some great ideas for, due to the current project I’m working on for DayJob), most technology should be ready to go and I’ll be ready to work on game logic…

Yeah, yeah, famous last words… Smile

Comment