LINUX.ORG.RU

fheroes2 1.0.2

 , , , ,

fheroes2 1.0.2

1

1

Здравствуйте, любители Героев Меча и Магии 2!

А вот и первое весеннее обновление нашего открытого движка для Героев 2!

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

Для Андроид-сборки движка добавлена полноценная виртуальная клавиатура. Теперь у игроков больше не будет трудностей с вводом текста в игре. Внешне она выполнена в стилистике Героев и даже адаптируется под выбранные тона интерфейса.

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

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

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

Помимо прочего, в логике игры были найдены и исправлены некоторые проблемы, связанные с нахождением пути в бою и с работой некоторых заклинаний. На карте приключений был упорядочен принцип срабатывания композиций активации объектов и выбраны правильные звуковые дорожки для некоторых, согласно оригинальной игре.

В текущей версии команда поработала над улучшением алгоритмов ИИ, касающихся взаимодействия с объектами на карте приключений. А герои соперников теперь могут пользоваться заклинанием "Портал города". Каждый месяц команда улучшает поведение искусственных противников, так что будьте готовы к битвам!

С прошлой версии в движке исправлено свыше 60 ошибок. Обратите внимание, что движок больше не поддерживает сохранения, созданные до версии 1.0.

Благодарим вас за поддержку! Надеемся, вам понравится играть в Героев Меча и Магии 2 на обновленном движке!

Руководство по установке.

Помочь с осуществлением будущих улучшений игры можно подпиской на Boosty или Patreon.

>>> Подробности на нашей странице

★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 2)

Вы планируете в будущем переработать систему локализации в что-то более вменяемое с возможность выложить её куда-то для коллективного перевода типа Трансифекса или Кроудина? А то я думал может помочь с некоторыми локализациями, но посмотрел что там нужно делать на Гитхабе - и как-то передумал.

GBV
()
Ответ на: комментарий от GBV

Пока что планов с другими системами у нас нет.

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

sirDranik ★★★
() автор топика

Кто-то не перестаёт лимонить героев. Я, помнится, неделями зависал за HMMM3. Больше видеть их не могу.

hhhhacker
()

Для Андроид-сборки движка добавлена полноценная виртуальная клавиатура.

Блин, я такую Клаву хочу в смартфон подефолту=)

Это не игра а произведение искусства, выглядит шикарно даже сейчас.

UriZzz
()

Извините, пожалуйста, я никогда не участвовал в таком большом проекте, поэтому вопрос, возможно, глупый. У вас в репе свыше 20 пулл реквестов, которые не приняты по тем или иным причинам. Мне любопытно, почему они у вас «висят»? Не принимаются и не отклоняются.

Спасибо.

Vest
()
Ответ на: комментарий от Vest

ПР как хорошее вино, набирают свою выдержку. Проверяется каждая присланная строчка, каждая запятая, каждая буква, каждый пиксель, также осуществляется проникновение в мыслительные процессы автора с целью сопоставления его видения решения проблемы с общей картиной проекта, вдобавок к этому множественные ручные тесты. Если первое предложение содержало шутку, то второе нет. Всё познаётся в сравнении, можете ли Вы привести проекты аналогичных масштабов и качества, с плюс-минус таким же количеством участников, где PR принимаются быстрее и не являются местом работы кого-либо из участников?

shprotua
()
Ответ на: комментарий от shprotua

Нет, я же сказал, что не участвовал в большом проекте. Пару раз коммитил лишь в OpenJDK, но там основная сложность – это не в создании PR, а именно в его продвижении: то есть официально завезти баг, написать тесты, уведомить рассылку, найти того, кто тебя «поддержит».

Vest
()
Ответ на: комментарий от Vest

Ну, бывают и более прозаичные причины. Кто-то создал запрос. Наша команда обзорщиков написала замечания, чтобы привести код к стилю всего проекта, или поправить/внести изменения в логику, или были замечены ошибки...

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

Или же это может быть какой-нибудь запрос со спорной реализацией, требующий радикальной переделки.

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

sirDranik ★★★
() автор топика
Последнее исправление: sirDranik (всего исправлений: 1)

Сборка валится. Вы тестировали?

g++ -c -MD -I../fheroes2/agg/ -I../fheroes2/ai/ -I../fheroes2/army/ -I../fheroes2/audio/ -I../fheroes2/battle/ -I../fheroes2/campaign/ -I../fheroes2/castle/ -I../fheroes2/dialog/ -I../fheroes2/game/ -I../fheroes2/gui/ -I../fheroes2/h2d/ -I../fheroes2/heroes/ -I../fheroes2/image/ -I../fheroes2/kingdom/ -I../fheroes2/maps/ -I../fheroes2/monster/ -I../fheroes2/objects/ -I../fheroes2/resource/ -I../fheroes2/spell/ -I../fheroes2/system/ -I../fheroes2/world/ -I../fheroes2/ai/normal/ ../fheroes2/maps/maps_actions.cpp -fsigned-char -pthread -O3  -I/usr/include/SDL2 -D_REENTRANT -I../engine -I../thirdparty/libsmacker   -std=c++17 -pedantic -Wall -Wextra -Wcast-align -Wextra-semi -Wfloat-conversion -Wfloat-equal -Winit-self -Wredundant-decls -Wshadow -Wundef -Wuninitialized -Wunused -Wctor-dtor-privacy -Woverloaded-virtual  
../fheroes2/maps/maps_actions.cpp:97:49: error: ‘ListActions’ does not name a type
   97 | StreamBase & operator<<( StreamBase & sb, const ListActions & st )
      |                                                 ^~~~~~~~~~~
../fheroes2/maps/maps_actions.cpp: In function ‘StreamBase& operator<<(StreamBase&, const int&)’:
../fheroes2/maps/maps_actions.cpp:99:37: error: request for member ‘size’ in ‘st’, which is of non-class type ‘const int’
   99 |     sb << static_cast<uint32_t>( st.size() );
      |                                     ^~~~
../fheroes2/maps/maps_actions.cpp:100:11: error: ‘ListActions’ has not been declared
  100 |     for ( ListActions::const_iterator it = st.begin(); it != st.end(); ++it ) {
      |           ^~~~~~~~~~~
../fheroes2/maps/maps_actions.cpp:100:56: error: ‘it’ was not declared in this scope; did you mean ‘st’?
  100 |     for ( ListActions::const_iterator it = st.begin(); it != st.end(); ++it ) {
      |                                                        ^~
      |                                                        st
../fheroes2/maps/maps_actions.cpp:100:65: error: request for member ‘end’ in ‘st’, which is of non-class type ‘const int’
  100 |     for ( ListActions::const_iterator it = st.begin(); it != st.end(); ++it ) {
      |                                                                 ^~~
../fheroes2/maps/maps_actions.cpp: At global scope:
../fheroes2/maps/maps_actions.cpp:143:43: error: ‘ListActions’ has not been declared
  143 | StreamBase & operator>>( StreamBase & sb, ListActions & st )
      |                                           ^~~~~~~~~~~
../fheroes2/maps/maps_actions.cpp: In function ‘StreamBase& operator>>(StreamBase&, int&)’:
../fheroes2/maps/maps_actions.cpp:148:8: error: request for member ‘clear’ in ‘st’, which is of non-class type ‘int’
  148 |     st.clear();
      |        ^~~~~
../fheroes2/maps/maps_actions.cpp:152:12: error: ambiguous overload for ‘operator>>’ (operand types are ‘StreamBase’ and ‘int’)
  152 |         sb >> type;
      |         ~~ ^~ ~~~~
      |         |     |
      |         |     int
      |         StreamBase
In file included from ../fheroes2/maps/maps_actions.cpp:31:
../engine/serialize.h:121:18: note: candidate: ‘StreamBase& StreamBase::operator>>(int32_t&)’
  121 |     StreamBase & operator>>( int32_t & );
      |                  ^~~~~~~~
../fheroes2/maps/maps_actions.cpp:143:14: note: candidate: ‘StreamBase& operator>>(StreamBase&, int&)’
  143 | StreamBase & operator>>( StreamBase & sb, ListActions & st )
      |              ^~~~~~~~
../fheroes2/maps/maps_actions.cpp:158:16: error: request for member ‘push_back’ in ‘st’, which is of non-class type ‘int’
  158 |             st.push_back( ptr );
      |                ^~~~~~~~~
../fheroes2/maps/maps_actions.cpp:164:16: error: request for member ‘push_back’ in ‘st’, which is of non-class type ‘int’
  164 |             st.push_back( ptr );
      |                ^~~~~~~~~
../fheroes2/maps/maps_actions.cpp:170:16: error: request for member ‘push_back’ in ‘st’, which is of non-class type ‘int’
  170 |             st.push_back( ptr );
      |                ^~~~~~~~~
../fheroes2/maps/maps_actions.cpp:176:16: error: request for member ‘push_back’ in ‘st’, which is of non-class type ‘int’
  176 |             st.push_back( ptr );
      |                ^~~~~~~~~
../fheroes2/maps/maps_actions.cpp:182:16: error: request for member ‘push_back’ in ‘st’, which is of non-class type ‘int’
  182 |             st.push_back( ptr );
      |                ^~~~~~~~~
../fheroes2/maps/maps_actions.cpp:189:16: error: request for member ‘push_back’ in ‘st’, which is of non-class type ‘int’
  189 |             st.push_back( ptr );
      |                ^~~~~~~~~
Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

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

Даже у меня множество вопросов, например:
Файлы какой версии оригинальной игры вы использовали?
Пробовали ли вы движок раньше?
На каком этапе у вас всё ломается?
И т.д.

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

sirDranik ★★★
() автор топика
Ответ на: комментарий от sirDranik

Файлы какой версии оригинальной игры вы использовали?

Вообще по-барабану же.

Пробовали ли вы движок раньше?

Конечно.

На каком этапе у вас всё ломается?

Компиляции.

Ну и вопросы, ух… Собирал на месте предыдущей сборки, на чистом месте все отлично собралось, спасибо!

Anoxemian ★★★★★
()
Ответ на: комментарий от hhhhacker

Кому татор, а кому - лятор. Я вот Morrowind перепрохожу уже в чёрт знает какой раз с начала 2000-х. Не надоело.

IRASoldier ★★
()
Ответ на: комментарий от DarkAmateur

Ничем. Сподвижники говорят, что разработка продолжается. Самого автора на форуме теперь нет

saibogo ★★★★
()

Поиграл немного. Это нормально, что слабые герои противника преспокойно передвигаются по карте прямо под носом твоего сильного героя? Не пытаются убежать. Не пытаются заскочить в город при твоём приближении. Как будто вообще игнорируют.

hbee ★★★★
()
Ответ на: комментарий от hbee

Здравствуйте.

Мы сейчас работаем над этой логикой. Пока что да, ИИ слишком смелый и отчаянный по отношению к героям противника.

sirDranik ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.