GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III....

26
+++ GCP Common Game Backend Architectures

Transcript of GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III....

Page 1: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

🍻🍻+🎮🎮+🌏🌏+ GCPCommon Game Backend Architectures

Page 2: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

IntroductionName: BRANDON Quentin (カンタン)

Company: bitcraft (渋谷にあるバックエンド開発会社)

→ bitcraft.co.jp

Nationality: French

Page 3: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

Table of contents1. Asynchronous service

2. Content delivery

3. Real-time synchronous service

Page 4: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

Table of contents1. Asynchronous service

2. Content delivery

3. Real-time synchronous service

For each we will expose:

The technologies involved

How the architecture scales up

Page 5: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

I.Async Backend (page 1)Most of the time, a RESTful-like API is enough

Page 6: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

I.Async Backend (page 1)Most of the time, a RESTful-like API is enough:

Client requests through HTTPS

Non-critical logic on client side

Critical logic on server side (e.g. in-app purchase)

Page 7: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

I.Async Backend (page 2)

Page 8: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

I.Async Backend (page 2)

Page 9: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

I.Async Backend (page 2)

Page 10: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

I.Async Backend (page 2)

Page 11: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

I.Async Backend (page 3) Poor man’s cluster

Page 12: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

I.Async Backend (page 3) Poor man’s cluster

jellyarcade.com

Page 13: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

I.Async Backend (page 4) Large scale

Page 14: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

II. Content delivery (page 1)Usually comes on the side of a RESTful service

Most common needs include:

Version management

DRM

Streaming

Page 15: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

II. Content delivery (page 2) Asset Bundle delivery

Page 16: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

II. Content delivery (page 3) DRM

Through REST (data may be gzipped in the DB)

Using access tokens to manage access to CDN

Bucket

S3

Akamai

Page 17: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

II. Content delivery (page 4) Streaming

Page 18: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

III. Real-time (page 1)TURN

P2P + TURN

Server-side logic

Page 19: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

III. Real-time (page 2) TURN

Page 20: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

III. Real-time (page 3) P2P + TURN

Page 21: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

III. Real-time (page 4) Server-side logic

No P2P nor TURN involved

Persistent connection w/ Server

Game state kept server-side

MMO’s are a particular case (require server-server communication)

Page 22: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

III. Real-time (page 5) Pro-cons

1. TURNa. Simple (fast development)

b. Potentially lots of traffic (expensive)

c. Vulnerable to cheaters

Page 23: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

III. Real-time (page 5) Pro-cons

1. TURNa. Simple (fast development)

b. Potentially lots of traffic (expensive)

c. Vulnerable to cheaters

2. P2P + TURNa. Complicated (many connectivity patterns)

b. No more protocol choice (UDP) but low ping

c. Still vulnerable to cheaters

Page 24: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

III. Real-time (page 5) Pro-cons

1. TURNa. Simple (fast development)

b. Potentially lots of traffic (expensive)

c. Vulnerable to cheaters

2. P2P + TURNa. Complicated (many connectivity patterns)

b. No more protocol choice (UDP) but low ping

c. Still vulnerable to cheaters

3. Server-side logica. Complicated (game logic)

b. Potentially lots of traffic (expensive)

c. Extremely reliable and cheater-proof

d. Brings new challenges for scaling and localization

Page 25: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

III. Real-time (page 5) Pro-cons

Good for 2~8 multiplayer games

Good for 2-player games

Good for 8+ multiplayer games or sensitive content

1. TURNa. Simple (fast development)

b. Potentially lots of traffic (expensive)

c. Vulnerable to cheaters

2. P2P + TURNa. Complicated (many connectivity patterns)

b. No more protocol choice (UDP) but low ping

c. Still vulnerable to cheaters

3. Server-side logica. Complicated (game logic)

b. Potentially lots of traffic (expensive)

c. Extremely reliable and cheater-proof

d. Brings new challenges for scaling and localization

Page 26: GCP + +...2016/04/14  · MMO’s are a particular case (require server-server communication) III. Real-time (page 5) Pro-cons 1. TURN a. Simple (fast development) b. Potentially lots

Thank you for your attentionQuestion time...