대부분의 게임 개발 프로젝트에는 상당히 긴 시간 동안 많은 수의 다양한 인력이 공을 들입니다. 시스템 장애 또는 데이터 손상으로 인해 작업 내용 손실되면 프로젝트에 큰 피해가 갈 수 있습니다. 따라서 일반적으로 대부분의 게임에서는 프로젝트 변경 사항을 추적하고, 프로젝트의 자산을 백업하고, 프로젝트 구성원 간 협업을 용이하게 하기 위해 개발 중 몇 가지 종류의 VCS(버전 제어 시스템)를 사용합니다.
Stingray는 어떤 버전 제어 시스템을 사용하도록 선택했는지와 상관 없이 사용 가능하도록 설계되었습니다. 여러가지 유명한 소스 제어 시스템(예: Git, Subversion(SVN) 또는 Perforce)에 대한 직접적인 지원을 제공하는 대신 Stingray는 추적해야 하는 데이터를 자동으로 생성된 데이터와 별도로 보관함으로써 이러한 문제를 간단하게 비켜갑니다.
이 페이지에서는 버전 제어 시스템을 사용할 때 염두에 둬야 하는 몇 가지 고려 사항에 대해 간략하게 설명합니다.
버전 제어와 관련하여 Stingray에서 제공하는 가장 큰 이점은 Stingray 편집기에서 작성한 많은 게임 데이터가 프로젝트의 소스 디렉토리에 일반 텍스트로 된 SJSON 형식으로 저장된다는 점입니다. SJSON 데이터 형식 정보를 참조하십시오.
이러한 파일이 이진 텍스트가 아니라 일반 텍스트이기 때문에 게임 개발에 참여하는 많은 사람들이 소스 제어 시스템에서 쉽게 분기를 생성해 서로 간의 수정 사항을 덮어쓰지 않고 변경 사항을 함께 병합할 수 있습니다.
Stingray 프로젝트는 일반적으로 다음과 같은 3가지 폴더로 구성됩니다.
기본 프로젝트 소스 폴더 - 게임의 원시 데이터가 들어 있습니다. 버전 제어 시 이 폴더를 추적합니다.
_wwise 폴더 - 게임의 오디오 프로젝트 및 원시 오디오 파일이 들어 있습니다. 버전 제어 시 이 폴더를 추적합니다.
_data 폴더 - 게임의 각 대상 플랫폼에 대해 이진 형식으로 컴파일된 게임 데이터가 들어 있습니다. 버전 제어 시 이 폴더는 추적하지 않습니다.
Stingray 편집기에서 프로젝트의 소스 데이터로 작업하는 사람은 누구나 이러한 컴파일된 이진 파일을 다시 생성할 수 있기 때문에 이러한 파일을 버전 제어 시 기록할 필요가 없습니다.
Stingray 편집기에서 작업할 때 프로젝트 리소스가 읽기 전용이 아닌지 확인합니다. 추적하는 파일을 잠그는 SVN과 같은 시스템을 사용 중인 경우 프로젝트의 소스 폴더에 포함된 파일이 쓰기 가능한지 확인합니다.
Git를 사용하도록 선택한 경우 Git의 .gitignore 기능을 사용해 컴파일된 _data 디렉토리의 모든 파일이 추적되지 않도록 자동으로 필터링할 수 있습니다. .gitignore 파일에 대한 배경 정보는 Git 설명서를 참조하십시오.
이렇게 하려면 Stingray 프로젝트 폴더가 포함된 루트 디렉토리에서 .gitignore라는 새 텍스트 파일을 생성하고 컴컴파일된 데이터 디렉토리를 제외하는 항목으로 설정합니다.
예를 들어 다음을 지원합니다.
이 경우 파일의 이름을 D:₩projects₩.gitignore로 지정할 수 있습니다.
팁: Windows 탐색기에서는 이름 및 확장자가 둘 다 있는 파일만 허용하기 때문에 파일의 이름을 .gitignore로 지정할 수 없습니다. 그러나 파일의 이름을 .gitignore.라고 지정해 끝에 .를 하나 추가로 붙이면 이 문제를 해결할 수 있습니다. Windows 탐색기는 자동으로 뒤의 마침표를 제거합니다.
.gitignore 파일에는 다음 행이 포함되어 있습니다.
MyStingrayProject_data/
이 행은 Git가 프로젝트의 컴파일된 데이터 디렉토리 내에서 모든 파일을 무시하도록 합니다.