Файловая структура уровня
Некоторые функции, описанные в настоящем документе, более не поддерживаются, либо начнут поддерживаться в будущем.
Управление структурой уровня осуществляется редактором уровней, желательно все сделать при помощи редактора. Необходимость ручного вмешательства описана в разделе Примечания.
Все уровни хранятся в директории levels
относительно директории ресурсов gamesource.
Каждый уровень имеет свою собственную директорию, при этом имя директории является идентификатором уровня и все внутренние файлы (желательно) должны иметь такое же имя.
Конфигурационный файл уровня
Ключевым файлом является файл конф игурации с расширением .lvl
. В нем есть одна единственная секция, имя которой аналогично идентификатору уровня.
Ключи (все имена файлов должны быть указаны с расширением):
- local_name - название локации, произвольная форма, будет отражено в пользовательском игровом интерфейсе;
- geometry - бинарный файл статической геометрии уровня, расширение
.geom
; - green - бинарный файл растительности уровня, расширение
.green
; - type - тип уровня
indoor
(закрытый - уровень где нет глобального источника света)/outdoor
(открытый - уровень где есть глобальный источник света); - entity - конфигурационный файл игровых объектов уровня, расширение
.ent
; - physic - бинарный файл физики уровня, расширение
/phy
; - aigrid - бинарный файл AI сетки уровня, расширение
.aigrid
; - weather - конфигурационный файл погоды, будет взят из директории
gamesource/config
; - ambient_sounds - звуковые файлы для фонового звучания на уровне, разделяются символами
,
или|
, будут взяты из директории gamesource/sounds.
По умолчанию, файлы уровня (geometry, green, entity, physic, aigrid) сохраняются редактором уровней в директорию уровня, имена файлов имеют название уровня. При ручной сборке уровня, рекомендуется не нарушать это правило.
Конфигурационный файл игровых объектов уровня
Файл содержит информацию об игровых объектах уровня, представлен в виде файла конфигураций.
Обязательной секцией файла является секция с именем meta, которая содержит единственный ключ count - количество игровых объектов.
Описание одного игрового объекта осуществляется в одной секции. Секции именуются как ent_N где N - порядковый номер объекта в пределах [0, количество объектов).
Имена и значения ключей зависят от класса игрового объекта.
Превью уровня
Директория уровня может содержать изображение для предпросмотра содержимого уровня, с целью определения уровня. Это может быть любой скриншот уровня, который позволяет четко идентифицировать уровень.
Параметры:
- формат bmp, так как диалог выбора уровня поддерживает вывод изображения только в этом формате
- максимальные (они же оптимальные) размеры 400 пикселей по ширине, 250 пикселей по высоте
Примечания
В версии движка 0.10.0 необходимо самостоятельно дописать:
- local_name;
- weather;
- ambient_sounds.
Для удаления уровня необходимо ручное удаление директории уровня.