logo - patented
First Attampt towards Micro-Clouds

Gamelet - Multiplayer Mobile Games with Distributed Micro-Clouds

- If you build systems based on the ideas presented in this site, adding a reference to our ICMU14 paper below is appriciated!

ABSTRACT

In recent years, cloud computing services have been increasing in greater pace. High penetration rate of mobile devices and resource limited devices escalate the demand for cloud services further. Even though the cloud industry continues to grow exponentially, the cloud gaming service has been left behind due to the limitations in today’s technology. There are three well known reasons for the slower growth - latency, server scalability (esp. bandwidth) and lack of game data at client side to use latency hiding and synchronisation techniques such as Dead-reckoning. In this project, we propose a novel distributed micro-cloud infrastructure with a next generation device called Gamelet to mitigate the limitations in traditional cloud system for multiplayer cloud gaming on resource limited mobile devices. The project also investigates the opportunities, issues and possible solutions for Gamelet infrastructure for mobile games.

Awards: Brave New Idea, 2014

MOTIVATIONS

  1. Common Clould Game Workflow is depicted in the Figure 1 below. The operations Colleting Events, Simulating Game States, Rendering (also Encoding) and displaying (also Decoding) should happen in Serial in few milliseconds for a smooth gameplay. Roughly the latency between sending events to server AND receiving rendered frames at client shoud be less than 100ms for FPS games, 500ms for RPG games and 1000ms for RTS games

    Cloud Games
    Figure 1: Cloud Games - Flow of Processes (from Dr. Ooi Wei Tsang's slides)

  2. How did conventional multiplayer games handle this Latency? Conventional multipalyer (massive) games rely on techniques such as Dead Reckoning (extrapolation, prediction), interpolation, local perception filters, clinet side (local) processing for immediate UI reponse However, this requires the clients to be intelligent (about the game) [Intelligent Clients!]. Which is not possible with current cloud game infrastructures.
  3. Micro-Clould is one of the Future Trends.. If Moores' law continue to hold for next few years (and we have every reason to believe they will for at least the next five to ten years), rapid reduction in size and cost of computing devices will lead to several local/personal data centers or mico-cloulds.
These leads to the birth of "Gamelets".

GAMELET ARCHITECTURE

Gamelet atchitecture is depicted in Figure 2 below. We envision Gamelet as a modified version of today’s evercommon public WiFi access points with some additional hardware. However, Gamelet can be separate hardware connected to the local wireless network access points or power full peer game client rendering for itself and other players. For example, a Gamelet can be a common processing box in the home network which can stream game to multiple devices in the home. Proposed basic hardware includes: Processing Unit, RAM , Graphics Card, Flash Drive (For lightweight operating system).

Cloud Games
Figure 2: Gamelet Communication Structure

GAMELET Deployment

Gamelets can be deployed and managed by third party (not the game developers) service providers to provide subscription based value added service to their clients. For example, public/private WiFi service provider (shopping complex, airport lounge or coffee shop management). The mobile client playing the streamed game can be very thin with a capability to play the video stream provided by the Gamelet and transfer the user inputs to the Gamelet. In an extreme case the client player can be simply a display or projector device with some interface for human interaction (eg. touch sensors or hand movement sensors). For example, the game can be simply projected on the wall and the player can play by directly manipulating (with hand/finger sensor) the displayed contents. The Gamelet system can provide resource adaptive resolution. For example, a power full Gamelet or set of connected Gamelets can provide resolution beyond the mobile screen resolution for big displays adaptively depending on the amount of free resources they have.

VIDEO-DEMO (as shown in IEEE/IPSJ ICMU 2014) :


Demo at Youtube http://www.youtube.com/watch?feature=player_detailpage&v=YLG6ScuWITY#t=49

CHALLENGES

There are many challenges in Gamelet system. Distributed rendering becomes more intersting and useful with Gamelet system. Some of the challenges - Distiributed Renderding, Zone Distribution, Adaptive Compression Algorithms for Games and Security are discussed in the paper. We are ontineuing our works on this. Intersted companies and researchers may contact uu at. [banand AT comp nus edu sg ].

RESULTS

Objective evaluations and performance results are in the paper. User study results are presented here as a summary (Figure 3).

Cloud Games
Figure 3: User Study Scores

Users played traditional (non-cloud) client/server version first during the training period. Then they played five variants with different number of Gamelets to render for a client to observe the artifacts in relation to traditional version. Gamelets = zero indicates pure cloud game (rendering is done in the game server itself). The Gamelet version of the game used ’dead reckoning’ to hide latency. The pure cloud version assumes dump client. The client can only display the streamed images and capture user interactions. Initial results are encouraging. Gamelet system performs better than pure cloud based system especially when the delay is high. Hence, we claim Gamelets are good for multiplayer games over delay and loss prone wireless networks. However, when number of Gamelets are increased, the quality drops due to content synchronisation errors. We defer further work on improving synchronisation mechanism to future.

PUBLICATIONS

ACKNOWLEDGEMENTS

We sincerely thank Chong Ming Xun, Ngin Guan Wei Brain and Lee Tai Yun for their great help in implementing and testing the prototype game. Our special thanks to Yong U-Wern Justin for implementing content based adaptive streaming.