← All posts
March 1, 2022 · Concurrents
Slice 101: how to encode a Slice
A Slice is a streamable piece of a game. Encoding one is the process of turning a game build into the visibility-aware, prefetchable asset graph that GPEG can stream.
The encoding pipeline
At a high level, encoding a Slice involves:
- Asset partitioning — break the build into subassets (submeshes, texture tiles, audio clips) that can be streamed independently.
- Visibility precomputation — for each region the player can enter, compute the conservative set of subassets they could observe. This is what lets GPEG prefetch only what the player will see.
- Streaming graph construction — order the subassets so that the most-likely-next ones are sent first, given navigation patterns.
- CDN distribution — push the encoded Slice to the CDN, ready for any player to start streaming.
What stays the same
Critically, encoding a Slice doesn't require re-architecting the game. The engine, the rendering pipeline, the gameplay — all unchanged. The encoder is a build-time tool that takes a built game and produces the streaming-ready Slice.
For publishers, that's the unlock: a marketing channel and a UGC ecosystem with minimal development impact.