Getting the character graphics to come out of the pipeline took a lot of hair pulling, but nothing compared to getting the animations to rebuild correctly. In fact, I barely remember the issues with the character graphics.
Maybe that is because I haven't written in 10 days. Of course, I don't remember what I ate yesterday either, so much of my poor brain has been filled with all things related to animations that there is scarcely room for much else.
Lack of progress is awful depressing, but when the breakthrough finally.... breaks through, it almost feels like all of the insanity was worth it. Almost. The problem is, none of this should have been an issue in the first place.
Your code cannot break me...
All I wanted to do was put a spaceship in my game. A spaceship that flies, and maybe makes some noise and has some cool blinking lights and glowing engines. I didn't think it was too much to ask. Of course it was no big deal to drop an entity into the world editor. If I used the precompiled asset packs that came with the game engine ( compiled between 2005 and 2006... ancient stuff ), the animations and particle effects would work, and my spaceship would fly. The problems began, however, when rebuilding the assets with the pipeline.
I had noticed a while back that the animations seemed a bit jerky, and some animations didn't work at all while many core animations did. I did not think much of it at the time, but now it was obviously a symptom of the broken animation syndrome I was experiencing. So I set myself to testing everything, stepping through code, comparing compiled outputs in a hex editor... and this went on for over a week. Nearly 90 hours were spent trying to figure out why animations that should be working, were not. And then the revelation happened.
The hip bone's connected to the... wait, its not?
As I had been absorbing the source of the server, tracing through the client, and reverse engineering the data written by the tools and read by the client, a sneaky suspicion began building. Finally that suspicion quit sneaking around and finally bopped me in the head. As it turns out, there was a major disconnection between what the server and client were expecting, and what the tools were producing. In fact, it appeared as if the source regarding the animation system was in the middle of an overhaul, and never finished. The server code was aware of around 130 animation states, but the tools were set to build around 280. Not only that, but the server was capable of playing back the animations above what it had enumerated... as long as they were serialized in the proper order. The tools did not serialize in the order that the engine expected. Thus, most of the "base" animations ( the 130 that were enumerated in the server code ) worked, but anything outside that was broken unless the animations just happened to fall into the right place somehow. Even some of the base animations were written out of order.
At that point I was somewhat relieved that I had finally figured out the problem. I decided it was not worth getting upset about, or shaking my little fists at the sky and cursing fictional deities. Although I did in fact do just that, for a little while... but it was time to fix the broken machine!
It took me two days to fix and test the changes, and I am happy to report that after these last 10 days of insanity, my build pipeline successfully compiles properly working character graphics, particle effects, and animations. Considering all things ( including the lack of working files in the code repository ), its a fair bet that I am one of very few who use this engine that can say that.
The operation is far from over, doc...
I am getting ever closer to the point where I can concentrate completely on world building, but I am not quite there yet. I am weaning my client off of the precompiled assets, one system at a time. At this rate it would seem like it will be at least 2 more weeks to have my client running completely on assets built from the pipeline, but I am not going to make any bets on that.
This weekend I am taking a break from the insanity, and instead working on a little card game my sister came up with, to be included as a casino game inside Mythaka. She told me some rules she dreamed up, and I made a little simulation of 4 players playing it. Tonight and tomorrow I will be turning it into a single player vs NPCs game, and from there fix it up so that it can be played multiplayer as it will be inside my MMO. It is a nice little distraction to give my brain a little cool down until I am ready to get back into the pipeline systems.
Hopefully it does not take me eons to get around to writing again.
Looking forward to having another round of progress to report,
the Undead Dev