mobile cloud computing for games - gamelet

Post on 12-Jul-2015

153 Views

Category:

Design

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

+

Gamelets - Multiplayer Mobile Games with

Distributed Micro-Clouds

(Mobile Cloud Computing)

Bhojan Anand (presenter), Aw Jia Hao Edwin

+Cloud Games

Cloud Computing

Infrastructure as a Service(IaaS)

Platform as a Service (PaaS)

Software as a Service (SaaS)

Cloud Games

Software as a Service (SaaS)

Games on Demand (GoD)

SaaS alone is forecasted to grow five times faster

than traditional software packages

+Multiplayer Games

(Local Game State)

Player Simulation,

Opponent Prediction

+ Multiplayer Cloud Games

• CPU/GPU load is

reduced to save

mobile’s energy

• Centralized control

(Version update,

Cheating

prevention,

Payment/

Endogenous-value

…)

• Scalable

+Multiplayer Cloud Games Key Challenges

- All these

operations

should

happen

serially in

few ms!

- Requires

high sever

bandwidth

for Video

Streaming

Inte

raction D

ela

y

+Multiplayer Cloud Games

But, “the Latency and Jitter are not new issues”

How did conventional multiplayer games handle

this?

Local Game State Simulation

Immediate

ResponsePrediction

Local

Perception

Filters

Require

Intelligent

Clients!

+Multiplayer Cloud Games

Could Games introduce additional latencies

Cloud Processing

Encoding

More serious one is:Network Latency and Jitter

Worse in Mobile Environments.

Even with LTE it takes 70ms to closest data center

Goes upto 200ms

Key Challenge

+Gamelet System

Gamelet is a minimal-set hardware required

to run, render and stream 3D games placed

in the same local network or few hops (most

of the time one or two hops) away from the

mobile client.

Uses distributed rendering to counter the

limitations of renderer hw resources

Render at next hop!

+Gamelet Architecture

Benefits:-

- Latency Hiding

(Immediate Feedback,

DR, LPF)

- Scalable (Bandwidth)

- Distributed Rendering

COMPONENTS:-

- Processing Unit,

- RAM ,

- Graphics Card,

- Flash Drive for basic

OS

Peer device can be a Gamelet!

+Gamelet System

Zone Distribution

Distributed Rendering (Peer-Assisted

Rendering)

Content Based Adaptive Streaming

Focused Areas of this Work

+Zone Distribution & Distributed

Rendering

Avg Size of a 3D Game 5 Gbytes

Eg. Battlefield 3 recommends 4GB RAM and

20GB Storage

It will take about 56 mins to download over

3G network (assuming 1.5 Mbps)

Download/Render

only the “Zones of

Interest”

Check adjacent

Gamelets before

downloading

Zones

+Zone DistributionZones and What they Contain

+Zone Subdivision Algorithm

Max Zone Size=

Factor(t_Download,

t_Load)

Recursively divide

until the zone size is

less than max size

Dynamically Resized

+Zone Request Processing

Request to

download

When user (player

camera) enters the

boundary

Request to load

When user’s far clip

plane enters a new

zone

Boundary Size = function(far clip plane distance,

t_Download, t_Movement)

+Distributed Rendering

Common Methods/Libraries

Network-Integrated Multimedia Middleware (NMM)

Top Game engines do not have NMM layer

Real-Time Scene Graph (RTSG)

Not accessible for Game developers

Multi-Camera Distributed Rendering (MCDR)Practicable Approach

Can be used with any Game Engine

+MCDR - Rotating Camera

+MCDR - Rotating Camera

Fish eye view on objects near and far

NOT

RECOMMENDED!

+MCDR - Reshaping the view

frustum

Most Appropriate Way

- Settings are

Same as Main

camera.

- Manipulate Side

Clip Planes

+Distributed RenderingRendering sections of view port in parallel

+Selecting Adjacent Gamelets

Initial adjacency list is obtained from the

main Game Server

List is maintained with periodic ‘pings’ to

neighbors

A Gamelet will send data to neighbor node

only if ….

Send Data

Render

Receive ImageIn Serial < 40ms

(1/25 s)

+Streaming to Client: Image vs Video

461

74

0

50

100

150

200

250

300

350

400

450

500

Image

Video

244

72

0

50

100

150

200

250

300

Image

Video

Encoding latency (ms) Decoding latency (ms)

+Streaming to Client: Image vs Video

File size (kb)

63.85

106.92

0

20

40

60

80

100

120

Image

Video

+Streaming to Client (Images)

30% of the display is used for in-game HUD

5-8fps is sufficient for such static areas

We mask this area in all other frames, resulting in

high compression ratio

Content Based Adaptive Streaming (CBAS)

+Streaming to Client (Images)

When the player is idle and his view is static,

the background is mostly static

Stream at low rate

Content Based Adaptive Streaming (CBAS)

+Game Client

The client side code of the game simply gets

the compressed stream from the Gamelet

and uncompresses it to display.

In addition, it captures all the user actions.

[No Audio in Current Version]

Display and Collect User Actions

+Evaluations

800x480 WVGA

1 to 3 Mbps after state-of-the-art compression

with CBAS

Support upto 5 clients in 802.11b

9.6 Kbps between Gamelet to Server

Bandwidth & Scalability

+Evaluations

Measured with windows task manager and MSI Afterburner version 2.3.1

GPU Load is proportional to number of pixels to render. [Linear]

Average Processing Load

+Evaluation

Garden of Eden – 3D survival Game

Game Server in School Network

Gamelets and Clients at two randomly selected 802.11 APs in School

Laptop, iPad versions of the Client were used

Seven UG users played the Game. Played multiple versions after 20mins training (Game mechanics)

Observed artefacts (latency, jitter, visual quality, synchronisation etc)

Small Scale User Study

+EvaluationSmall Scale User Study

+Demo

Look for “Gamelets - Multiplayer Mobile Games with Distributed Micro-Clouds” in Youtube

+Contribution

First attempt towards a distributed micro-

cloud infrastructure

Multi-camera Distributed Rendering

Can be done on top of any game engine

Content Based Adaptive Streaming

Techniques for Games

Basic Results are Promising

+Limitations & Future work

Zone handling overhead

Addition/Removal of Zones

User playing in the game world close to multiple boundaries will trigger the download of several zones

Synchronisation of Gamelets

Overall rendering workload is still more than rendering on one device

Due to number of encoding/decoding calls

Mobility of players

Gamelet node – Trust

Fairness in Game play

Eg Some users may connect to powerful Gamelet

+

THANK YOU

Questions?

top related