Лучшие практики
Начало работы с редактором XML
Модуль Bannerlord состоит из разных модулей, которые придают ему различную функциональность. Их можно рассматривать как игровые моды. Такой подход позволяет игрокам легко модифицировать игру. Модули находятся внутри папки установки Mount & Blade II Bannerlord, в каталоге с названием Modules. XML XML расшифровывается как Extensible Markup Language (расширяемый язык разметки), который позволяет хранить данные, связанные с игрой. Если мы хотим добавить какие-то данные в модуль, мы создаём XML-документ внутри него или добавляем данные в существующий XML-документ.
Расширение запечатанных классов
Мы обратили внимание на то, что некоторые из наших разработчиков модификаций запрашивают обходной путь для расширения запечатанных классов. В этой статье мы рассмотрим, почему в игровых кодах есть запечатанные классы и как добиться для них расширенного поведения. Одна из основных причин, по которой мы сделали фундаментальные классы запечатанными, — это позволить кодовой базе поддерживать широкий спектр модов которые могут работать одновременно с максимальной эффективностью. Для этого и в соответствии с принципами программной инженерии мы рекомендуем создавать моды как автономные, модульные расширения кода, такие как Campaign Behaviors, Game Models и пользовательские классы или компоненты, которые можно добавлять или удалять без каких-либо осложнений.
Руководство по использованию XSLT
Мы используем файлы XSLT для удаления или изменения элементов файлов XML, загружаемых из других модулей. Вам не нужно использовать систему XSLT для добавления новых элементов в файлы XML. Вы просто создаете XSLT-файл с тем же именем, что и XML-файл, и размещаете его по тому же пути, что и ваш XML-файл. Этот добавленный файл XSLT будет вносить изменения в файлы XML того же типа, расположенные в модулях, которые были загружены до вашего модуля.
Руководство по производительности сцены
Требования к производительности Mount & Blade II: Bannerlord Однопользовательская сцена: Ультра настройки / 60 FPS / Gtx 1060. Многопользовательская сцена: Ультра настройки / 60 FPS / Gtx 970. Не проверяйте окончательную производительность вашей сцены в редакторе сцен. Редактор имеет низкую производительность из-за того, что его можно редактировать во время выполнения. Также вам следует уточнить итоговые показатели у агентов миссии. Возможные узкие места в производительности Отсутствующие окклюдеры Окклюдеры - это физические объекты, которые определяют границы окклюзии для сеток.
Слияние XML-файлов модуля с нативными файлами
Начиная с Bannerlord v1.3, мы реализовали алгоритм слияния XML, который помогает объединять XML-файлы, определённые в данных модулей (module data) других модулей, без использования XSLT. Во время слияния мы можем добавлять новые элементы в XML или изменять некоторые атрибуты, используя их уникальные атрибуты и другую информацию, полученную из XSD. Выполните следующие шаги, чтобы включить алгоритм слияния: Создайте XML-файл, который необходимо объединить с базовой игрой Добавьте новые элементы с содержимым мода; они будут добавлены в соответствующие места в итоговом объединённом XML-файле, который будет использоваться игрой Измените элементы, которые уже присутствуют в базовой игре В движке слияние данных нативной игры и других модулей выполняется двумя способами.
