И вновь настало время поговорить о
Mount&Blade II: Bannerlord. Сегодняшняя запись из дневника разработки может показаться кому-то не самой увлекательной, но вот причины ее появления, как мне кажется, достаточно интересными. В первую очередь хочу отметить, что уже несколько дневников подряд в публикуемых записях прослеживается определенная закономерность, что за Callum ранее не наблюдалось. Предыдущие ходы разработчиков я уже успел отметить в недавно вышедшем на канале Всадников видеоролике (https://www.youtube.com/watch?v=psV-rFdvdvI) (кстати говоря, рекомендую к просмотру, если вы еще этого не сделали), сегодня же мы наблюдаем дальнейшее развитие цепочки. Впрочем, давайте ближе к делу: темой позапрошлого выпуска, как мы помним, стало
интервью с программистом интерфейса Эмре Оздемиром. Помимо всего прочего, команда упомянула и о Gauntlet - специальном фреймворке для работы над указанной деталью игры. Сегодня же команда решила познакомить (https://steamcommunity.com/games/261550/announcements/detail/3648371458947851581) нас с данным инструментом подробнее. Еще немного, и я начну думать, что у Taleworlds действительно есть какая-то стратегия. Впрочем, долой шутки, давайте все же взглянем на предоставленную турками информацию. Как пояснили нам авторы, в первой части интерфейс игры строился на совмещении технологий Flash и Scaleform. Это довольно распространенные инструменты, которые, если подумать, вполне выполняют возложенную на них роль. В то же время, у такого подхода есть и недостатки. Так, к примеру, в случае с Flash любое, даже самое незначительное изменение файла требует перезагрузки игры. А еще обе технологии являются продуктами сторонних компаний, что создает ряд ограничений на работу с ними.
"Ну что же! Давайте тогда создадим свою собственную библиотеку" - сказали в свое время разработчики. Для нас с вами это звучит достаточно просто, но для команды это означало потерю достаточно большого количества человекочасов, которые уже были вложены в интерфейс к этому моменту. Помимо того, что такое решение является одной из причин задержки с выходом Bannerlord (наконец-то команда призналась хоть в чем-то), это означало еще и необходимость выбрать альтернативу. Одним из первых пришедших на ум решений стала концепция MVVM (Model-View-ViewModel), принцип работы который грубо можно описать как "система, в которой код отделен от графического исполнения". В нагрузку к указанной концепции было также составлено несколько принципиальных правил: система должна быть быстрой и высокопроизводительной, она должна вносить изменения "на лету", создание интерактивных элементов должно быть максимально простым, ну и, наконец, макет, используемый программистом, не должен зависеть от визуального исполнения, созданного дизайнером. Вы еще тут? Тогда продолжаем. Сложив все вместе, разработчики в итоге получили латную перчатку, то бишь Gauntlet. И это действительно очень интересная вещь: ты вносишь изменения в .xml файл, сохраняешь его и сразу же наблюдаешь изменения в игре. Те, кто когда-либо работал с редактором каскадных стилей в браузере, наверняка поймут о чем нам говорят Taleworlds. Кстати говоря, сравнения с вышеуказанной технологией вовсе не лишние: как и в CSS, Gauntlet позволяет вкладывать в один файл отссылки к другим, а также подключать для одного и того же элемента различные действия, например, менять фон кнопки при наведении на нее курсора мыши. Ну а в качестве бонуса команда приложила
скриншот с демонстрацией экрана экипировки - ничего нового, но посмотреть можно.
Ну а в качестве собственного бонуса Всадников хочу представить еще один пост, сделанный уже гораздо менее официально: дело в том, что Ilker Serdar Yildiz, один из членов команды, специализирующийся на создании иллюстраций, буквально на днях опубликовал несколько свежих изображений, нарисованных им для Bannerlord. В представленных работах демонстрируются всадники всех представленных в игре шести культур, причем стиль их исполнения чем-то напоминает агитационные плакаты середины 20 века. Посмотреть на иллюстрации можно как на странице автора в Artstation (https://www.artstation.com/artwork/OyqeLk), так и в нашей
галерее, в которую уже все заботливо утащено. Кстати, спасибо за находку Секатору.