mobile cloud computing for games - gamelet

33
+ Gamelets - Multiplayer Mobile Games with Distributed Micro-Clouds (Mobile Cloud Computing) Bhojan Anand (presenter), Aw Jia Hao Edwin

Upload: anand-bhojan

Post on 12-Jul-2015

153 views

Category:

Design


0 download

TRANSCRIPT

Page 1: Mobile Cloud Computing for Games - Gamelet

+

Gamelets - Multiplayer Mobile Games with

Distributed Micro-Clouds

(Mobile Cloud Computing)

Bhojan Anand (presenter), Aw Jia Hao Edwin

Page 2: Mobile Cloud Computing for Games - Gamelet

+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

Page 3: Mobile Cloud Computing for Games - Gamelet

+Multiplayer Games

(Local Game State)

Player Simulation,

Opponent Prediction

Page 4: Mobile Cloud Computing for Games - Gamelet

+ Multiplayer Cloud Games

• CPU/GPU load is

reduced to save

mobile’s energy

• Centralized control

(Version update,

Cheating

prevention,

Payment/

Endogenous-value

…)

• Scalable

Page 5: Mobile Cloud Computing for Games - Gamelet

+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

Page 6: Mobile Cloud Computing for Games - Gamelet

+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!

Page 7: Mobile Cloud Computing for Games - Gamelet

+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

Page 8: Mobile Cloud Computing for Games - Gamelet

+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!

Page 9: Mobile Cloud Computing for Games - Gamelet

+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!

Page 10: Mobile Cloud Computing for Games - Gamelet

+Gamelet System

Zone Distribution

Distributed Rendering (Peer-Assisted

Rendering)

Content Based Adaptive Streaming

Focused Areas of this Work

Page 11: Mobile Cloud Computing for Games - Gamelet

+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

Page 12: Mobile Cloud Computing for Games - Gamelet

+Zone DistributionZones and What they Contain

Page 13: Mobile Cloud Computing for Games - Gamelet

+Zone Subdivision Algorithm

Max Zone Size=

Factor(t_Download,

t_Load)

Recursively divide

until the zone size is

less than max size

Dynamically Resized

Page 14: Mobile Cloud Computing for Games - Gamelet

+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)

Page 15: Mobile Cloud Computing for Games - Gamelet

+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

Page 16: Mobile Cloud Computing for Games - Gamelet

+MCDR - Rotating Camera

Page 17: Mobile Cloud Computing for Games - Gamelet

+MCDR - Rotating Camera

Fish eye view on objects near and far

NOT

RECOMMENDED!

Page 18: Mobile Cloud Computing for Games - Gamelet

+MCDR - Reshaping the view

frustum

Most Appropriate Way

- Settings are

Same as Main

camera.

- Manipulate Side

Clip Planes

Page 19: Mobile Cloud Computing for Games - Gamelet

+Distributed RenderingRendering sections of view port in parallel

Page 20: Mobile Cloud Computing for Games - Gamelet

+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)

Page 21: Mobile Cloud Computing for Games - Gamelet

+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)

Page 22: Mobile Cloud Computing for Games - Gamelet

+Streaming to Client: Image vs Video

File size (kb)

63.85

106.92

0

20

40

60

80

100

120

Image

Video

Page 23: Mobile Cloud Computing for Games - Gamelet

+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)

Page 24: Mobile Cloud Computing for Games - Gamelet

+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)

Page 25: Mobile Cloud Computing for Games - Gamelet

+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

Page 26: Mobile Cloud Computing for Games - Gamelet

+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

Page 27: Mobile Cloud Computing for Games - Gamelet

+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

Page 28: Mobile Cloud Computing for Games - Gamelet

+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

Page 29: Mobile Cloud Computing for Games - Gamelet

+EvaluationSmall Scale User Study

Page 30: Mobile Cloud Computing for Games - Gamelet

+Demo

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

Page 31: Mobile Cloud Computing for Games - Gamelet

+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

Page 32: Mobile Cloud Computing for Games - Gamelet

+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

Page 33: Mobile Cloud Computing for Games - Gamelet

+

THANK YOU

Questions?