В конце 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 был выполнен на высочайшем уровне, и объем работ, проделанный командой художников, был колоссальным, неудивительно, что местами есть просчеты и недоработки. Если незначительные "кривые" пиксели удается исправить на этапе рендеринга, используя возможности движка, то такие досадные недоработки, как отсутствующие части построек в замке (при неоднородной застройке), приходится вручную дорисовывать художникам и опять-таки подставлять на этапе отрисовки.

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

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

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

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

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

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

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

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

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

Комментарии (26)


  1. Konstantinus
    13.06.2023 07:36
    +1

    А оригинальную игру еще можно купить для получения легальных текстур?


    1. Areso
      13.06.2023 07:36

      На GOG'e продаётся: https://www.gog.com/en/game/heroes_of_might_and_magic_2_gold_edition

      Сейчас как раз скидка: $2.5 (-75%)



    1. vlivyur
      13.06.2023 07:36
      +1

      На gog'е все части есть


      1. Areso
        13.06.2023 07:36

        6 и 7 частей нету, но у кого по ним ностальгия?


        1. K0styan
          13.06.2023 07:36
          +7

          Сегодня я узнал об их существовании, спасибо)


  1. acordell
    13.06.2023 07:36
    +1

    Какие молодцы! А ведь и верно, до пришествия HMM3 все резались во второй и отнюдь не меньше. Один только вопрос: а New World Computing или их наследники, Ubisoft, вот, в частности, предъяву потом не предъявят?


    1. Areso
      13.06.2023 07:36

      fheroes'ам уже много лет, а ресурсы у вас должны быть свои с лицензионной игры.


    1. fheroes2_Team Автор
      13.06.2023 07:36

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


      1. domix32
        13.06.2023 07:36

        А свой собственный overhaul делать не планировали?


        1. fheroes2_Team Автор
          13.06.2023 07:36
          +3

          Если Вы о ресурсах, то игру все любят именно за неповторимый пиксель арт и музыку.
          А переделывать около 10 тысяч спрайтов, да еще и в качестве не ниже уровня оригинала... Это уже совсем неподъемная работа для энтузиастского проекта.
          Да и без работы с ресурсами есть еще много мест, куда приложить руку.


          1. avacha
            13.06.2023 07:36
            +1

            А вы попробуйте. OpenTTD же смог, хотя тоже изначально использовал оригинальные ресурсы. "На сейчас" заместили все, даже музыку. И теперь существуют "наборы графики" в нескольких вариантах, включая варианты 32bpp ("графон!").


            1. fheroes2_Team Автор
              13.06.2023 07:36

              Повторюсь, что работа не маленькая. Там тысячи спрайтов. И нарисовать это всё с нуля.... Особенно невероятные спрайты существ и их детализированные анимации в бою. У нас в проекте нету такого количества опытных художников, чтобы этим всем заниматься.
              Заменять оперные треки на что-то другое близко к кощунству. :) А записывать свои оперные треки для проекта без финансирования...


              1. Jianke
                13.06.2023 07:36

                игру все любят именно за неповторимый пиксель арт и музыку

                Именно так!

                Единственное, что стоит сделать, это добавить выключаемые расширенные возможности сглаживания картинки для желающих (примерно, как тут https://gamedev.ru/articles/?id=30101 ). А то в Songs of Conquest перестарались с пискеляцией.


                1. fheroes2_Team Автор
                  13.06.2023 07:36

                  Это не очень просто осуществить, т.к. модифицировать оригинальные ресурсы нельзя и все изменения нужно делать "на лету", что не пойдет на пользу быстродействию. К тому же в оригинальной графике много сложных мест с циклической анимацией или прозрачностью. А технологии современных мониторов и сами современные ОС вносят свои ньюансы в отрисовку игры на экранах.
                  На данный момент от движка можно добиться или идеальной пиксельной картинки без сглаживания, если выбирать разрешение кратно мониторному. Или же полагаться на алгоритмы сглаживания ОС и самого монитора. Некоторые настройки по сглаживанию есть в конфигурационном файле движка.


                  1. Jianke
                    13.06.2023 07:36

                    А shader для постпроцессинга картинки, ведь, можно применить?

                    The only proper way without much effort is to use shaders. I recommend using ReShade and the 4xBRZ shader (coincidentally what TGHoly recommended as well). Here a picture as reference: Open on Imgur.

                    A simple "CRT filter" might do the job too. Haven't tried it thus far.


                    1. fheroes2_Team Автор
                      13.06.2023 07:36

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


                    1. catana
                      13.06.2023 07:36
                      +2

                      Качественный пиксель-арт легко убить попытками "улучшения", причем именно сглаживанием. Наоборот , всю красоту видно, только когда отсутствует какое-либо масштабирование от ОС, либо приложения.
                      https://vk.com/doc175759028_633727086
                      а у Song of Conquest пиксель-арт грубый, стиль совсем другой


                      1. fheroes2_Team Автор
                        13.06.2023 07:36
                        +1

                        Не в обиду SoC скажу, что по качеству арта он с Героями 2 совсем в разных лигах.
                        А на fheroes2 при условии установки кратного мониторному разрешению и выбора nearest сглаживания можно добиться чистой пиксельной картинки без размазывания пикселей.


          1. aavezel
            13.06.2023 07:36
            -1

            В период рассвета нейросетей, обучить SF и сделать промпт который бы генерировал нужный контент в pixel art 1080P, не такая неподъемная задача, как сделать 10к спрайтов...


            1. Jianke
              13.06.2023 07:36
              +2

              Я как фанат этой игры, хотел бы видеть оригинальные арты, а не левые.


            1. fheroes2_Team Автор
              13.06.2023 07:36
              +1

              Может быть. Но нейросети не очень хорошо генерируют мелкие детали. А многие объекты в игре крошечных размеров. Даже спрайты существ созданы из нескольких сотен пикселей всего. Плюс для анимирования нужно, чтобы каждый новый спрайт был максимально схож с предыдущим. Если устанавливали движок, посмотрите в колодце (где, в отличие от оригинала, существа анимированы) где видно, как в движении каждый пиксель существа искусно проработан оригинальными художниками. Я очень сомневаюсь, что от нейросети можно добиться такого.


  1. Jianke
    13.06.2023 07:36
    +3

    Музыку подключить возможно?

    Во Вторых Героях шикарное оперное пение

    причём эта музыка на CD-диске игры, но так как у моего компьютера больше нет CD, да и диск царапать очень жалко, то очень хотелось бы возможность подключать к игре mp3.

    PS в оригинале перепутаны саундтреки замка Некроманта и замка Варвара: то, что у варвара играет в midi в CD играет у некроманта, и наобоорот.


    1. KanuTaH
      13.06.2023 07:36
      +1

      Конечно, возможно. Музыка в "цифровых" дистрибуциях от GOG/Ubisoft так и работает. Поддерживаются форматы MP3, OGG, FLAC. Нужно рядом с каталогами DATA и MAPS создать каталог MUSIC и положить треки в него. Схема именования треков в разных цифровых дистрибуциях разная, например, у GOG в DOS-версии игры (запускаемой через DOSBox) треки называются homm2_XX.ogg (homm2_01.ogg - homm2_42.ogg).


    1. fheroes2_Team Автор
      13.06.2023 07:36
      +1

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


  1. Karen
    13.06.2023 07:36

    Free Heroes of Might and Magic II (fheroes2) - 1.0.5 (2023.06.14)