Голосование

Как вы относитесь к играм в жанре "симулятор колонии"?












Оформление



Пользователей
Сейчас на форуме
Пользователи: 2
Гостей: 572
Всего: 574

0 Пользователей и 1 Гость просматривают эту тему.

Тема: Дневник разработки Bannerlord: Еще больше интерфейса!  (Прочитано 5881 раз)

  • Сообщений: 26113
  • За победу в конкурсе "Знамя кальрадийца" И создали они сайт... За регистрацию на форуме не позже сентября 2008 года
  • Сервер Discord
    • Просмотр профиля
    • Всадники Кальрадии
И вновь настало время поговорить о Mount&Blade II: Bannerlord. Сегодняшняя запись из дневника разработки может показаться кому-то не самой увлекательной, но вот причины ее появления, как мне кажется, достаточно интересными. В первую очередь хочу отметить, что уже несколько дневников подряд в публикуемых записях прослеживается определенная закономерность, что за Callum ранее не наблюдалось. Предыдущие ходы разработчиков я уже успел отметить в недавно вышедшем на канале Всадников

видеоролике (кстати говоря, рекомендую к просмотру, если вы еще этого не сделали), сегодня же мы наблюдаем дальнейшее развитие цепочки. Впрочем, давайте ближе к делу: темой позапрошлого выпуска, как мы помним, стало интервью с программистом интерфейса Эмре Оздемиром. Помимо всего прочего, команда упомянула и о Gauntlet - специальном фреймворке для работы над указанной деталью игры. Сегодня же команда решила познакомить нас с данным инструментом подробнее. Еще немного, и я начну думать, что у Taleworlds действительно есть какая-то стратегия. Впрочем, долой шутки, давайте все же взглянем на предоставленную турками информацию. Как пояснили нам авторы, в первой части интерфейс игры строился на совмещении технологий Flash и Scaleform. Это довольно распространенные инструменты, которые, если подумать, вполне выполняют возложенную на них роль. В то же время, у такого подхода есть и недостатки. Так, к примеру, в случае с Flash любое, даже самое незначительное изменение файла требует перезагрузки игры. А еще обе технологии являются продуктами сторонних компаний, что создает ряд ограничений на работу с ними.

"Ну что же! Давайте тогда создадим свою собственную библиотеку" - сказали в свое время разработчики. Для нас с вами это звучит достаточно просто, но для команды это означало потерю достаточно большого количества человекочасов, которые уже были вложены в интерфейс к этому моменту. Помимо того, что такое решение является одной из причин задержки с выходом Bannerlord (наконец-то команда призналась хоть в чем-то), это означало еще и необходимость выбрать альтернативу. Одним из первых пришедших на ум решений стала концепция MVVM (Model-View-ViewModel), принцип работы который грубо можно описать как "система, в которой код отделен от графического исполнения". В нагрузку к указанной концепции было также составлено несколько принципиальных правил: система должна быть быстрой и высокопроизводительной, она должна вносить изменения "на лету", создание интерактивных элементов должно быть максимально простым, ну и, наконец, макет, используемый программистом, не должен зависеть от визуального исполнения, созданного дизайнером. Вы еще тут? Тогда продолжаем. Сложив все вместе, разработчики в итоге получили латную перчатку, то бишь Gauntlet. И это действительно очень интересная вещь: ты вносишь изменения в .xml файл, сохраняешь его и сразу же наблюдаешь изменения в игре. Те, кто когда-либо работал с редактором каскадных стилей в браузере, наверняка поймут о чем нам говорят Taleworlds. Кстати говоря, сравнения с вышеуказанной технологией вовсе не лишние: как и в CSS, Gauntlet позволяет вкладывать в один файл отссылки к другим, а также подключать для одного и того же элемента различные действия, например, менять фон кнопки при наведении на нее курсора мыши. Ну а в качестве бонуса команда приложила скриншот с демонстрацией экрана экипировки - ничего нового, но посмотреть можно.

Ну а в качестве собственного бонуса Всадников хочу представить еще один пост, сделанный уже гораздо менее официально: дело в том, что Ilker Serdar Yildiz, один из членов команды, специализирующийся на создании иллюстраций, буквально на днях опубликовал несколько свежих изображений, нарисованных им для Bannerlord. В представленных работах демонстрируются всадники всех представленных в игре шести культур, причем стиль их исполнения чем-то напоминает агитационные плакаты середины 20 века. Посмотреть на иллюстрации можно как на странице автора в Artstation, так и в нашей галерее, в которую уже все заботливо утащено. Кстати, спасибо за находку Секатору.

« Последнее редактирование: 12 Октября, 2018, 13:18 от Vanok »
  • Ник в M&B: [RUSMNB]Vanok
  • Фракция: Вегиры
И помните: "Хватит набивать посты" (NightHawkreal)
  • Сообщений: 39489
  • За регистрацию на форуме не позже сентября 2008 года И создали они сайт...
    • Просмотр профиля
И правая рука не знает, что творит левая...

  • Ник в M&B: Sellsword
Привыкший сражаться не жнет и не пашет:
Хватает иных забот.
Налейте наемникам полные чаши!
Им завтра – снова в поход!
  • Сообщений: 3331
  • За регистрацию на форуме не позже декабря 2016 года и не менее 2500 постов
    • Просмотр профиля
один из членов команды, специализирующийся на создании иллюстраций
а кто нибудь, специализирующийся на создании самой игры там есть?

  • Фракция: Наемники
  • Сообщений: 2766
  • За создание крупных модов и других особо сложных проектов За регистрацию на форуме не позже декабря 2016 года и не менее 2500 постов Выдается модераторам, достигнувшим значимых успехов на своем посту
    • Просмотр профиля
Одним из первых пришедших на ум решений стала концепция MVVM (Model-View-ViewModel), принцип работы который грубо можно описать как "система, которая работает сама по себе и не зависит от сторонних библиотек".
facepalm facepalm facepalm facepalm facepalm facepalm facepalm facepalm facepalm facepalm
Нет, принцип работы этого паттерна совсем не такой. Смысл MVVM - разделение бизнес-логики (кода) и интерфейса. Т. е, разработчик задаёт логику работы с данными, а дизайнер работает с пользовательским интерфейсом.
Да, и мне не нравится этот паттерн. Он какой-то сложный для меня.  :-\ :-\ :-\ :-\ :-\ :-\ :-\ :-\ :-\

1 + 2 + 3 + 4 + ... = ζ(-1) = -0.08(3)
1 - 1 + 1 - 1 + 1 - ... = 0.5
1 - 2 + 3 - 4 + 5 - ... = 0.25

На вопросы в ПС не отвечаю! Спрашивать в темах!
  • Сообщений: 26113
  • За победу в конкурсе "Знамя кальрадийца" И создали они сайт... За регистрацию на форуме не позже сентября 2008 года
  • Сервер Discord
    • Просмотр профиля
    • Всадники Кальрадии
Janycz, ты можешь сколько хочешь фейспалмпить, но так написали сами разработчики:
Цитировать (выделенное)
This meant that part of our code was in neat C# classes that did not depend on any specific UI library, and we would be able to re-use this part of our work even if we had to re-do the rest. Yay!

Иди с ними спорь. И да, что-то я не увидел текст новости от тебя. Халтуришь.

  • Ник в M&B: [RUSMNB]Vanok
  • Фракция: Вегиры
И помните: "Хватит набивать посты" (NightHawkreal)
  • Сообщений: 2766
  • За создание крупных модов и других особо сложных проектов За регистрацию на форуме не позже декабря 2016 года и не менее 2500 постов Выдается модераторам, достигнувшим значимых успехов на своем посту
    • Просмотр профиля
Иди с ними спорь. И да, что-то я не увидел текст новости от тебя. Халтуришь.
Нет, там еще написано нормально:
Это означает, что часть нашего кода находилась в красивых классах C# и не зависила от какой-либо специфической библиотеки пользовательского интерфейса, и мы могли бы повторно использовать эту часть нашей работы, даже если бы нам пришлось переделать остальное. Ура!И что тут написано: что есть некоторый код, который независит от интерфейса. Это называется МОДЕЛЬ в паттерне MVVM. Она представляет собой логику работы с данными и описание фундаментальных данных, необходимых для работы приложения. В MVVM еще есть ПРЕДСТАВЛЕНИЕ и МОДЕЛЬ ПРЕДСТАВЛЕНИЯ. ПРЕДСТАВЛЕНИЕ это интерфейс. МОДЕЛЬ ПРЕДСТАВЛЕНИЯ это код, связывающий ПРЕДСТАВЛЕНИЕ и МОДЕЛЬ. И вот этот код уже зависит от ПРЕДСТАВЛЕНИЯ (интрефейса).

1 + 2 + 3 + 4 + ... = ζ(-1) = -0.08(3)
1 - 1 + 1 - 1 + 1 - ... = 0.5
1 - 2 + 3 - 4 + 5 - ... = 0.25

На вопросы в ПС не отвечаю! Спрашивать в темах!
  • Сообщений: 26113
  • За победу в конкурсе "Знамя кальрадийца" И создали они сайт... За регистрацию на форуме не позже сентября 2008 года
  • Сервер Discord
    • Просмотр профиля
    • Всадники Кальрадии
Janycz, эка тебя бомбит то. Не выспался?

  • Ник в M&B: [RUSMNB]Vanok
  • Фракция: Вегиры
И помните: "Хватит набивать посты" (NightHawkreal)
  • Сообщений: 5084
  • За регистрацию на форуме не позже декабря 2011 года и не менее 3000 постов
    • Просмотр профиля
Ну а в качестве собственного бонуса Всадников хочу представить еще один пост, сделанный уже гораздо менее официально: дело в том, что Ilker Serdar Yildiz, один из членов команды, специализирующийся на создании иллюстраций, буквально на днях опубликовал несколько свежих изображений, нарисованных им для Bannerlord. В представленных работах демонстрируются всадники всех представленных в игре шести культур
Иллюстрации хороши, да, только несколько однотипны.

Еще немного, и я начну думать, что у Taleworlds действительно есть какая-то стратегия. Впрочем, долой шутки
Какие уж тут шутки. Мне вот тоже начинает казаться, что правы те, кто высказывал уже предположение, что задумка разработчиков это сделать не столько игру, сколько инструментарий для мододелов.

И правая рука не знает, что творит левая...
Это не критично. Главное чтобы всем этим процессом управляла голова.

« Последнее редактирование: 12 Октября, 2018, 13:18 от Век »
  • Сообщений: 39489
  • За регистрацию на форуме не позже сентября 2008 года И создали они сайт...
    • Просмотр профиля
Век,
А не другое место.  :)

  • Ник в M&B: Sellsword
Привыкший сражаться не жнет и не пашет:
Хватает иных забот.
Налейте наемникам полные чаши!
Им завтра – снова в поход!
  • Сообщений: 3331
  • За регистрацию на форуме не позже декабря 2016 года и не менее 2500 постов
    • Просмотр профиля
Да, и мне не нравится этот паттерн. Он какой-то сложный для меня.
если даже тебе сложно, то как же мы будем мододелить?

  • Фракция: Наемники
  • Сообщений: 2766
  • За создание крупных модов и других особо сложных проектов За регистрацию на форуме не позже декабря 2016 года и не менее 2500 постов Выдается модераторам, достигнувшим значимых успехов на своем посту
    • Просмотр профиля
если даже тебе сложно, то как же мы будем мододелить?
Вообще, я то понимаю идею MVVM, понимаю как это работает. Но для меня это сложно в плане реализации. Когда я начинаю писать интерфейс: какая н**** модель, сделаем просто onclick и вперед. Да, и это касается только UI. Так что вы сможете мододелить что нибудь кроме UI.

1 + 2 + 3 + 4 + ... = ζ(-1) = -0.08(3)
1 - 1 + 1 - 1 + 1 - ... = 0.5
1 - 2 + 3 - 4 + 5 - ... = 0.25

На вопросы в ПС не отвечаю! Спрашивать в темах!
  • Сообщений: 1731
    • Просмотр профиля
Janycz,
По моему mvvm этакий "шаблон" для создания интерфейса. И его использует команда для организации своей работы.
Я думаю простым мододелам не особо нужно вдаваться в такие подробности. Так понимаю основной слой для моддинга интерфейса это их Gauntlet (xml). Поправте если ошибаюсь.


мой профиль:h61/i7 3770/ssd60Gb/ssd250Gb/hdd1000Gb/16GbDDR3/GTX 980ti
  • Сообщений: 2766
  • За создание крупных модов и других особо сложных проектов За регистрацию на форуме не позже декабря 2016 года и не менее 2500 постов Выдается модераторам, достигнувшим значимых успехов на своем посту
    • Просмотр профиля
Janycz,
По моему mvvm этакий "шаблон" для создания интерфейса. И его использует команда для организации своей работы.
Я думаю простым мододелам не особо нужно вдаваться в такие подробности. Так понимаю основной слой для моддинга интерфейса это их Gauntlet (xml). Поправте если ошибаюсь.
1) MVVM - это паттерн, цель которого - разделение бизнес-логики и интерфейса.
2) Этот паттерн хорош для командной работы, поскольку программист пишет модель независимо от дизайнера, который пишет интерфейс. А потом между ними очень быстро делается связка - модель представления.
3) Простым мододелам можно не вдаваться в подробности.
4) Xml это только представление. Конечно, можно просто изменить дизайн окна, изменив представление.
5) Тут еще такое. Допустим, кто-то захочет создать новое окно. Надеюсь, его можно будет сделать по-простому, без MVVM. И п****, что код от интерфейса без гвоздодера не отделишь, зато быстро, понятно и не сложно.

1 + 2 + 3 + 4 + ... = ζ(-1) = -0.08(3)
1 - 1 + 1 - 1 + 1 - ... = 0.5
1 - 2 + 3 - 4 + 5 - ... = 0.25

На вопросы в ПС не отвечаю! Спрашивать в темах!
  • Сообщений: 1964
    • Просмотр профиля
давайте сразу мод приготовим? еще до выхода :)
я когда-то линейку войск постил на форуме с рисунками юнитов...

  • Ник в M&B: NeuD_dux_RS
  • Фракция: Кергиты
Я помню анимацию первого МаунтБлейда.
RS2020 в стиме https://steamcommunity.com/groups/rscorp
  • Сообщений: 1837
    • Просмотр профиля
5) Тут еще такое. Допустим, кто-то захочет создать новое окно. Надеюсь, его можно будет сделать по-простому, без MVVM. И п****, что код от интерфейса без гвоздодера не отделишь, зато быстро, понятно и не сложно.
Сильно не вдавался в подробности о MVVM (так что извините, если чушь понесу), но это очень сильно похожне на то как работает Unity (да и думаю Unreal), где код отдельно, графика отдельно. И лично мне эта система нравится. Можно сделать очень уродливый интерефейс, с ужасным кодом, но быстро :D и довольно легко. И потом можно починить уродливость без изменения кода. А код можно и не чинить. если кое-как работает уже :laught:

  • Ник в Minecraft: Yurets1257
  • Фракция: Норды
  • Сообщений: 457
  • Skype - gjrfytn2
    • Просмотр профиля
    • Моя музыка
Yurets, несомненно, для Unity есть MVVM-фреймворки, но не помню, чтобы этот паттерн там поддерживался «из коробки». Скорее всего, вы немного про другое говорите.

  • Сообщений: 2766
  • За создание крупных модов и других особо сложных проектов За регистрацию на форуме не позже декабря 2016 года и не менее 2500 постов Выдается модераторам, достигнувшим значимых успехов на своем посту
    • Просмотр профиля
Можно сделать очень уродливый интерефейс, с ужасным кодом, но быстро  и довольно легко. И потом можно починить уродливость без изменения кода. А код можно и не чинить. если кое-как работает уже
Это без MVVM. Это так, по-нашему, по-простому, в onclick х**рим бизнес-логику (код). Итог: быстро, но код от интерфейса сложно отделяется.

1 + 2 + 3 + 4 + ... = ζ(-1) = -0.08(3)
1 - 1 + 1 - 1 + 1 - ... = 0.5
1 - 2 + 3 - 4 + 5 - ... = 0.25

На вопросы в ПС не отвечаю! Спрашивать в темах!
  • Сообщений: 3331
  • За регистрацию на форуме не позже декабря 2016 года и не менее 2500 постов
    • Просмотр профиля
прикольная нынче тема , блог -
Это без MVVM. Это так, по-нашему, по-простому, в onclick х**рим
для Unity есть MVVM-фреймворки
MVVM - это паттерн
я то понимаю идею MVVM
я прям даже не знаю , с какой стороны зайти, чтобы выразить недовольство разработчикам  :D - придётся ждать след. четверг

« Последнее редактирование: 13 Октября, 2018, 09:47 от bezumnyi joe »
  • Фракция: Наемники
  • Сообщений: 1837
    • Просмотр профиля
Это без MVVM. Это так, по-нашему, по-простому, в onclick х**рим бизнес-логику (код). Итог: быстро, но код от интерфейса сложно отделяется.
Хорошо, понял!

  • Ник в Minecraft: Yurets1257
  • Фракция: Норды

СиЧЪ Total War СиЧЪ Total War
Сайт "Всадники Кальрадии" не является СМИ. Администрация не несет ответственность за высказывания и публикацию каких-либо материалов, сделанные любыми пользователями форума, в том числе посредством личных и публичных сообщений. Материалы, размещенные на ресурсе третьими лицами, могут содержать информацию, не предназначенную для лиц, не достигнувших совершеннолетия. При обнаружении на ресурсе материалов, нарушающих законодательство Российской Федерации, необходимо обращаться к администрации.
Сайт работает на быстром VPS/VDS хостинге от FASTVPS


Powered by SMF 2.0 | SMF © Simple Machines LLC