Cloud gaming runs games on remote servers and streams them directly to users' devices. This allows games to be portable and accessible without hardware limitations. CloudRetro is an open-source cloud gaming service that specifically targets retro games. It uses WebRTC for low-latency media streaming between servers and clients' browsers. The infrastructure is containerized and scalable across cloud providers.
2. 1. Cloud Gaming: Runs games on remote servers
and streams them directly to a user’s device.
2. New generation of Game:
a. Portable and convenient
b. No more hardware limitation
3. CloudRetro is a production-ready Cloud Gaming
service targeting RetroGames.
Cloud Gaming
3. Further application
● Applicable to other fields. For example heavy offline applications to browser/mobile like
operating system, photoshop:
○ Microsoft Window on Chrome browser
○ Photoshop CC on tablet
5. Building Cloud Gaming
MVP
1. Single player
2. Low latency media stream
3. Best network condition
4. Instant play with browser
5. Clear separation of game interface and service
6. Hosting simple game for fast integration
7. Room based mechanism, crowd play, multiplayer, deep-link to game
8. Horizontal scalable
9. Cloud agnostic
Goal of Cloud Gaming MVP
6. CloudRetro: Open-source Cloud
Gaming Service for retro games
1. https://cloudretro.io/
2. Github trending project on 9/6/2019
with 760 stars currently:
giongto35/cloud-game: Web-based Cloud
Gaming service for Retro Game
3. Video Demo:
https://www.youtube.com/watch?v=GU
BrJGAxZZg
8. Design Cloud Retro
1. Single player
a. Direct Peer2Peer stream. No need for CDN as other traditional streaming services
like Twitch.
2. Low latency media stream:
a. VP8/H264 compression algorithm for Video
b. Opus compression algorithm for Audio
c. WebRTC
3. Best network condition
a. Distribute streaming servers around the world and pair the closest server to user
How Cloud Retro is built
9. How Cloud Retro is built
4. Browser compatible
a. WebRTC also has great support for Mobile/Desktop browser
5. Clear separation of game interface and service
a. Game and stream components are decoupled.
b. Game emulator runs as an isolated entity in the same process currently.
c. Further separation can be achieved by running game on a different process.
6. Hosting simple game for fast integration
a. Currently using Libretro, which provides an interface for retro games: SNES, GBA ...
Design Cloud Retro
10. How Cloud Retro is built
7. Room-based mechanism, Crowd Play, Multiplayer, deep-link to game
a. Store game state in Cloud Storage
b. Access the same deep-link to join the same room, play the same game.
c. Crowd play, Multiplayer is done with proper fan-in, fan-out stream manipulation.
8. Horizontal scalable
a. Able to add more servers to handle more traffic
9. Cloud Agnostic
a. Able to run on any cloud provider.
b. Dockerize and use native network setting.
Design Cloud Retro
11. Cloud Gaming with GPU
support
5. Clear separation of game interface and
service can extend the infrastructure to
introduce GPU encoding pipeline cluster in the
future.
12. Cloud Retro Infra
overview
1. Worker: spawns games, runs encoding
pipeline, streams. Each worker runs
multiple game sessions.
2. Coordinator: establishes connections
between user and the most suitable
worker.
3. Game state storage: stores all game
states for durability.
13. User flow
1. A client connects to coordinator.
2. Client receives list of available workers.
3. Client checks latency to all running
workers.
4. Coordinator picks the most appropriate
worker to user.
5. User and the determined worker are
connected. The game starts, and the
stream are established.
14. WebRTC
1. CloudRetro relies on WebRTC for sub-second peer to peer streaming.
2. WebRTC is an open-source project that provides real-time communication via simple API.
3. Built-in VP8/H264 Video compression, Opus Audio compression.
4. NAT traversal.
5. CloudRetro uses Pion WebRTC Library
16. Multi Cloud Provider
1. The whole infrastructure is containerized and
doesn’t rely on Cloud Provider’s functionality.
2. CloudRetro is currently hosted on 3 different
cloud providers to target multi-regional.
3. 1 step toward decentralized Cloud Gaming
a. Game creators contributes resource to
host theirs games.
17. CloudRetro functionalities
- Portable game experience:
- Instant play
- Running on Mobile/Desktop Browser
- Share game session
- Game session can be shared across
multiple devices
- Online fighting game
- The first time Contra, Samurai
Showdown can be played over Internet
18. CREDITS: This presentation template was created
by Slidesgo, including icons by Flaticon, and
infographics & images by Freepik.
Thanks!