GCP + +...2016/04/14 · MMO’s are a particular case (require server-server communication) III....
Transcript of GCP + +...2016/04/14 · MMO’s are a particular case (require server-server communication) III....
🍻🍻+🎮🎮+🌏🌏+ GCPCommon Game Backend Architectures
IntroductionName: BRANDON Quentin (カンタン)
Company: bitcraft (渋谷にあるバックエンド開発会社)
→ bitcraft.co.jp
Nationality: French
Table of contents1. Asynchronous service
2. Content delivery
3. Real-time synchronous service
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
I.Async Backend (page 1)Most of the time, a RESTful-like API is enough
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)
I.Async Backend (page 2)
I.Async Backend (page 2)
I.Async Backend (page 2)
I.Async Backend (page 2)
I.Async Backend (page 3) Poor man’s cluster
I.Async Backend (page 3) Poor man’s cluster
jellyarcade.com
I.Async Backend (page 4) Large scale
II. Content delivery (page 1)Usually comes on the side of a RESTful service
Most common needs include:
Version management
DRM
Streaming
II. Content delivery (page 2) Asset Bundle delivery
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
II. Content delivery (page 4) Streaming
III. Real-time (page 1)TURN
P2P + TURN
Server-side logic
III. Real-time (page 2) TURN
III. Real-time (page 3) P2P + TURN
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)
III. Real-time (page 5) Pro-cons
1. TURNa. Simple (fast development)
b. Potentially lots of traffic (expensive)
c. Vulnerable to cheaters
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
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
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
Thank you for your attentionQuestion time...