25 March 2010

Vivox integration

This post somehow follows the one about communication channels of February 2010.

Dana Massey explains that voice-chat features can help consolidate current player bounds and introduce newcomers. integrated voice chat has enhanced their experience in a range of ways. It makes playing the game easier and more fun, it strengthens the bonds of community that really keep people in a game over the long term, and helps them ease new players in their worlds. These are the cornerstones of every online game. It’s time for developers to break down the barriers to entry and make it easy for people to make real connections in their online worlds. The Vivox system seems to be a technically interesting voice-chat feature that boasts answering these issues.
Disclaimer: I have never worked at Vivox and I have neither been bribed nor received pressure to talk about their system.

Overview

In a nutshell, Vivox relies on VoIP and increasingly higher-bandwidth telecommunication systems. The whole list of their features can be found in page 2 of their Tear Sheet. They provide a Vivox SDK that lets developers integrate one-on-one and group voice chat, the ability to see when your friends are online and in game, and links to other IM networks as well as 3D positional audio, out-of-game connections and voice fonts into the game. (Although I do not know if what Vivox provides is a true SDK or simply a complete API, I will keep writing SDK.) This bunch of features is supposed to bring interest among developers, particularly if they allow cross-platform communications: Vivox is, after all, a telephony company. The social real-life impacts are enormous: you can stay part of the raid planning even when you can't run the game itself. In other words, players are more and more hooked up to the game.

Integration process

Vivox provides a phased integration of their system into existing MMOG: three major steps are followed one after another.

  1. Anonymous website-based voice channels (do not require user authentication): no more hassle for the user with Ventrilo or Teamspeak The solution is fully managed and supported by Vivox - you don't have to run your own communication server anymore.
  2. Authenticated website-based voice channels enabling game logics and roles (groups, guilds, etc.): Mapping game roles to channel rights by integrating with the game, we can match the communication hierarchy to the command hierarchy, so that raid leaders or fleet commanders are automatically mapped to the communications infrastructure.
  3. In-Game voice features. Players can begin a conversation on the web and transition to the game, and vice versa. In EVE Online for instance, Vivox is integrated inside the game features: Richardson’s team leveraged Vivox’s flexible tools to tightly integrate voice chat into EVE Online’s existing controls, social structure, and game situations, considerably enhancing ease of use and immersion relative to the third party applications many players were using.

Their white paper from January 2009, explains how Vivox partners with the MMOG developers.

  1. Kick-off meeting leads to specifications and introduces the SDK to the MMOG developers
  2. UI design. In their top-down approach, the earlier it is fixed, the shorter the development cycle.
  3. Wiring calls to UI stubs consists of connecting the Vivox calls to UI elements
  4. Testing is based on test-cases

Extra calls

According to their white paper, Vivox can create peering relationships between game titles, or allow publishers with multiple game titles to open up voice communication among the players of multiple games. Vivox can also provide links between your virtual domain and the “real” world through connections to mobile and fixed phones. I do not know much about telephony, so I only show two high-level sequence diagrams of what I think happens when a group is created. The first diagram is in a traditional Vivox-less game.

The second diagram below shows the case when a Vivox in-game voice channel is created. Feel free to tell me if I'm wrong anywhere.

On top of these extra calls, a lot of work remains in wiring calls to UI stubs. I could not find exactly how much overload for the client and for the game server this meant.

A marketing and technological success

From a marketing perspective, Vivox is a double success.
First, Vivox is a success for itself: although many players may keep using their previous voice-chat softwares like Ventrilo or Teamspeak, many players are truly going to enjoy talking inside the game without alt-tabbing. I think MMOG newcomers are very likely to adopt in-game voice-chat rather than external softwares. With more and more performant outsourced in-game voice-chat systems like Vivox, I think external softwares will slowly disappear in a close future. This leaves Vivox with no competitor.
Second, MMOG companies can earn money in RMT with voice-fonts, voice mail and out-of-game messaging, but also in audio advertising.

Vivox is also interesting from a technical perspective. The system can be plugged on an existing traditional client-server game architecture without affecting (too much) the network or the game quality. A very adaptive solution. Based on their white paper, I think the Vivox engineers have been very smart in deciding to:

  • mix all group communications on their servers and send them as a single voice stream to all voice channel participants
  • launch peer-to-peer connections in the case of in-game Person-to-Person Communications

As a result, it is apparently possible to handle as many as 6,000 people in a single voice chat session. Although this impressive number relies on a traditional cluster of servers behind a load-balancer, I do not think there are many smarter choices.



I used sdedit for the sequence diagrams

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.