Wednesday, March 25, 2009

Catch up

The last few weeks have been stressfull with the clock never seeming to turn off. The main tasks I've been working on have been the Menu Systems and the sound. The menu's were probably the task I am most pleased with in terms of the way that the functionality managed to synchronise with Lua so well. The only major issue that came from the menu system was the lack of documentation on the Gamebryo GUI elements. A major flaw in our design in relation to using the gamebryo GUI elements was the lack of functionality in terms of a way to create some form of textbox or listbox. As this was discovered approximately 1 week into the coding of the menu's, (exposing to lua, implementing button functionality and renderering) the flaw in our ananlysis of gamebryos capabilities hit my time pretty well not due to a difficulty in converting the code but to trouble with building the Crazy Eddie Graphical User Interface into our project. I feel my experience and skillset when building and intergrating new middleware is good but CE threw a curve ball with the amount of dependencies required to build their libraries into a static lib (They release their static lib to import in their DLL). So therefore our project gained the expat, Freetype and PCRE libraries as well. The task ate my weekend but it was nice to only require about an hours worth of code tweaking to go from not linking or running with CEGUI to being able to use our menu's.

The Networking requirement of my tasks I've been able to set onto the backburner for a while now that I'm no longer working from a branch in SVN. Its much easier to edit changes quickly with the networking and manage any issues with the current build without requiring to reintergrate and rebuild the Trunk against the networking Branch.

Started working on the sound system this week and am able to get my sounds and sound engine to process while attached to our scene graph meaning we can update with the sound positional and velocity data efficiently. Unfortunately not a single peep has been made from my headphones these last two days.... and I'm still unsure why. I've dealt with FMOD before and have found dealing with their engine and docs nothing but a pleasure. One of the holdups as to why the sound took longer than a day to imlement was that I attempted to build against a LIB in Gamebryo that is not included in our version of Gamebryo "DOH", but after writting out the code to link this library I was left with a very over-the-top implementation of a sound system.... that don't work :(

Have taken on a few other tasks mainly to tidy up our codebase and work on bugs we have in our Mantis server. Bugs dealt with by me were the level shutdown and reload so that the player can exit a game and restart without exiting the application, The refactoring of some code in our environment class to seperate out our scene loading from the actual environment manager, while doing this I was able to also solve an additional problem with not all physX object we were loading containing a sorter on their void* userdata(I Think) so that our game won't crash when gameplay elements collide in our physX world and try to tell each other how to act.

No comments:

Post a Comment