A AAA studio in North America shipping a multiplayer game. Its game client, dedicated server and launcher were each built by a pipeline of their own.
The studio
- AAA studio, North America
- Multiplayer game
- Client, dedicated server, launcher
- Pilot
Before
Three pipelines built the client, the dedicated server and the launcher, each on its own schedule. Over time the versions drifted apart: QA could pick up a client that did not match the server it had to connect to, and before every playtest someone had to line the three builds up by hand.
How they use SpeedrunCI
Three targets, one project
The client, dedicated server and launcher became three pipelines in one SpeedrunCI project, so they are defined, triggered and tracked in one place.
Started from the same change
All three pipelines start from the same commit, so every client, server and launcher in a run is built from identical source.
Built side by side
The three targets build at the same time across runners. The slowest target sets the pace, instead of the three queuing one after another.
Shipped as one set
A finished run publishes client, server and launcher together as one release, so QA and playtesters always take a set that belongs together.
A failure stays in its lane
If one target fails, SpeedrunCI names the step, the log and the change that broke it, with a suggested fix, and the other targets' results stay valid.
Builds without a ticket
Designers and QA start a run from the Unreal Editor plugin; pipeline changes stay with the build team through roles.
What changed
One run ships all three, versions matched. Playtests start from a client, server and launcher that are known to fit together, and nobody lines builds up by hand.