모든 게임에는 최소 하나의 부팅 패키지라고 하는 패키지가 있어야 합니다. 이 패키지는 게임을 시작하면 자동으로 로드되어 리소스 로딩 프로세스를 개시합니다.
게임 settings.ini 파일의 boot_package 설정에서 부팅 패키지를 지정합니다. Stingray 엔진 settings.ini 파일 참조를 참조하십시오.
최소한 부팅 패키지에는 다음 사항이 반드시 포함되어야 합니다.
일반적으로 부팅 패키지에는 다음 사항도 포함되어 있는 것이 좋습니다.
모든 core 리소스.
Stingray 편집기에서 컨텐츠를 제작할 때 도움이 되는 많은 기능들은 코어 폴더의 컨텐츠를 기반으로 합니다. 예를 들어, 많은 흐름 노드는 일부는 Appkit, 일부는 Scaleform Studio, HumanIK 또는 Gameware Navigation 같은 플러그인에서 가져오는 코어 리소스의 노드 정의 및 Lua 스크립트를 기반으로 합니다. 또한, Stingray 렌더링 파이프라인은 core 폴더에 저장된 데이터 파일을 기반으로 합니다.
모든 core 리소스를 부팅 패키지에 포함시킬 필요는 없습니다. 실제 게임에서 사용하는 특정 컨텐츠 조각만 골라서 선택하면 됩니다. 하지만 전체 core 폴더를 포함시키면 실수로 중요 리소스를 빠트릴 위험을 피할 수 있습니다.
프로젝트의 다른 모든 Lua 스크립트.
이는 꼭 필요한 것은 아닙니다. 사용자 정의 Lua 스크립트는 다른 패키지에 포함시키고 게임 진행 중에 메모리에서 로드할 수 있습니다. 하지만 이 스크립트 파일은 메모리에서 비교적 용량을 적게 차지하기 때문에 게임 진행 중 항상 모든 파일을 로드시킨 채로 유지하면 게임 플레이 코드의 작성 및 디버깅이 간소화되는 효과가 있습니다.
프로젝트의 사용자 정의 흐름 노드를 정의하는 모든 .script_flow_nodes 리소스, 그리고 해당 노드가 기반으로 하는 콜백 함수를 포함하고 있는 모든 Lua 스크립트.
이 파일을 부팅 패키지에 로드해 두면 캐릭터 또는 수준의 흐름 그래프가 의도치 않게 정의되어 있지 않은 사용자 정의 노드를 사용하려고 시도하거나 현재 Lua 환경에 존재하지 않는 Lua 함수를 호출하려고 시도할 염려가 없습니다. Lua에서 사용자 정의 흐름 노드 생성도 참조하십시오.
프로젝트의 다른 모든 .package 리소스.
번들형 게임 빌드에는 필요하지 않습니다. 패키지는 .package 리소스를 메모리에 명시적으로 로드했는지 여부에 관계없이 항상 올바로 로드됩니다.
하지만 컴파일된(비-번들형) 데이터에서 게임을 실행하는 경우에는 게임이 각 패키지에 대해 어느 리소스를 로드해야 하는지 알 수 있게 하려면 .package 리소스를 사용할 수 있어야 합니다. 가장 쉬운 방법은 부팅 패키지에 이 리소스를 모두 추가해서 .package 리소스를 사용할 수 없는 상태의 패키지를 직접 로드할 일이 없도록 하는 것입니다.