マルチプレイヤーゲームを出荷する北米のAAAスタジオ。ゲームクライアント、専用サーバー、ランチャーは、それぞれ別々のパイプラインでビルドされていました。
スタジオ
- AAAスタジオ(北米)
- マルチプレイヤーゲーム
- クライアント、専用サーバー、ランチャー
- パイロット
導入前
クライアント、専用サーバー、ランチャーを、3つのパイプラインがそれぞれ別のスケジュールでビルドしていました。やがてバージョンがずれていき、QAが接続先のサーバーと合わないクライアントを手にすることもありました。プレイテストの前には毎回、誰かが3つのビルドを手作業で揃えなければなりませんでした。
SpeedrunCIの活用法
3つのターゲット、1つのプロジェクト
クライアント、専用サーバー、ランチャーは、1つのSpeedrunCIプロジェクト内の3つのパイプラインになりました。定義も、起動も、追跡も1か所で行えます。
同じ変更から開始
3つのパイプラインはすべて同じコミットから開始されるため、1回の実行に含まれるクライアント、サーバー、ランチャーはすべて同一のソースからビルドされます。
並行してビルド
3つのターゲットは複数のランナーで同時にビルドされます。3つが順番待ちをするのではなく、最も遅いターゲットが全体のペースを決めます。
1セットとして出荷
完了した実行は、クライアント、サーバー、ランチャーをまとめて1つのリリースとして公開します。そのため、QAとプレイテスターは常に組み合わせの合ったセットを受け取れます。
失敗は、そのレーンの中だけ
あるターゲットが失敗すると、SpeedrunCIは原因となったステップ、ログ、変更を特定し、修正案を提示します。他のターゲットの結果は有効なままです。
チケットなしでビルド
デザイナーとQAはUnreal Editorプラグインから実行を開始でき、パイプラインの変更はロールによってビルドチームの管理下に残ります。
何が変わったか
1回の実行で3つすべてを、バージョンを揃えて出荷。プレイテストは組み合わせが確かなクライアント、サーバー、ランチャーから始まり、ビルドを手作業で揃える人はもういません。