Creating a MOBA phenomenon: Arena of Valor

Tencent leverages Unity to meet a huge opportunity for mobile gaming

Tencent Games: A Unity developer case study

How does one of the gaming industry’s most-prolific publishers sustain its success as it adapts to different platforms in vastly different regions? After Tencent Games acquired LA’s Riot Games and its League of Legends, the most popular PC game worldwide, Tencent went after the Chinese mobile market with a new game and IP: Wangzhe Rongyao. Translated as Honor of Kings, it quickly became a top iOS and Android download with over 200M daily users generating almost $2 billion in 2017 alone.

  • The project

    Bring the immensely popular MOBA genre to mobile with a new game and IP

    Watch trailer

  • The goal

    Reach masses and eSports arenas with a competitive MOBA

  • Platforms
  • Project staff

    150 during development and ongoing operations

  • Company

    ~45,000 employees

    HQ: Shenzhen, China

Bringing a MOBA to mobile for huge benefits

Having conquered the Chinese market, Tencent reconfigured Wangzhe Rongyao with characters and settings for Western markets and launched Arena of Valor worldwide in late 2017. It subsequently won numerous music awards and Best Competitive Game at the 2018 Golden Joystick Awards. And with over 10M daily active users (DAU) playing concurrently on one of Arena of Valor’s busiest days, it’s on track to continue Tencent’s winning streak.

Used by Tencent studios worldwide, Unity has long been an important part of Tencent’s success. To start, Unity helps them publish multiplayer online battle arena (MOBA) games like Arena of Valor on many platforms with multiple localizations. To accomplish this enormous task, Tencent maintains these core principles: ensure performance comes first; measure everything from triangle/particle numbers and UI/LOD models to code changes; make sure all components such as scene objects, characters, particles, and sounds are scalable; and, test the entire build thoroughly before every release.

The results:

  • Stable and reliable workflows across three development teams and numerous test groups
  • Asset Store packages reduced the amount of custom tooling needed for the game’s release
  • Successfully managed different versions of the game with Unity, including 9 different published versions for mobile and console

Ensuring broad device/region support

Mellow Yue, Technical Director at Tencent, said, “With Arena of Valor, we need to support a lot of different hardware configurations in many different countries, and Unity makes it much easier to get the consistent performance we expect.”

For example, Tencent adjusted graphics details based on particular hardware configurations, taking into account parameters such as CPU/GPU temperatures, clock rates, average frame rates in the last five seconds, and actor-nums in camera. According to Mellow Yue, “The strategy is complex and can be tricky, especially with so many Android devices. But the goal is simple – to balance the graphics and the frame rate.”

Tencent also collaborates with a number of manufacturers who provide device APIs. This enables querying hardware status to adjust the gameplay as well as adjusting hardware resources (for example, CPU/GPU, network, IO, and RAM) to ensure the best player experiences regardless of the device.

Rigorous testing is essential

According to Mellow Yue, here are Tencent’s key steps for ensuring optimal performance during the development cycle, especially for a title of this magnitude:

  • Automatic routines when importing game assets to check that they comply with the game specifications (for example, the number of vertices of a 3D model or texture size)
  • Daily full-resource checks on the build machine to verify dynamic elements such as particle effects
  • Daily 5v5 fixed hero/AI tests to detect any performance drops from code and UI changes
  • Many automatic 5v5 matches using new content, whether it is a hero, avatar or a level, with retests after any modifications by designers or artists
  • Everything tested on a prerelease server with 50-100K players

For localizations, Tencent maintains a text map for each language to help ensure that text regions accommodate multiple languages with different word lengths. To manage audio, they use Audiokinetic’s Wwise program. And for localized images, Tencent separates resources into different folders with {LANGUAGE}/ prefixes. Mellow Yue added, “Chinese, Korean, and Western versions tend to share the same source-code architecture, but the game design and art differ a lot between the East-Asian and Western versions.”

Readying a release includes real-world playtesting

As Arena of Valor neared final QA, the team spent several weeks competing in the game to fine-tune gameplay. Then they tested it on the prerelease server with over 50,000 players to collect statistics such as kill/death/assists (KDA), damage made/taken, healing made/taken, and win rates. “We make most of the parameters hot-patchable so we can quickly release a correction after adjusting things like skill mechanisms,” said Mellow Yue. “Designing and iterating on a hero can take from two weeks to six months, and it’s definitely more challenging now that we’ve got 70+ heroes!”

According to Mellow Yue, Unity was a favorite resource for developing Arena of Valor. “Our best talent is quite experienced with Unity, and this helps us keep a stable, reliable workflow. Unity’s also very user-friendly, so the less-experienced developers can quickly get up to speed.”

The team also relies on the Asset Store, which has provided important Unity add-ons like TextMesh Pro (now part of Unity through the Package Manager) and third-party tools such as A* Pathfinding Project Pro and Easy Movie Texture. It also includes several Tencent custom tools like Behaviac (a behavior tree asset). “It’s nice to see Behaviac getting four-star reviews,” enthused Mellow Yue.

Upgrading to the latest Unity version with Enterprise Support

In a company the size of Tencent Games, having a common platform to coordinate large projects and teams is a real necessity, especially considering the complexity of different localized versions and different publishers. Tencent’s Chengdu team maintains the Chinese version of the game while the Shenzhen team is focused on versions for other markets.

Since they started development with Unity 5, Mellow Yue is planning to upgrade Shenzhen’s team to a more-recent Unity version, the same one that was used for the Switch release (see below) and maintained by Tencent’s team in Shanghai, “It’s been more than two years since release and upgrading our version of Unity will give the game a big visual boost.”

Unity’s Enterprise Support is a key partner to make the process smooth. Mellow Yue appreciates the assistance Enterprise Support provides during development, “They helped us back-port a multi-threading patch that we needed in the development-locked version.”

Making a big Switch

The Switch hybrid portable/console has become an extraordinary success for Nintendo, breaking sales records worldwide. Accordingly, Tencent made an early decision to launch on the platform, releasing a Switch version of Arena of Valor in the fall of 2018, and it now has over 1M installs. Porting the game required nearly 30 programmers, artists, designers, and Unity.

The team used a mix of existing and new elements for Switch, porting localization resources and many assets from the mobile platform. For the rest, they developed new components for the file system, memory manager, and user manager, refined battle scene and character art, and rewrote portions of the shader. Alex Jin, Technical Director of the Switch version noted, “We were able to do some great things with the Switch platform, especially with graphics, and Unity was a tremendous help. We’re working on cross-play with other mobile versions, keeping in mind that the console game’s content is unique in many respects. For example, heroes have different stats.”

Tencent has a rigorous approach to ensuring quality and reliability at every stage of game development. Assets are double-checked before importing; each and every modification is reviewed; developers compete as part of QA; and, over 50K players help Tencent optimize gameplay before release. This discipline combines with the creativity of Tencent’s artists and game designers – plus help from Unity features, Enterprise Support, and the Asset Store – to deliver one of the world’s blockbuster MOBA games, year after year, on multiple platforms.

Mellow Yue, Technical Director, Tencent Games

“With Arena of Valor, we’re supporting many different hardware configurations in a lot of different countries, and Unity makes it much easier to get the consistent performance we expect across them all.”

Mellow Yue, Technical Director, Tencent Games
Alex Jin, Technical Director, Tencent Games

“We were able to do some great things with the Switch platform, especially with graphics, and Unity was a tremendous help.”

Alex Jin, Technical Director, Tencent Games
Mellow Yue, Technical Director, Tencent Games

“Our best talent is quite experienced with Unity, and this helps us keep a stable, reliable workflow. Unity’s also very user-friendly, so the less-experienced developers can quickly get up to speed.”

Mellow Yue, Technical Director, Tencent Games

We use cookies to ensure that we give you the best experience on our website. Visit our cookie policy page for more information.

Got it