Tuesday, January 29, 2013

Developers Log. Development Date 72. Animations and Profiling

Woops, forgot to blog last week. I blame the respiratory virus that had me in bed all week.

The first issue I addressed was animations. Our animations have been really glitchy. They would reset halfway through and/or flicker. I finally allocated time to go figure out why. It was a simple fix once the bugs were found (related to a poor implementation of a student last semester of my animation code and some blending animation code from the Microsoft education catalog.) Essentially some animations would be called to play twice or reset mid play-through. 

Second I found a profiler to help us identify where our draw and update calls are spending most of their time. It seems pretty solid but has awkward interface controls, so I lightly wrapped the controls to allow us to toggle the display on and off, enabling us to turn it on when we need to check what is going on when we start to see performance hits.

Lastly I worked on some scripts to help convert a level created by one of our artists in Unity to fit the format we have designed to be accepted into our content pipeline. Within a few clicks all of the prefabs become converted to the format now.

Tuesday, January 15, 2013

Developers Log. Development Date 58. A New Year!

With the end of alpha I never found time to return to the blog before the semester had ended, and had no ambition for blogging amid the Holiday break. With the spring semester of my Senior year here, it is time to rekindle the blog for our XBLIG game (current code name: "Ninja Avatar: The Trials.") Despite being MIA in from the blog over the past few months, I continued to work on the game.

I took advantage of the break to work on a some Unity3D scripts for the editor allowing us to harness the power of control and ease-of-use unity offers for level and prefab creation for our XNA level creation. The artists can now create a model, then use unity to set up custom collision walls, and save it as a custom xna prefab. They can even use the same model (and different ones) to build a collage of models into one prefab. (When loaded in xna it still only has to load the fbx just once, however.) These models are used for the level creation. Both the models and prefabs use xml serialization. On the XNA side we will simply reconstruct the prefabs as we build each level. This will greatly improve our performance and ideally our level creation/maintenance time. It was also key for quest/objective design for the levels.

Since the semester started back up ago last week, I have been adding some functionality to the tool such as an opacity slider for the display/collision models. I've also fixed several bugs and cleaned up the process the user has to go through to make it a more smooth experience.

In addition to working with the tool, I've been working on tightening the controls for the game. This game absolutely needs tight controls, and they just aren't there yet. I've spent some time with Overgrowth (an indie game under development involving light parkour) observing the controls hoping to get a better feel for what makes something feel so good and tight.

Additionally, in my spare time, I began doing some research for prediction and smoothing for out networking side of the game.