Очередной блог разработчиков Mount & Blade 2: Bannerlord
Приветствуем, воины Кальрадии!
У собственного движка есть важное преимущество: в отличие от швейцарского складного ножа (которым можно делать многое, но не лучше других), его можно затачивать под собственные нужды. Как вы знаете, мы сами создали движок для Mount & Blade II: Bannerlord. Начиная работу, мы преследовали ряд целей, среди которых три главных: воплотить задуманную нами огромную песочницу; сделать ее легкой в модификации, а также подходящей для игры на не самых мощных компьютерах.
На этой неделе на наши вопросы ответил программист движка Бурак Дерманли — один из тех, кто занимается самим движком и его оптимизацией для разных компьютеров.
Имя
Бурак Дерманли
«Обычно я работаю по графику над регулярными задачами, которые повторяются ежемесячно. Однако при работе с движком нужно быть готовым в любой момент прерваться и, например, исправить ошибку, застопорившую работу коллег.
Среди того, чем я занимаюсь чаще всего, — системы частиц, порядок добавления объектов, симуляция ткани и управление памятью. По запросу я добавляю новые функции, но их набор в Bannerlord уже практически сформирован. И система частиц, и симуляция ткани настолько оптимизированы, что работают даже на менее мощных компьютерах. Некоторые пользователи беспокоятся и спрашивают, не возникнет ли узких мест производительности системы. В случае проблем с производительностью тщательней всего будут рассматривать то, что сильнее выделяется на экране визуально. Такова психология человека. На моем компьютере две видеокарты: помощнее и послабее, и в процессе разработки я проверяю производительность на обеих. Например, в любой локации из тех, что мы показывали в видео игрового процесса, симуляция ткани даже на менее мощном оборудовании занимала не больше миллисекунды на кадр».
«То, что она сохраняет в себе дух предыдущих игр серии Mount and Blade. Не сомневаюсь, вы тоже это почувствуете. В Bannerlord практически все было сделано или переделано с нуля, однако мы бережно воспроизводим уникальные черты Mount and Blade. Bannerlord — новая игра серии с более современной графикой, масштабными битвами, новыми особенностями и тщательно отлаженным игровым процессом. Думаю, мы не разочаруем поклонников наших предыдущих игр. Добавлю также, что мне не терпится увидеть поразительные модификации, которые создаст сообщество на основе Bannerlord».
«Всех проблем, которые пришлось решить за пять лет, уже не вспомнить. На ум приходит сбой в «общении» игры и движка, из-за которого чуть-чуть дергались компоненты ткани. С этой проблемой я разобрался только через пару месяцев после внедрения системы.
Кроме того, стоит упомянуть трудности с импортом и сжатием объектов. Например, программа сжатия портила обычные карты, если я говорил ей, что это обычная карта; иногда программа не могла импортировать объект, экспортированный из нее же. На решение таких проблем иногда уходило много часов».
«Сейчас я занимаюсь улучшением билборд-текстур растительности. Я внедряю современную технологию параллактического отображения, которое делает переход от отдельных деревьев к текстурным практически незаметным. Мы планируем использовать эту технологию в большинстве локаций и на глобальной карте. В то же время вместе с коллегами я вношу небольшие изменения в систему управления ресурсами. Они позволят нашим художникам, а также создателям модификаций быстрее обновлять материалы».
«Кузаиты! Мне нравится их культура и архитектура, ну и симуляция ткани на доспехах выглядит отлично :)».
«Могу ответить на этот вопрос с точки зрения оптимизации для видеокарты и процессора, которыми я и занимаюсь. Неподвижные объекты наш движок просчитывает очень эффективно. Никакой дополнительной оптимизации не потребуется, а в интерьере можно разместить множество статических мешей. Агенты также просчитываются, анимируются и отображаются с хорошей производительностью. Что до производительности видеокарты — прежде всего нужно проверить правильность размещения окклюдеров в стенах таверны. Если все верно, для отображения теней и буфера геометрии не потребуется расчета мешей внутри здания. В общем, при должной аккуратности на нашем движке это возможно».
«Мы сделали многофункциональный редактор частиц, опираясь на рекомендации наших художников. Меняя эмиттеры, движение и визуальные свойства частиц, в этом редакторе можно создать бесконечное число разных эффектов. При желании для одного эффекта можно брать несколько эмиттеров (с взаимосвязью «родитель — дочерний элемент») и создавать сложные комбинации: например, летящий камень, с которого сыплется пыль, или какие-нибудь волшебные искры. В настоящий момент в системе нет встроенного алгоритма для роя частиц. Вы можете внедрить его самостоятельно, используя наш язык для написания скрипта».