Tuesday, May 13, 2014

A little bit more about the zone bleeding bug

During the past few days quite a few addon updates has been released, addressing zone saving bugs. If you are interested, here is what happened and how the bug will be dealt with.

As the community provided data dumps started to flow in I noticed strange names popping up in inappropriate zones. Investigating the issue revealed that the Jabbithole addon was not always referring to the current game zone internally, assigning NPCs, path missions and alike to the wrong zone. The root of the problem was a lazy game event propagating zone changes, that sometimes occurred a lot later than expected, and the player was already interacting with game objects while the addon thought that the current zone is still the previous one.

This issue taints the game database with a few invalid objects, so there were two options. The drastic method would have been to ditch all the user contributed data and wait until clean information starts to flow in and start using those for input. Since most of the data was intact and contained a lot of useful information this approach seemed like throwing out the baby with the bathwater.

The second option (which has been chosen) utilizes the fact that the game is still in beta and there are many invalid, obsolete and soon-to-be-removed game objects in-game anyway, and those will have to be dealt with somehow too. The solution is to mark the imported game objects with the last game version they have been seen in, this way we know in which game version an object has been added and we also know if it has never been seen in-game since then. This is what will make it possible to get rid of obsolete data along with a few invalid data impacted by the zone bleeding bug.

Keeping an eye on the user submitted data made it possible to catch a nasty bug, luckily when we are still in the middle of the open beta.

No comments:

Post a Comment