К содержимому
Что такое уровень
На этой странице

Что такое уровень

Уровень - это папка с файлами. Что в ней лежит, в каком формате её хранить и как передать уровень другому человеку

Что лежит в папке

Уровень Bullet Hero - это обычная папка на диске. Не запись в базе и не зашифрованный архив

Главных файлов два:

  • level.json - сам уровень: объекты, ключи, темы, ресурсы
  • metadata.json - обложка: название, описание, авторы, теги, длительность

Рядом лежит всё, что уровень использует: трек, картинки, шрифты. Разработчики не поставляют ни одной текстуры. Всё, что видно в уровне, - это встроенная фигура или файл из этой папки

Обложка лежит отдельно, чтобы показать список из тысячи уровней, не открывая тысячу уровней

Полный список файлов - Папка уровня и бэкапы

Json или Blob

Формат файла выбирается при создании уровня:

ФорматЧто это
Jsonобычный текст, открывается любым редактором и чинится руками
Blobбинарный файл, грузится в десятки раз быстрее и весит втрое меньше, глазами не читается
Рекомендация

Делайте уровень в Json, а в Blob переводите готовый. Если уровень перестал открываться, Json можно прочитать и починить руками. Blob почти не чинится: один испорченный байт не проходит проверку целостности

Как передать уровень

Уровень передаётся копированием. Заархивировали папку, отправили, распаковали, открыли. Ничего не устанавливается, не регистрируется и не импортируется

На ПК это работает всегда. На телефоне - там, куда пускает система

Что из этого следует:

  • бэкап уровня - это копия папки
  • файлы внутри папки не переименовывайте: ресурсы ищутся по именам
  • уровень, который редактор не открывает, можно прочитать глазами или во вкладке Сырые данные
Внимание

Не правьте level.json в текстовом редакторе, пока уровень открыт в игре. Сохранение из редактора молча перезапишет ваши правки

Открытый формат

Модель данных уровня лежит в отдельном репозитории под лицензией MIT - bullet-hero/sdk. Поэтому уровень можно прочитать и без игры, а под формат можно написать свой инструмент. Дефект формата тоже виден снаружи

Подробнее о формате - SDK

Дальше: Первый уровень: маршрут, Папка уровня и бэкапы