Saturday, January 26, 2013

Guild Wars 2 January Update: WvW Culling & Loading Changes




(1)


Habib Leow, the Game play Programmer for Guild Wars 2, took to the official forums yesterday to discuss the first changes to WvW. It should be stated that these are the first of several intended improvements and have no doubt involved a great deal of work by the programmers residing in ArenaNet's offices. Rather than me attempt to detail what these changes are, I've posted below Habibs forum post, as well as the follow up response he made. I can't wait to see the changes in action!

In the January update we’ll be making a couple of preliminary changes to WvW.
The first of our engine changes will be coming on line to help improve character load times by using fall back models.We’ll also be switching over to the culling methodology that we trialed in December.

The engine change we’re making uses fall back models to represent characters until their detailed models are fully loaded. The fall back models are cached so that they can display without any asset load delay and there is a distinct fall back model for each race/gender/armor-class combination. As a result of this change players will be able to see characters represented as fall back models as soon as those characters are reported to the client. Once the specific, detailed model for a given character is completely loaded from disk the fall back model will be replaced with the detailed model. This visual compromise will help to ensure that players see other characters as quickly as possible in WvW. Please note that this change does not eliminate delays due to culling, it only addresses delays due to asset load times. Players on higher spec machines would therefore expect to see fall back models less often than players on lower spec machines. This change also lays the groundwork for more extensive uses of fall back models in future updates.  buy or sell GW2 items

In December we ran a one matchup trial of an updated culling system. Based on all the feedback we received, both during and after the trial, we will be transitioning to the updated culling system that we used in the trial. This update allows the culling system to handle allies and enemies separately so that being surrounded by a group of allies will not impact the culling of enemies (and vice-versa). The general consensus after the trial is that this system lead to a better player experience in WvW. We further saw that some of the issues people had with the new system were related to asset load times rather than culling issues so making this change in combination with our character loading improvements should lead to an improved overall experience. It is important to note, however, that while we believe this change is an improvement to the WvW experience it does not fully address the issues with culling and we are still working towards our goal of removing culling from WvW completely. This change is intended to give players an improved WvW experience while we continue work on our more comprehensive solution.

While this update only contains a couple of visible changes to WvW it lays a lot of important groundwork for future updates. We have some exciting changes coming and this update is just the beginning!

Second Response
Hi all, I think a little more explanation is in order.
First, let’s call the culling system that we’re switching to “affinity culling” just to make it easier to talk about. Under affinity culling the system handles enemies and allies independently. This means that the maximum number of allies that you can see under affinity culling is 1/2 the maximum number of characters (combined enemy & ally) that you could see under the original culling. Ditto for enemies. In exchange for that cost he benefit that we get is that running with (or through, or past) a large group of allies (e.g. a guild) won’t prevent you from seeing the enemies who are closest to you.buy or sell Guild Wars 2 gold



During the initial trial of affinity culling we found that a number of players reported asset loading issues that were highlighted by culling. Any time that your client is aware of another character at all (dot on the map, targetable in world, nameplate is visible, etc.) then culling is no longer a factor because that character has already been reported to your client. In that case if you can’t see the character the issue is one of asset load time. The fall back model feature which is shipping this month directly addresses those issues by providing a cached model to show immediately when the character is reported to the client.

The order of operations looks like this:
1) Character X enters player’s visibility
2) <delay due to the mechanics of culling>
3) Server reports character X to client
4) <delay due to asset load time>
5) Character X full model is visible on-screen to the player

Using fall back models we end up with this instead
1) Character X enters player’s visibility
2) <delay due to the mechanics of culling>
3) Server reports character X to client
4a) Character X fall back model is visible on-screen to the player
4b) <delay due to asset load time>
5) Character X full model is visible on-screen to the player

As you can see we've made the asset load delay unimportant (or at least less important) and allowed the player to be aware of character X sooner (in some cases quite a bit sooner).

The combination of affinity culling and fall back models provides a better experience than affinity culling alone. Even so, the affinity culling is not intended to be our last change to the system, but rather to hold players over until we can make more extensive updates to the system (which take time to implement and test). In future updates we’ll be making changes in an effort to eliminate the delay due to culling (step 2 above) and to tell each client about character X as soon as the server decides they have become visible again. We hope to do this by removing culling completely and preserving client performance though a mix of network and engine optimizations, the more extensive use of fall back models, and sundry wizardry. MapleStory Mesos  buy or sell Vindictus items

As I've said in the past our ultimate goal is to remove culling and we’re pushing hard to make that happen. This update represents the first steps in that direction and much of what it accomplishes is to lay the groundwork for our upcoming updates. The next few months are an exciting time for us on the WvW team and we’re very excited about the changes are coming.

No comments:

Post a Comment