모든 사례 연구
    파일럿 · NDA에 따라 이름 비공개AAA 스튜디오 · 북미

    클라이언트, 서버, 런처. 한 번의 실행으로 동기화.

    멀티플레이어 게임을 출시하는 북미의 AAA 스튜디오입니다. 게임 클라이언트, 데디케이티드 서버, 런처를 각각 별도의 파이프라인으로 빌드하고 있었습니다.

    스튜디오

    AAA 스튜디오, 북미
    멀티플레이어 게임
    클라이언트, 데디케이티드 서버, 런처
    파일럿

    이전

    세 개의 파이프라인이 클라이언트, 데디케이티드 서버, 런처를 각자의 일정에 따라 빌드했습니다. 시간이 지나면서 버전이 서로 어긋났습니다. QA가 접속해야 할 서버와 맞지 않는 클라이언트를 받을 수 있었고, 플레이테스트 때마다 누군가가 세 빌드를 수작업으로 맞춰야 했습니다.

    아키텍처
    01트리거
    소스 컨트롤제출된 변경
    Unreal Editor 플러그인디자이너와 QA가 실행 시작
    02오케스트레이션
    하나의 SpeedrunCI 프로젝트클라이언트, 서버, 런처 파이프라인
    역할과 SSO파이프라인 수정은 빌드 팀만
    03병렬 빌드
    게임 클라이언트같은 커밋
    데디케이티드 서버같은 커밋
    런처같은 커밋
    04전달
    하나의 릴리스클라이언트, 서버, 런처를 한 버전으로
    QA와 플레이테스트서로 맞는 세트를 다운로드
    실패 분석단계, 로그, 변경, 수정 제안
    변경 하나로 세 파이프라인이 모두 시작됩니다. 클라이언트, 데디케이티드 서버, 런처는 같은 커밋에서 나란히 빌드되어 하나의 릴리스로 함께 출시되므로, 모든 플레이테스트가 서로 맞는 세트로 시작됩니다.

    SpeedrunCI 활용 방식

    01

    타깃 셋, 프로젝트 하나

    클라이언트, 데디케이티드 서버, 런처를 하나의 SpeedrunCI 프로젝트 안의 파이프라인 세 개로 구성해, 한곳에서 정의하고 트리거하고 추적합니다.

    02

    같은 변경에서 시작

    세 파이프라인은 모두 같은 커밋에서 시작하므로, 한 실행의 클라이언트, 서버, 런처는 모두 동일한 소스로 빌드됩니다.

    03

    나란히 빌드

    세 타깃이 여러 러너에서 동시에 빌드됩니다. 셋이 차례로 줄을 서는 대신, 가장 느린 타깃이 전체 속도를 정합니다.

    04

    한 세트로 출시

    실행이 끝나면 클라이언트, 서버, 런처가 하나의 릴리스로 함께 게시되므로, QA와 플레이테스터는 언제나 서로 맞는 세트를 받습니다.

    05

    실패는 해당 타깃에만 머뭅니다

    한 타깃이 실패하면 SpeedrunCI가 문제를 일으킨 단계, 로그, 변경을 짚어 수정을 제안하며, 다른 타깃의 결과는 그대로 유효합니다.

    06

    티켓 없이 빌드

    디자이너와 QA는 Unreal Editor 플러그인에서 실행을 시작하고, 파이프라인 변경은 역할을 통해 빌드 팀의 몫으로 남습니다.

    달라진 점

    한 번의 실행으로 셋 모두 출시, 버전 일치. 플레이테스트는 서로 맞는 것으로 확인된 클라이언트, 서버, 런처로 시작하며, 빌드를 수작업으로 맞추는 사람은 없습니다.

    멀티플레이어데디케이티드 서버런처

    더 많은 사례가 준비 중입니다

    지금 더 많은 파일럿이 진행 중이며, 그 이야기도 이어서 소개합니다. 다음 사례의 주인공이 되고 싶으신가요? 파일럿은 여러분의 실제 Unreal 프로젝트 하나로 진행됩니다.