Крупное обновление GlowEngine

Довольно давно на GlowEngine не выходило крупных обновлений. Причина простая: всё это время мы работали над большим обновлением, которое затрагивает сразу несколько важных частей движка.

Главное изменение этого релиза — полностью переработанная система пользовательского интерфейса.

Теперь у разработчиков появилось намного больше возможностей сделать свою игру визуально уникальной и настроить интерфейс под стиль конкретного проекта.

Новый редактор UI

В разделе «Ассеты» появилась новая вкладка «Изображения UI».

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

Мы постарались сделать загрузку максимально удобной. Можно импортировать как готовые UI-атласы, так и отдельные изображения. Для атласов доступны ручная нарезка, автоматическое обнаружение элементов и удаление лишних прозрачных областей.

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

Для элементов, которые работают вместе с текстом, появились отдельные настройки. Можно изменить размер элемента, размер текста, выравнивание, минимальные и максимальные размеры, безопасную область для текста и другие параметры.

Отдельно мы добавили поддержку 9-slice. Благодаря этому кнопки, окна и другие элементы могут корректно растягиваться под текст и разные размеры экрана, не деформируя рамки и декоративные части изображения.

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

UI теперь одинаково работает в редакторе и в игре

Большая часть работы была не только в создании самого редактора.

Мы также переработали передачу настроек UI в превью, опубликованные игры и выгружаемые сборки.

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

Пользовательские иконки получили приоритет над стандартными, кнопки главного и игрового меню используют назначенные настройки Smart Component и 9-slice.

Заодно мы исправили позиционирование элементов в модальных окнах, прокрутку, лишние отступы и разделители, отображение сохранений и загрузок и ещё ряд небольших проблем, которые могли проявляться в разных сценариях запуска игры.

Улучшили мобильную версию

Отдельное внимание в этом обновлении мы уделили мобильным устройствам.

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

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

Аналогичные изменения получили административные страницы и основная навигация GlowEngine.

Небольшие улучшения редактора сцен

Изменения затронули и канвас.

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

Уведомление не блокирует работу и автоматически исчезает через некоторое время.

Настройки проекта стали удобнее

Настройки визуальной новеллы мы вынесли на отдельную страницу.

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

Это только первый этап

Текущая версия редактора UI — не финальная.

Мы изначально разделили развитие этой системы на несколько этапов.

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

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

В дальнейшем мы также планируем добавить в редактор UI возможность настраивать анимации элементов и звуки при взаимодействии с ними.

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

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

Спасибо всем, кто продолжает пользоваться GlowEngine, создавать проекты, публиковать игры и оставлять обратную связь.

Мы продолжаем активно развивать движок. Впереди ещё много обновлений и новых возможностей.