For the past week, I've been focused on two things: resolving networking issues and creating an antagonist.
I hadn't tested the networking since the leap to lots of 3d, and an issue appeared. The client side networking was perfectly fine, but the host side was showing stuttering of connected players. I had made lots of changes recently for optimization and was really worried that one little line somewhere broke everything. It turns out that the problem is a little stranger than that.
I have to look more into how the threading is done but I've discovered that running a dedicated server (the game without sound and visuals) and connected to it, everything was perfectly fine.
Once I had all of that stuff handled, I created an antagonist for the game. I'm piecing together a story at the moment, but it is still in its infancy. For the antagonist to meet my standards, I had some work to do. First was creating the model, which is based on the old italian fascist headquarters.
Next was learning basic speech animation patterns that are used in cartoons to match the mouth to the sound. Once I had everything synchronized, I started adding other facial animations. I can control the eye size, brow angle and position, where he's looking, whether he's sad, smiling, or surprised, all within a script file. I also created a basic editor to help speed up the process.
Stay tuned, more coming soon!