World vs. World:
The End of Culling

by Habib Loew on 13th March, 2013

Sans culling

If you’ve ever played World vs. World in a large group, you’ve probably noticed that there were some enemy players that you couldn’t see. That was an unfortunate side effect of a process called culling. I’m pleased to announce that in the upcoming patch on 26 March, we’re going to turn culling off completely in WvW. This will make invisible enemies (except those using invisibility skills, of course) a thing of the past.

How different of an experience will that be for WvW players? I think these before and after screenshots make it pretty clear:

Culling ON

Culling OFF

So What Is Culling, Exactly?

Normally as you move through the world, any character (either an NPC or another player) within a fairly large circle around you gets reported to your client. This lets the client draw the character, allows you to select the character as an attack target, etc.

In order to cut down on the network resources that were used by the game and to reduce the client-side system requirements, we implemented a culling system, which imposed a limit on the number of characters that could ever be reported to your client. This meant that only the characters closest to you would actually get reported.

“By removing culling, we’ve been able to […] greatly increase the epic feel of large WvW battles.”

While this achieved our goal of limiting bandwidth and client-side resource utilization, it had the unfortunate side effect of causing large battles in WvW to be confusing, as there were sometimes many enemy players that were completely invisible. Additionally, there were side effects of culling which could result in stealth characters getting up to two seconds of additional invisibility when coming out of stealth. By removing culling, we’ve been able to eliminate these negative side effects and greatly increase the epic feel of large WvW battles.

For the sake of clarity, I want to make a distinction between our usage of the term “culling” in this post (meaning to limit the amount of data the server reports to the client) and other uses of the word “culling” related to graphics (discarding backward facing triangles in models, triangles or whole models that are occluded, etc.). Our changes are to the client/server culling and have no bearing on basic graphics operations in the GW2 client.

A World vs. World without Culling

Now that every client will know about every character within range, we’ve provided a new set of WvW options to control how all those characters will be rendered. Setting these options should allow players with various hardware configurations to enjoy WvW at a reasonable frame rate.

Under the new system, characters can be rendered in three different ways:

  • High resolution models – These are the high-res character models that you’re all already familiar with.
  • Lower resolution fallback models – These are the models that we’ve been using as placeholders in WvW while the hi-res models load. They differ depending on race and armor class, though human, sylvari, and norn share the same model.
  • Nameplates only – We don’t render the model at all and instead only show the nameplate for that character.

We’ve also added two new options to allow players to select how WvW characters are displayed:

  • WvW Character Limit – This controls how many of the reported characters render with a model and how many are rendered only with nameplates.
  • WvW Character Quality – This controls how many of the characters rendered with a model use the high resolution models and how many use the lower resolution fallback models.

The World vs. World team has been working on this change for quite a while now and we’re very excited to see it go live. Epic battles have always been a part of WvW and now players will get to experience them in their full glory!

We’ll see you on the battlefield!