uniquitous: implementation and evaluation of a cloud-based game system in unity meng luo and mark...

32
Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool [email protected] Computer Science and Interactive Media & Game Development 1

Upload: oliver-burke

Post on 18-Jan-2016

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity

Meng Luo and Mark Claypool

[email protected]

Computer Science and

Interactive Media & Game Development1

Page 2: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute2

Introduction (1 of 2)

• What is cloud gaming?─ New service based on cloud computing technology

• Why cloud games?─ Convenience for players─ Efficiency for developers─ Reduce piracy for publishers

Server

Server

Server

Thin Client

Cloud Servers

Player input

Game frames

Page 3: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute3

Introduction (2 of 2)

• Existing Cloud Gaming Systems─ OnLive, Gaikai, StreamMyGame, GamingAnywhere etc.

• Cloud Games Are Growing Fast─ Estimated to grow from $1 billion in 2010 to $9 billion in

2017 [1]─ In 2012, Sony bought Gaikai service for $380 million and

integrated the service into PlayStation in Jan. 2014 [2]

Page 4: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute4

Challenges

• Network latencies

• High bitrate requirements─ e.g., 2 Mb/s min for OnLive [3]

• System processing

• Ideally, Researchers and developers tune game and cloud system─ e.g., Game scene complexities─ e.g., Camera perspective

• Need: testbed for cloud gaming R&D─ Commercial cloud gaming systems (e.g., OnLive)

Proprietary

─ Open cloud gaming systems (e.g., GamingAnywhere [3]) Not integrated with game code

Page 5: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute5

Uniquitous

• Open source cloud gaming system in Unity

• Allows modifications of game code and system code

• Unity popular─ 1 million users in 2012─ Grown to 2.5 million in 2014 [4]

• This paper─ Design and implementation of Uniquitous─ Evaluation of components (Micro experiments)─ Evaluation of system (Macro experiments)

Page 6: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

6

Outline• Introduction (done)

• Related Work (next)

• Implementation

• Micro Experiments

• Macro Experiments

• Conclusion

Page 7: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute7

Related Work

• Cloud gaming measurement─ Huang et al. delay

[3]─ Chang et al. frame

rate, frame quality [10]

─ Frame rate, frame resolution [11]

Huang et al. cloud gaming framework [3]

None are open systems that support tuning cloud service and game

Page 8: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

8

Outline• Introduction (done)

• Related Work (done)

• Implementation (next)

• Micro Experiments

• Macro Experiments

• Conclusion

Page 9: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute9

Implementation (1 of 4)

Page 10: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute10

Implementation (2 of 4)

• Image Data Flow: carry data for game frames─ Image Encoding: JPEG encoder [12] (open C# impl.)─ Image Transmission: remote procedural call (RPC) (ulink,

networking for games in C#)

Page 11: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute11

Implementation (3 of 4)

• Audio data flow: carry data for game audio─ Audio Source: Audio listener─ Audio Capture: OnAudioFilterRead(), localhost TCP

socket─ Audio Encoding & Transmission: mp3 via FFMPEG─ Audio Reception & Decoding: UDP to FFPLAY and SDL

(library to assist playing)

Page 12: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute12

Implementation (4 of 4)

• Input data flow: carry data for user input─ Player input captured: mouse, keyboard─ Input Transmission: remote procedural call (RPC)─ Unity Game: “replay” input to GUI elements, if needed

Page 13: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

13

Outline• Introduction (done)

• Related Work (done)

• Implementation (done)

• Micro Experiments (next)

• Macro Experiments

• Conclusion

Page 14: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute14

Micro Experiments Setup

• Goal─ Measure processing times of Uniquitous components─ Identify performance bottlenecks in cloud game system

• Main results here, but full results in [13]

• Experiment setup─ Hardware

12 GB RAM, Intel 3.4GHz i7-3770, AMD Radeon HD 7700

─ Operating System 64-bit Windows 7 Enterprise edition

─ Unity version 4.3

Page 15: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute15

Two games

Eight game image qualitieso (worst) 1 to 100 (best)

Nine game resolutionso 210x158 up to 1920x1080

System Parameters

Car Tutorial (v1.3)

(https://www.assetstore.unity3d.com/en/#!/content/10)

AngryBots (v4.0)

(https://www.assetstore.unity3d.com/en/#!/content/12175)

Page 16: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute16

Measuring Processing Time

• Instrument code ─ Screen Capture─ Image Encoding ─ Image Transmission

• Unity Pro profiler ─ Unity Project─ Game Window

• Command line time ─ Audio Encoding & Transmission

• 10 runs for each, averaged

Page 17: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute17

Screen Capture

• 640x480 to 1680x860 similar times

• Not much difference between games

• Subsequent analysis Car Tutorial

Page 18: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute18

Image Encoding

• Much higher than capture times!

• Increase game image quality modestly increases time

• Increase game resolution increases time

Page 19: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

19

Outline• Introduction (done)

• Related Work (done)

• Implementation (done)

• Micro Experiments (done)

• Macro Experiments (next)

• Conclusion

Page 20: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute20

Macro Experiments - Goals

1. Evaluate performance of Uniquitous ─ Game image quality─ Frame rate

2. Predict performance of Uniquitous under alternate configurations

Page 21: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute21

Game Image Quality (1 of 2)

• Compressed image samples─ Original Image: game image from Car Tutorial─ 200 images with 20 compression ratios and 10 resolution

levels

• Objective visual quality measurement─ Peak Signal Noise Ratio (PSNR)─ Structural Similarity Index (SSIM)

• Experiment setup─ Same as the micro experiments

Page 22: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute22

Game Image Quality (2 of 2)

• Marked increase from 1 to 15

• Modest increase from 15 to 35

• Recommended quality factor: 15 to 35

Page 23: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute23

Frame Rate (1 of 2)

• Independent variables─ JPEG encoding quality and resolution 44 data samples for the Car Tutorial 37 data samples for the AngryBots

• Frame rate computation─ Measure frame intervals ─ Inverse of average interval

• Experiment setup─ Same as for micro experiments

Page 24: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute24

Frame Rate (2 of 2)

• Only low resolution achieves high frame rate

• Recommended min frame rate: 15 fps [8]

• Recommended resolution: 640x480

Car Tutorial

Page 25: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute25

Predicting Frame Rate (1 of 3)

Coroutine

Page 26: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute26

Predicting Frame Rate (2 of 3)

F = 1/TT = Max (T1,T2) +

TscreenCap + Ttransmit

T1 = Tunity + Trender + Trecv

T2 = TimgEn

• Model─ Based on game resolution (R), JPEG encoding quality (Q)─ Weka linear regression classifier (10-fold cross validation)

Car Tutorial: F = 1 / (0.1348×R + 0.118×Q + 21.0) AngryBots: F = 1 / (0.1361×R + 0.1224×Q + 22.5)

T1’: Group 1 T2: Group 2 T: frame intervalF: predicted frame rate

Page 27: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute27

Predicting Frame Rate (3 of 3)

• Correlation

Car: 0.995

Bots: 0.981

• Models predict well

Page 28: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute28

Conclusions

• Uniquitous open source, cloud gaming system for Unity─ Blend Unity game development with cloud system

Online: http://uniquitous.wpi.edu/

• This paper─ Uniquitous design and implementation

─ Evaluation of components (micro)

─ Evaluation of system (macro) and model

• Image encoding is bottleneck for high resolutions and qualities─ Keep both low

• Recommended settings for good quality (SSIM 75+, 15 fps)─ JPEG image quality 15-35

─ Resolution 640x480 pixels

Page 29: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute29

Future Work

• Increase frame rates, frame qualities, resolutions─ H.264 encoding

• Test with more games and other genres

• Mobile devices

Page 30: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity

Meng Luo and Mark Claypool

[email protected]

Computer Science and

Interactive Media & Game Development30

Page 31: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute

References (1 of 2)

1. “Distribution and Monetization Strategies to Increase Revenues from Cloud Gaming,” http://goo.gl/YnlE9V, 2012, accessed 01-May-2014

2. S. Sakr, “Sony Buys Gaikai Cloud Gaming Service for $380 Million,” http://goo.gl/S9P3KJ, July 2012, accessed 01-May-2014

3. C. Huang, Y. C. C. Hsu, and K. Chen, “GamingAnywhere: An Open Cloud Gaming System,” in Proceedings of ACM MMSys, Oslo, Norway, Feb. 2013

4. “Unity Company Facts,” http://unity3d.com/public-relations, accessed 09-Jun-2015

5. I. Foster, Y. Zhao, I. Raicu, and S. Lu, “Cloud Computing and Grid Computing 360-Degree Compared,” in Proceedings of Grid Computing Environments Workshop (GCE), Austin, TX, USA, Nov. 2008, pp. 1–10

6. D. Winter, P. Simoens, L. Deboosere, F. Turck, J. Moreau, B. Dhoedt, and P. Demeester, “A Hybrid Thin-client Protocol for Multimedia Streaming and Interactive Gaming Applications,” in NOSSDAV, Newport, RI, USA, May 2006

7. R. Shea, J. Liu, E. Ngai, and Y. Cui, “Cloud Gaming: Architecture and Performance,” IEEE Network, vol. 27, pp. 16–21, Aug. 2013

8. M. Jarschel, D. Schlosser, S. Scheuring, and T. Hoβfeld, “An Evaluation of QoE in Cloud Gaming Based on Subjective Tests,” in IEEE Innovative Mobile and Internet Services in Ubiquitous Computing, Seoul, Korea, 2011, pp. 330–335

Page 32: Uniquitous: Implementation and Evaluation of a Cloud-based Game System in Unity Meng Luo and Mark Claypool claypool@cs.wpi.edu Computer Science and Interactive

Worcester Polytechnic Institute

References (2 of 2)

8. Y.-T. Lee, K.-T. Chen, H.-I. Su, and C.-L. Lei, “Are All Games Equally Cloud-gaming-friendly? An Electromyographic Approach,” in Proceedings of IEEE/ACM NetGames, Venice, Italy, Oct. 2012

9. Y.-C. Chang, P.-H. Tseng, K.-T. Chen, and C.-L. Lei, “Understanding the Performance of Thin-Client Gaming,” in Proceedings of Communications Quality and Reliability (CQR), Naples, FL, USA, May 2011

10. M. Claypool and K. Claypool, “Perspectives, Frame Rates and Resolutions: Its all in the Game,” in Proceedings of Foundations of Digital Games (FDG), FL, USA, Apr. 2009

11. A. Broager, “JPEG Encoder Source for Unity in C#,” http://goo.gl/FwOfOW, accessed 06-May-2014

12. M. Luo, “Uniquitous: Implementation and Evaluation of a Cloud-Based Game System in Unity 3D,” Master’s thesis, Worcester Polytechnic Institute, 2014, adv: M. Claypool

13. Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli, “Image Quality Assessment: From Error Visibility to Structural Similarity,” IEEE Transactions on Image Processing, vol. 13, no. 4, Apr. 2004

14. M. Hall, E. Frank, G. Holmes, B. Pfahringer, P. Reutemann, and I. H. Witten, “The WEKA Data Mining Software: An Update,” SIGKDD Explorations, vol. 11, no. 1, 2009.