Uniquitous is an open source cloud-based game system implemented in Unity, which gives game developers and researchers control over both the cloud system and the game content.


Cloud Gaming Becomes Popular?

Cloud gaming is estimated to grow from $1 billion in 2010 to $9 billion in 20171, a rate much faster than either boxed games sold through traditional retail or games sold online. In 2012, Sony bought the Gaikai cloud gaming service for $380 million and integrated this service into their PlayStation 42,3.


Why Cloud Gaming?

Cloud gaming provides benefits to users, developers and publishers over traditional gaming. Cloud gaming services mean players no longer need to upgrade their gaming hardware, such as desktops, laptops and game consoles, in order to play the latest games, as well as opens up game opportunities for users with low-end gaming hardware. Game developers only need to develop one version for the cloud server platform instead of developing a version for each client type, thus reducing game development time and cost. Publishers can more easily protect against piracy since cloud games are only installed in the cloud, thus limiting the ability of malicious users to copy them.


Why Need a Cloud-based Game Testbed?

Despite some recent success, cloud gaming faces a number of challenges before it can be deployed widely for all types of games, game devices and network connections: 1) network latency, inherent in the physical distance between the server and the client, must be overcome; 2) high network capacities are needed in order to stream game content as video down to the client; and 3) processing delays at the cloud gaming server need to be minimized in order for the game to be maintained, rendered and streamed to the client effectively for playing. Research and development required to overcome these challenges needs cloud gaming testbeds that allow identification of performance bottlenecks and exploration of possible solutions.

Currently, several commercial cloud gaming systems, such as OnLive and StreamMyGame have been used for cloud gaming research. Although these commercial services can be readily accessed, their technologies are proprietary, providing no way for researchers to access their code. This makes it difficult for researchers to explore new technologies in cloud-based gaming, such as latency compensation techniques, and makes it difficult for game developers to test their games for suitability for cloud-based deployment. While GamingAnywhere provides a complete open source cloud gaming system, it remains completely separated from the game itself, not supporting integration and simultaneous exploration of game code and the cloud system.


Why Uniquitous?

In order to provide a more flexible and easily accessed platform for cloud gaming researchers and game developers, we present Uniquitous, a cloud gaming system implemented using Unity. Unity is a cross-platform game creation system with a game engine and integrated development environment. Uniquitous blends seamlessly with Unity, making it especially convenient for Unity developers, one of the largest and most active developer communities in the world - the Unity community increased from 1 million registered developers in 2012 to 2.5 million in 2014, with approximately 600,000 active monthly4.

Uniquitous allows modification and configuration of internal cloud gaming structures, such as frame rate, image quality, image resolution and audio quality, in order to explore system bottlenecks and meet different client-server requirements. In addition to system modifications, by being in Unity, Uniquitous enables game content adjustments for further exploring the relationship between game content and cloud gaming performance. For example, game objects can be adjusted to study the effect of scene complexity on network bitrates, or camera settings can be altered to study the effect of perspective on cloud gaming frame rates.


Uniquitous Architecture

Uniquitous, shown in Figure 1, is composed of three entities: Unity Project, Uniquitous Server and Uniquitous Thin Client. The Uniquitous Server and the Uniquitous Thin Client run on two separate computers connected by an Internet connection while the Unity Project runs on the same computer as the Uniquitous Server.

Figure 1 shows three types of data flows in Uniquitous, illustrated with different shades/colors: the red image data flow carries data for the game frames; the green audio data flow carries data for the game audio; and the blue input data flow carries data for user input. Flows within components on the same machine are represented with dashed lines while flows across the network are shown with solid lines. Implementation details for each component are discussed in Implementation Section in the thesis, which you can find on Download page.

Figure 1. Uniquitous Architecture.


References

  1. Distribution and Monetization Strategies to Increase Revenues from Cloud Gaming. goo.gl/YnlE9V, 2012. [online; accessed 01-May-2014].
  2. J. Plafke. CES 2014: Gaikai Becomes PlayStation Now, Streaming Games To Just About Everything. goo.gl/AOMK5V, Jan. 2014. [online; accessed 01-May-2014].
  3. S. Sakr. Sony Buys Gaikai Cloud Gaming Service for $380 Million. goo.gl/S9P3KJ, July 2012. [online; accessed 01-May-2014].
  4. Unity Company Facts. http://unity3d.com/public-relations, acc 01-May-2014.