У собственного движка есть важное преимущество: в отличие от швейцарского складного ножа (которым можно делать многое, но не лучше других), его можно затачивать под собственные нужды. Как вы знаете, мы сами создали движок для Mount & Blade II: Bannerlord. Начиная работу, мы преследовали ряд целей, среди которых три главных: воплотить задуманную нами огромную песочницу; сделать ее легкой в модификации, а также подходящей для игры на не самых мощных компьютерах.

На этой неделе на наши вопросы ответил программист движка Бурак Дерманли — один из тех, кто занимается самим движком и его оптимизацией для разных компьютеров.
Имя

 Что входит в ваши повседневные обязанности?

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

Среди того, чем я занимаюсь чаще всего, — системы частиц, порядок добавления объектов, симуляция ткани и управление памятью. По запросу я добавляю новые функции, но их набор в Bannerlord уже практически сформирован. И система частиц, и симуляция ткани настолько оптимизированы, что работают даже на менее мощных компьютерах. Некоторые пользователи беспокоятся и спрашивают, не возникнет ли узких мест производительности системы. В случае проблем с производительностью тщательней всего будут рассматривать то, что сильнее выделяется на экране визуально. Такова психология человека. На моем компьютере две видеокарты: помощнее и послабее, и в процессе разработки я проверяю производительность на обеих. Например, в любой локации из тех, что мы показывали в видео игрового процесса, симуляция ткани даже на менее мощном оборудовании занимала не больше миллисекунды на кадр».

Что вам больше всего нравится в Bannerlord

«То, что она сохраняет в себе дух предыдущих игр серии Mount and Blade. Не сомневаюсь, вы тоже это почувствуете. В Bannerlord практически все было сделано или переделано с нуля, однако мы бережно воспроизводим уникальные черты Mount and Blade. Bannerlord — новая игра серии с более современной графикой, масштабными битвами, новыми особенностями и тщательно отлаженным игровым процессом. Думаю, мы не разочаруем поклонников наших предыдущих игр. Добавлю также, что мне не терпится увидеть поразительные модификации, которые создаст сообщество на основе Bannerlord».

Самая сложная задача, с который вы столкнулись во время создания Bannerlord?

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

Кроме того, стоит упомянуть трудности с импортом и сжатием объектов. Например, программа сжатия портила обычные карты, если я говорил ей, что это обычная карта; иногда программа не могла импортировать объект, экспортированный из нее же. На решение таких проблем иногда уходило много часов».

Над чем вы сейчас работаете?

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

Какая фракция в Bannerlord ваша любимая?

«Кузаиты! Мне нравится их культура и архитектура, ну и симуляция ткани на доспехах выглядит отлично :)».

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

«Могу ответить на этот вопрос с точки зрения оптимизации для видеокарты и процессора, которыми я и занимаюсь. Неподвижные объекты наш движок просчитывает очень эффективно. Никакой дополнительной оптимизации не потребуется, а в интерьере можно разместить множество статических мешей. Агенты также просчитываются, анимируются и отображаются с хорошей производительностью. Что до производительности видеокарты — прежде всего нужно проверить правильность размещения окклюдеров в стенах таверны. Если все верно, для отображения теней и буфера геометрии не потребуется расчета мешей внутри здания. В общем, при должной аккуратности на нашем движке это возможно».

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

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