Обновление fheroes2 — открытого движка Heroes of Might and Magic 2

В конце 2022 года открытый игровой движок Героев Меча и Магии 2 (fheroes2) добрался до заветной 1.0 версии. Несколько лет назад на Habr уже была новость о движке, когда текущие разработчики только-только взялись за него. Возможно, кому-то было бы интересно узнать о прогрессе и планах проекта на будущее.

Главное меню (16:9)

Главное меню (16:9)

Хотелось бы для начала напомнить, что fheroes2 — open source проект, который с нуля воссоздает Герои Меча и Магии 2. Используя ресурсы оригинала (которые пользователь должен скопировать из папки с установленной лицензионной копией игры HoMM2) и широкие возможности открытого кода созданного на С++, fheroes2 позволяет поиграть в старых добрых «Героев», но сделать это практически на любой современной платформе, а также «освежить» геймплей такими простыми, но необходимыми вещами, как запуск на более высоких разрешениях (в том числе широкоформатных, ведь оригинал работает лишь на 640×480), огромный список горячих клавиш, например, для быстрого и удобного разделения армии, режим быстрой битвы с возможностью переигровки, совершенно новый ИИ, который разработчики продолжают развивать и улучшать и т.п.

Хоть проекту уже более 10 лет, заметный прогресс наблюдается лишь в последние 3 года, когда за движок взялись новые разработчики. Полностью поменялся подход к разработке. Все изменения в коде теперь производятся не хаотично, а полностью контролируются ведущими программистами команды, чтобы удовлятворять стилю и соответствовать качественной планке проекта. За прошедший период было полностью переделано порядка 90% старого кода. Новый рендеринг, огромное количество оптимизаций и ускорение быстродействия и, конечно же, исправление тысяч багов, которые были в проекте до.
Благодаря стараниям энтузиастов игра практически везде преобразилась. Для многих элементов интерфейса появились информационные справки, которые отсутствовали в оригинале. Все окна особенных событий обзавелись заголовками. Для «злого» интерфейса были видоизменены многие окна, которые создатели оригинальной игры забыли исполнить в темной гамме. Многие игровые механики получили более понятную визуальную интерпретацию (переработанное окно заклинания »Портал Города» или «неактивные» заклинания в книге, для которых не выполнены все требования к использованию). «Геройское» сообщество помогает с переводом игры на более чем 15 языков. Движок позволяет переводить не только тексты в игре, но и добавлять новые названия поверх оригинальных спрайтов кнопок. Т.о. используя ресурсы любой официальной версии игры вы можете изменять язык всей игры (кроме разве что озвучки видео, но разработчики планируют добавить субтитры, что также будет удобно пользователям с нарушением слуха).

Заголовки исполнены золотым шрифтом для всех окон, где они были уместны.

Заголовки исполнены золотым шрифтом для всех окон, где они были уместны.

На данный момент движок находится на версии 1.0.4 и прекрасно работает не только под Windows, но и на Mac, Linux, Nintendo Switch, PS Vita и Android.
1.0 версия была лишь отправной точкой проекта, когда он стабильно работал и позволял поиграть любую оригинальную карту или кампанию. В будущем разработчики планируют развивать игру, чтобы она удовлетворяла всем современным требованиям и просто дополнить новым, уместным контентом. Например, на данный момент ведутся работы по оптимизации игры под управление на сенсорных экранах. В движок уже добавлена стилизованная виртуальная клавиатура с возможностью переключать языки.

Пока доступно переключение для русского и польского языков.

Пока доступно переключение для русского и польского языков.

Перемещать карту приключений можно свайпами удерживая палец на экране (впрочем, в версии на ПК очень удобно делать то же самое, удерживая зажатой ЛКМ). Информационные справки вызываются одновременным касанием двумя пальцами.
Кстати, если уж говорить про устройства с сенсорным управлением. Движок fheroes2 доступен в Play Market, где его можно скачать и установить. Но ресурсы оригинальной игры всё также придется брать из установленной на ПК оригинальной игры. Или воспользоваться опцией скачивания бесплатной демо версии игры.

Был расширен список широкоформатных разрешений, что делает игру на устройствах с широкими экранами и с небольшой диагональю максимально удобной.

Игра на смартфоне с экраном с соотношением сторон 21:9

Игра на смартфоне с экраном с соотношением сторон 21:9

Для выбора разрешений, а также новых всевозможных настроек в игру были добавлены новые меню. Вы можете даже заметить новые иконки, которые были нарисованы художниками для проекта.

Иконки графических настроек и горячих клавиш были нарисованы в стиле интерфейса игры.

Иконки графических настроек и горячих клавиш были нарисованы в стиле интерфейса игры.

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

Без замка в городе жилище капитана просто не имеет левой части.

Без замка в городе жилище капитана просто не имеет левой части.

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

А новый контент будет. На основе открытого движка текущие разработчики собираются выпустить свое дополнение в классическом стиле героев. Планируется добавить новые объекты, артефакты, игровые механики, героев и существ. Впрочем, добавление всего этого — вещь не самая простая, т.к. помимо самого арта (который должен не уступать по качеству и проработке оригинальному) необходим соответствующий инструментарий. Сейчас в разработке находится новый редактор карт. Оригинальный обладал весьма скудным функционалом, определенными багами, и вообще, распространение карт созданных при помощи оригинального редактора юридически запрещено.
Разработчики планируют представить новый формат карт, который бы включал в себя более богатые возможности кастомизации объектов и позволял бы генерировать карты без графических изъянов.
Для внедрения нового редактора (который будет встроенным в сам движок для упрощения создания карт, а также для быстрого и даже автоматизированного тестирования пользовательских карт) разработчики уже несколько последних месяцев работают с кодом движка, изменяя тысячи строк кода для грядущих нововведений.

Параллельно со всем вышеупомянутым, разработчики работают над остальными аспектами игры. Улучшаются анимации в бою (которые в оригинале работали по весьма ограниченным алгоритмам) и настраиваются тайминги эффектов.

f9a730e345f2f89e9626bfb5be590f1e.png

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

Количество проделанной над кодом работы сложно оценить. Вы можете взглянуть на неполный список изменений, который разработчики уже привнесли в игру.
Впрочем, планов команды fheroes2 еще много. Согласно дорожной карте проекта, в текущем году начнется работа над внедрением мультиплеерного режима.

Т.к. fheroes2 — это open source, любой желающий, с достойным уровнем знания языка, может поучаствовать в разработке. Также неравнодушные могут помочь с переводом, написанием музыки или созданием графики. Или поддержать разработку копейкой или центом.

За новостями проекта можно следить на официальной странице VK или обсудить проект с разработчиками в официальном дискорд-канале.

Руководство по установке проекта здесь. Кто не хочет сразу приобретать ресурсы оригинала, может попробовать движок на бесплатной демо версии оригинальной игры.

© Habrahabr.ru