すべての導入事例
    パイロット · NDAにより社名非公開AAAスタジオ · 北米

    クライアント、サーバー、ランチャー。一度の実行で足並みをそろえて。

    マルチプレイヤーゲームを出荷する北米のAAAスタジオ。ゲームクライアント、専用サーバー、ランチャーは、それぞれ別々のパイプラインでビルドされていました。

    スタジオ

    AAAスタジオ(北米)
    マルチプレイヤーゲーム
    クライアント、専用サーバー、ランチャー
    パイロット

    導入前

    クライアント、専用サーバー、ランチャーを、3つのパイプラインがそれぞれ別のスケジュールでビルドしていました。やがてバージョンがずれていき、QAが接続先のサーバーと合わないクライアントを手にすることもありました。プレイテストの前には毎回、誰かが3つのビルドを手作業で揃えなければなりませんでした。

    アーキテクチャ
    01トリガー
    ソース管理サブミットされた変更
    Unreal EditorプラグインデザイナーとQAが実行を開始
    02オーケストレーション
    1つのSpeedrunCIプロジェクトクライアント、サーバー、ランチャーのパイプライン
    ロールとSSOパイプラインの編集はビルドチームだけ
    03並列ビルド
    ゲームクライアント同じコミット
    専用サーバー同じコミット
    ランチャー同じコミット
    04配信
    1つのリリースクライアント、サーバー、ランチャーを同一バージョンで
    QAとプレイテスト組み合わせの合ったセットをダウンロード
    失敗のトリアージステップ、ログ、変更、修正案
    1つの変更で、3つのパイプラインがすべて始動します。クライアント、専用サーバー、ランチャーは同じコミットから並行してビルドされ、1つのリリースとしてまとめて出荷されます。そのため、どのプレイテストも組み合わせの合ったセットから始められます。

    SpeedrunCIの活用法

    01

    3つのターゲット、1つのプロジェクト

    クライアント、専用サーバー、ランチャーは、1つのSpeedrunCIプロジェクト内の3つのパイプラインになりました。定義も、起動も、追跡も1か所で行えます。

    02

    同じ変更から開始

    3つのパイプラインはすべて同じコミットから開始されるため、1回の実行に含まれるクライアント、サーバー、ランチャーはすべて同一のソースからビルドされます。

    03

    並行してビルド

    3つのターゲットは複数のランナーで同時にビルドされます。3つが順番待ちをするのではなく、最も遅いターゲットが全体のペースを決めます。

    04

    1セットとして出荷

    完了した実行は、クライアント、サーバー、ランチャーをまとめて1つのリリースとして公開します。そのため、QAとプレイテスターは常に組み合わせの合ったセットを受け取れます。

    05

    失敗は、そのレーンの中だけ

    あるターゲットが失敗すると、SpeedrunCIは原因となったステップ、ログ、変更を特定し、修正案を提示します。他のターゲットの結果は有効なままです。

    06

    チケットなしでビルド

    デザイナーとQAはUnreal Editorプラグインから実行を開始でき、パイプラインの変更はロールによってビルドチームの管理下に残ります。

    何が変わったか

    1回の実行で3つすべてを、バージョンを揃えて出荷。プレイテストは組み合わせが確かなクライアント、サーバー、ランチャーから始まり、ビルドを手作業で揃える人はもういません。

    マルチプレイヤー専用サーバーランチャー

    さらなる事例を準備中

    現在、さらに多くのパイロットが進行中で、その事例も順次掲載します。次はあなたのスタジオの番にしませんか?パイロットは、お客様の実際のUnrealプロジェクトのひとつで実施します。