[Steam] Multi Platform & Merged Build
Steam에서 멀티 플랫폼(Windows/Mac/Linux)을 지원하는 경우, Steamworks Admin에서 세팅해야 할 곳은 아래와 같이 크게 4곳이 있다.
- 새로운 플랫폼에 대한 Depot 추가
- Launch Option 추가
- Package에 새로 추가한 Depot 연결
- Supported OS 추가
Depot은 새로운 플랫폼 전용으로 만들어 주어야 한다 (메뉴: Edit Steamworks Settings > SteamPipe > Depots). Add New Depot 버튼을 눌러 Depot ID를 하나 지정하고 이름을 작성하면 새로운 depot을 생성할 수 있다.
Depot을 새로 생성했으면, 그 플랫폼을 위한 Launch Option을 추가해 준다 (메뉴: Edit Steamworks Settings > Installation > General Installation). Launch Option은 유저의 OS에 따라 어떤 파일을 실행해야 할 지 정해주는 것이므로 빌드된 실행 파일과 이름을 잘 매치 시켜야 한다.

이제 Package로 넘어가 보자. 서비스할 Package를 지정하고, 처음에 생성한 depot을 연결하여 유저가 다운로드 받을 수 있도록 연결해야 한다 (메뉴: All Associated Packages, DLC, Demos and Tools > Store/Free to Play/Promotional packages) . 여러 Package가 있는데, Store packages는 라이브에 반영할 때 추가해야 하고, 나머지는 테스트 용도에 맞게 설정한다. 설정하고자 하는 package를 클릭하면, Depot Included라는 항목을 볼 수 있는데, 그 곳에 Add Depots 버튼을 눌러 새로운 플랫폼의 depot을 연결해 준다.

마지막으로, 지원 OS에 대한 옵션을 체크하여 추가한다 (메뉴: Edit Steamworks Settings > Applicaiton > General > Supported Operating System).

이제 기본적으로 세팅은 끝났다. 주의할 점은 Launch Option과 Store Package를 미리 세팅하면, 유저가 새로운 플랫폼에서 다운로드 할 수 있으니 라이브하는 시점에 적용하도록 하고, Supported Operating Systems도 새로운 플랫폼의 라이브 배포가 되는 시점에 체크하도록 한다.
빌드의 경우, 각각 플랫폼에서 빌드되어 업로드되므로 각각의 BuildID를 가지게 되는데, 두 개의 BuildID를 동시에 default 브랜치로 설정할 수 없기 때문에 Steam에서는 머지된 빌드를 자동으로 만들어 준다. 이때 원하는 BuildID로 구성된 Merged Build를 만들기 위해서는 같은 브랜치로 각각 지정을 해야 하나의 빌드로 머지가 된다.

develop라는 브랜치가 있다고 해보자. 위의 이미지와 같은 경우를 보면, 61374 빌드는 win8과 mac7으로 머지가 되었는데, mac7이 develop브랜치로 지정되어 있는 상태에서, win8을 develop 브랜치로 지정하게 되면, 61374와 같은 win8/mac7의 merged build가 생성된다. 이 후에 mac8을 새로 업로드하게 되어 develop브랜치로 지정할 경우, mac8/win8로 된 61378 빌드가 생성되는 원리이다.
라이브로 반영하기 위해선 테스트가 끝난 merged build를 default브랜치로 간단히 변경하면 된다.