IMS Creators Desktop 0.9.6: делаем файлы проекта проще и лаконичнее

Мы продолжаем улучшать редактор, делая повседневную работу с документацией, игровым контентом и механиками более комфортной. В данном релизе была проведена масштабная оптимизация внутренней архитектуры, благодаря которой структура проектных файлов стала более прозрачной, а выполнение ключевых операций в редакторе заметно ускорилось.

 

Что изменилось?

Новый упрощённый формат файлов контента

Прежде каждый ассет проекта сохранялся в виде автономного файла, перегруженного внутренней метаинформацией - служебными полями, описаниями блоков и вспомогательными данными, необходимыми для работы приложения, что гарантировало надежность, однако существенно затрудняло ручной разбор файлов.

С выходом обновления у пользователей появилась возможность выбора: в настройках проекта в параметре «Формат файла контента» можно оставить привычный вариант «Автономный (.ima.json)» либо выбрать новый «Упрощенный (.json)».

Упрощённый формат оставляет в файле только самое главное - непосредственно контент блоков, свойства и структуру. Такой файл удобно читать, удобно открывать в любом JSON-инструменте и удобно отслеживать изменения в системе контроля версий. Ничего не теряется: приложение хранит остальные служебные данные отдельно и восстанавливает их при открытии проекта. А если вернуться к автономному формату, полный набор метаданных вернётся на своё место.

Под капотом ассеты теперь хранятся в памяти в плоском виде - блоки больше не вложены друг в друга, что сделало поиск, редактирование и синхронизацию быстрее и предсказуемее.

Интеллектуальный импорт произвольных JSON-файлов

Совершенствуем процесс загрузки произвольных .json-файлов в проект тоже. Теперь IMS Creators понимает структуру файла: текстовые значения становятся текстовыми блоками, числа и булевы значения получают корректные типы, массивы превращаются в поля с множественными значениями, и все внутренние детали сохраняют свой порядок, автоматически получая нужные метки.

Новый блок Свойство: проектируйте структуру данных под свои задачи

Шаблон Игровой объект больше не тащит за собой обязательный блок свойств. Вместо этого мы добавили новый тип блока - Свойство представляющим собой одиночное независимое свойство с именем и значением. Теперь разработчики могут свободно формировать структуру данных в любых сочетаниях и последовательностях, не ограничиваясь заранее заданными рамками.

Логика создания игрового объекта стала предельно лаконичной: новый объект формируется из базового набора (галерея, описание и локализация), а дополнительные свойства добавляются по мере необходимости простым нажатием кнопки «Добавить свойство». Каждый блок Свойство функционирует автономно — обладает собственным именем и типом, поддерживает локализацию, наследование в производных объектах и прямое использование в качестве переменной внутри диалогов

Данный подход идеально гармонирует с упрощённым JSON-форматом, поскольку спроектированная в редакторе структура отражается в файле проекта в виде прозрачных пар «имя: значение» без громоздких вложенных метаданных. При этом для ранее созданных объектов Игровой объект предусмотрен механизм обратной совместимости, обеспечивающий их беспрепятственную работу с новым шаблоном

Переход на Markdown в описаниях объектов

Описание новых Игровых объектов и объекта Игровой механики теперь стало markdown-блоком. Раньше это было поле с форматированием через другой редактор - удобно внутри приложения, но тяжело для разбора за его пределами. Markdown сохраняет всё те же возможности оформления - заголовки, списки, таблицы, жирный текст, ссылки - но при этом контент хранится в простом, универсально читаемом синтаксисе.

Это важнее, чем может показаться: данные геймдизайна всё чаще потребляются движками, инструментами импорта и AI-ассистентами. Все они читают markdown нативно, без дополнительных парсеров и слоёв конвертации. Что вы написали в редакторе, то они и увидят в файле.

Заодно из меню создания ассета исчез старый WYSIWYG-элемент "Text" - теперь там остался только "Текст (.md)". А если нужен свободно форматируемый документ с любым набором блоков - диалоги, диаграммы, свойства, что угодно - для этого существует новый "Пустой элемент": создаёте его и наполняете нужными блоками.

Палитра блоков стала организованной

В списках добавления блоков появились группы: диалог, диаграмма, граф и редактор уровней собраны в один раздел. Устаревшие блоки "Форматированный текст" и Text Grid помечены как deprecated - рекомендуем переходить на современные блоки, и в новых проектах они не занимают первые позиции.

Блок "Список элементов"

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

Новый блок Список элементов отображает группу связанных ассетов в виде наглядных визуальных карточек с иконками и наименованиями, при этом привязка осуществляется как через стандартное диалоговое окно, так и простым перетаскиванием (drag-and-drop), а сортировка регулируется интуитивным перемещением элементов. Настройки блока позволяют задавать фильтрацию по типам и специальным условиям, а сам список экспортируется в системы диалогов в качестве переменной типа «массив ассетов», доступной для итераций, подсчетов и алгоритмической обработки.

Кроме того, функционал свойства «Выбор элемента» (включая единичные ссылки) был расширен за счет внедрения двухуровневой фильтрации. Если параметр Тип ограничивает выбор рамками заданного шаблона, то новое выражение-фильтр Условие осуществляет более глубокую селекцию на основе внутренних свойств самих объектов — к примеру, позволяя отфильтровать противников по их фракционной принадлежности

Блок "Комментарий"

Поскольку над дизайн-документами обычно работает вся команда, возникает необходимость в ремарках, рабочих TODO-заметках и примечаниях для коллег, которые не должны становиться частью основного контента.

Для этих целей создан блок Комментарий, представляющий собой лаконичную markdown-заметку, изолированную от основного содержимого и хранящуюся в служебном блоке. Ремарка не попадает в системы локализации и не экспортируется в виде переменных, но наглядно выделяется в интерфейсе редактора, оставаясь хорошо заметной для всех участников разработки.

Прочие изменения

  • Редактор уровней больше не теряет начальный вид в демонстрационных проектах - холст теперь сам центрируется после изменения размеров.
  • Каждому элементу теперь можно назначить цвет в его настройках. Все ссылки на этот элемент по всему проекту автоматически получают указанный цвет - поэтому разные виды объектов легко различить с первого взгляда.
  • Небольшие изображения - например, спрайты в стиле пиксель-арт - теперь отображаются в галереях с фильтром текстуры "nearest", сохраняющий чёткость графики при масштабировании
  • Обновлён интерфейс редакторов структур и перечислений.
  • В блоке «Галерея» теперь можно назначать подписи к изображениям.
  • Для элементов Markdown теперь тоже можно изменять иконку.
  • Функция выделения нескольких блоков, копирования и вставки.
  • Сохраняется директория, в которой был создан последний проект.
  • Возможность отключения облачной синхронизации.
  • Индикатор обновления приложения теперь отображает прогресс.
  • Исправлена ошибка "Type is not set", появлявшаяся при редактировании производного блока.
  • Исправлена неполадка, препятствовавшая сохранению пользовательских иконок ассетов.
  • Диалоги теперь берут цвета переменных из единого источника, поэтому их стили всегда соответствуют теме приложения.

Создавайте, Структурируйте, Автоматизируйте! Ждём вашей обратной связи, спасибо, что помогаете нам становиться лучше! С обновлением 0.9.6 файлы стали чище, структура Game Object гибче, а работа над дизайн-документацией продуктивнее. Подписывайтесь на наши социальные сети: тг-чат (https://t.me/imscreators) или вк (https://vk.com/imscreators) - и пишите нам через форму обратной связи (https://ims.cr5.space/ru/feedback). Желаем удачи и положительных эмоций от разработки будущих ваших игр. До встречи!

Поделиться:
Назад к блогу