Friday, February 06, 2009

EQII Update

Well, its been quite awhile since I've blogged about work. It seems that since November I've been working only on big projects that I can't talk about until they are released. Then, once they are out there, they aren't near as exciting to talk about. :)

Lately the team has really been focusing on performance optimizations to try to combat lag and improve overall performance both on the client and server. Josh (Autenil) has been making some great improvements to the server which should hopefully go out in the next week or so. Ryan Favale, our graphics guru, has been working on some really amazing things for the client but unfortunately I can't talk specifics. I was given the task to try to improve how our servers provision hardware for zones. Without going into too much detail, our zones are dynamically created when a player needs them and our server software determines which piece of hardware is best suited for the zone based on memory usage and CPU activity. This is working as it should, but I was able to make some optimizations that should improve this process a bit. Hopefully these changes will go out today or Tuesday and if all goes well we will see some improvement to the lag spikes.

Lately I've also been able to focus some time on improving the user-interface and provide more capabilities to the modding community. The group window was modified to include the pet health bar. The raid window was modified to include an advanced mode that will show detrimental effects for the entire raid. Hopefully these changes will help the healers out there. :)

One of the big changes that I made to the user interface will go out with GU52 and if all goes well, players won't even notice the difference. Currently, all of your UI Settings are stored in INI files in a binary format. Binary is the most efficient when it comes to space, but it can be a real pain to work with. I've recently modified the client to store the settings in XML format. The advantage from a code-standpoint is that its now much easier for us to add and modify the values that we store without breaking older versions of the file. Previously every change had to have a version number associated with it and the code had to be prepared for loading a file of any previous version number so we could properly deserialize the binary information. Now with the XML format, its much simpler. The big advantage for players is they can now easily see what information is stored there and manually tweak this file if they wish to. You can easily do things like remove pesky chat channels or modify the channel number that is associated with them. This change also paves the way for giving modders the ability to store custom data in the settings file for their UI mods.

In addition to these changes I've been quite busy with random bug fixes and improvements to the game. I'm also working on another "big" project that isn't due for release until GU53, so again, I'm being a tease and can't really talk about it. :) EQII has some of the richest lore in any MMO out there and one the most creative groups of players I've seen. I think it will be a very fun addition to the game.