레벨이란
레벨은 디스크에 있는 평범한 폴더입니다: 레벨 파일, 메타데이터, 레벨이 쓰는 모든 것. Json 형식으로 만들고 폴더를 복사해서 전달하면 되며, 설치할 것은 없습니다
폴더에 들어 있는 것
폴더는 데이터베이스의 한 행도, 암호화된 아카이브도 아닙니다
주요 파일은 두 개입니다:
level.json- 레벨 그 자체: 오브젝트, 키프레임, 테마, 리소스metadata.json- 커버: 이름, 설명, 제작자, 태그, 길이
그 옆에는 레벨이 쓰는 모든 것이 놓입니다: 트랙, 이미지, 폰트. 게임에는 텍스처가 하나도 들어 있지 않습니다. 레벨에서 보이는 것은 모두 내장 도형이거나 이 폴더의 파일입니다
커버가 별도 파일인 이유는 레벨 천 개의 목록을 보여 줄 때 레벨 천 개를 열지 않아도 되게 하기 위해서입니다
파일 전체 목록 - 레벨 폴더와 백업
Json 또는 Blob
파일 형식은 레벨을 만들 때 고릅니다:
| 형식 | 특징 |
|---|---|
Json | 일반 텍스트입니다. 어떤 편집기로도 열리고 손으로 고칠 수 있습니다 |
Blob | 바이너리 파일입니다. 수십 배 빨리 불러오고 크기는 3분의 1이지만, 눈으로는 읽을 수 없습니다 |
레벨은 Json 형식으로 만들고, 완성되면 Blob 형식으로 변환하는 것이 좋습니다. 레벨이 열리지 않게 되더라도 Json 파일은 읽고 손으로 고칠 수 있습니다. Blob 파일은 거의 복구할 수 없습니다: 바이트 하나만 손상되어도 무결성 검사를 통과하지 못합니다
레벨을 전달하는 방법
레벨은 복사로 전달됩니다. 폴더를 zip 파일로 압축하고, 보내고, 압축을 풀고, 엽니다. 설치도, 등록도, 가져오기도 필요 없습니다
PC에서는 항상 이렇게 됩니다. 휴대폰에서는 시스템이 접근을 허용하는 곳이라면 어디서나 됩니다
여기서 다음이 따라 나옵니다:
- 레벨의 백업은 폴더의 복사본입니다
- 폴더 안의 파일 이름을 바꾸지 마십시오: 리소스는 이름으로 찾습니다
- 에디터가 열지 못하는
Json레벨도 눈으로 읽을 수는 있습니다.원시 데이터탭은 이미 열려 있는 레벨만 보여 줍니다
레벨이 게임에서 열려 있는 동안에는 level.json 파일을 텍스트 편집기로 편집하지 마십시오. 에디터에서 저장하면 직접 고친 내용을 아무 알림 없이 덮어씁니다
공개된 형식
레벨 데이터 모델은 MIT 라이선스로 별도 저장소에 있습니다 - bullet-hero/sdk. 그래서 레벨은 게임 없이도 읽을 수 있고, 이 형식을 위한 도구를 직접 만들 수도 있습니다. 형식의 결함도 바깥에서 보입니다
형식에 대해 자세히 - SDK