Overcoming latency, How we build a Cloud Game service with Go
summary
Proof-of-concept Cloud Gaming service implemented in Go that runs game emulators server-side, hooks image/audio frames, encodes them with VP8 and Opus and streams over WebRTC + VP8 + Opus to browser and mobile; coordinator pings workers to pick the closest server, sessions use Go channels for component communication and concurrency, achieving smooth Megaman demo play but hitting CPU-bound encoding limits for AAA titles, plus cgo crashes and goroutine/closed-channel leaks that need profiling and fixes.
AI-written summary · about
chapters (13)
- 0:00Introduction to cloud gaming
- 2:09Latency challenges in streaming
- 4:10Single-player focus in cloud gaming
- 5:19WebRTC technology overview
- 7:55Video and audio compression
- 8:41Server selection for low latency
- 9:22Go channels for concurrency
- 11:12Handling multiplayer input
- 12:40Concurrency with select statements
- 14:08Go channel performance pitfalls
- 15:17Working with C libraries in Go
- 15:59Profiling Go applications
- 16:45Future improvements and demo
related talks
12mCloud Gaming is Real: Talk and Live Demo pt.2
14mCloud Gaming is Real: Talk and live Demo pt.1
16mThree Steps to Generate Unimaginable Scale for Cloud Gaming
39mThe new reality of cloud gaming
21mLeaving the lag behind
17mDissecting and Streamlining the Interactive Loop of Mobile Cloud Gaming
55mCloud services for gaming
45mOnline Games, But How Come They Don't Lag?
