mobile cloud computing for games - gamelet
Post on 12-Jul-2015
153 Views
Preview:
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