GameMaker 프로젝트 형식 해설
이 문서에서는 GameMaker에서 사용하는 프로젝트 형식에 대해 설명합니다.
기본 형식
YYP 프로젝트 파일
.yyp확장자를 가진 파일로, 프로젝트의 리소스 및 기타 메타데이터를 설명합니다.
.resource_order 파일
.resource_order확장자를 가진 이 파일은 자산 탐색기에서 그룹 및 자산의 순서를 저장합니다. 사용자 정의 정렬 필터가 설정된 경우 사용됩니다.- 기본적으로
.gitignore에 추가되어 Git에서 무시됩니다.
YY 파일들
- YY 파일은 개별 자산에 대한 정보를 저장하는 리소스 파일입니다. 이 파일들은 스크립트, 셰이더, 이미지 및 오디오 파일 등 자산에 속하는 다른 파일에 대한 데이터를 포함합니다. 데이터는 JSON과 유사한 형식으로 저장됩니다.
.gitignore 및 .gitattributes 파일
- 이 두 파일은 GameMaker 프로젝트가 Git에서 어떻게 처리되는지를 결정합니다. 기본 설정에서는 새 프로젝트나 가져온 프로젝트에 자동으로 추가됩니다.
.gitignore파일은 Git에서 특정 파일 패턴을 무시하도록 합니다. 기본적으로 몇 가지 파일과 파일 확장자를 무시합니다..gitattributes파일은 Git이 특정 파일을 처리하는 방식을 제어합니다.
YYZ 파일
- YYZ 파일은 파일 메뉴의 프로젝트 내보내기 > YYZ 옵션을 통해 생성된 압축 프로젝트 내보내기 파일입니다.
로컬 자산 패키지
- 로컬 자산 패키지는 프로젝트의 내용의 일부를 사용하여 생성 및 가져옵니다.
파일 형식 개요
| 파일 형식 | 설명 | |----------------|-------------------------------------------------| | YYMPS | 2.3 이상: 압축된 마켓플레이스 자산 | | YYMP | 2.3 미만: 구식 포맷의 압축된 마켓플레이스 자산 | | GMEZ | 1.x: 구식 포맷의 압축된 마켓플레이스 자산 | | GMX | 1.x: 구식 포맷의 리소스 파일 |
활용 및 응용 예제
프로젝트 파일 생성
// 새 프로젝트 파일을 생성하는 예제
var projectFile = "myGame.yyp"; // 프로젝트 이름
// 프로젝트 메타데이터 설정
var projectMeta = {
"name": "My First Game",
"version": "1.0",
"author": "Your Name"
};
// 메타데이터를 파일에 저장하는 코드
save_project_file(projectFile, projectMeta);
자산 정렬
// resource_order 파일을 이용한 자산 정렬 예제
var resourceOrderFile = "myGame.resource_order"; // 정렬 파일 이름
var assetOrder = ["sprite_player", "sprite_enemy", "background_level1"];
// 자산 정렬 정보를 파일에 저장하는 코드
save_resource_order(resourceOrderFile, assetOrder);
가져오기 및 내보내기
// 프로젝트 내보내기 예제
var exportFile = "myGame_export.yyz"; // 내보낼 파일 이름
export_project(exportFile);
// 로컬 패키지 가져오기 예제
var localPackage = "local_assets.zip"; // 가져올 패키지 이름
import_local_package(localPackage);
위의 예제들은 GameMaker의 프로젝트 파일을 사용하는 방법을 보여줍니다. 필요한 경우 이를 바탕으로 더 복잡한 기능을 추가할 수 있습니다.