LINUX.ORG.RU

fheroes2 0.9.9

 , , ,


2

2

Проект fheroes2 обновился до версии 0.9.9. Теперь еще ближе к финальному релизу!

За последний месяц проект по возрождению Героев 2 стал еще лучше.

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

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

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

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

А ранее размытая часть дороги справа от штаба капитана теперь отрисовывается правильно.

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

Всё так же активно ведутся работы над ИИ и логикой игры. Было исправлено множество мест, где герои игрока ошибочно не могли пройти. Логика диагональных перемещений героя и посещения некоторых объектов на воде теперь как в оригинале.

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

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

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

В общей сложности было исправлено свыше 70 багов.

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

>>> Поддержать проект на Patreon.

>>> Подробности



Проверено: hobbit ()

Ответ на: комментарий от Riendau

ИИ пишется с нуля

В проекте ничего не создавалось реверс-инжинирингом.

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

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

На гитхабе есть активность, просто некому релизы собирать и новости постить. Я был майнтейнером пару лет, но сейчас к сожалению просто нет на это времени совсем.

https://github.com/vcmi/vcmi

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

ИИ пишется с нуля

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

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

Вы поймите разницу: одно дело копаться в реверснутом коде, а другое - писать свое, с нуля. У нас в команде отличные программисты. Мы можем научить ИИ хоть в космос летать. Если бы команда не отвлекалась на исправление других проблем, ИИ УЖЕ давал бы вам прикурить как следует.

В некоторых аспектах, наш ИИ уже лучше оригинального. Но он готов едва ли на 30%. У нас в планах есть даже режим 1000%, когда ИИ будет работать так, что вам захочется сдаться.

Подождите до выхода финальной версии. Я надеюсь, вы будете приятно удивлены.

sirDranik ()

а есть такой же но по возрождению 3-х Героев. Потому что как известно именно 3-е Герои самые лучшие!

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

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

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

У нас в команде человек, который чуть ли не попиксельно сравнивал игру с оригиналом, Чтобы выявить изъяны, которые были в движке.
Собственно, разработка поэтому и идет так долго. Вы представьте, к примеру, как генерировалось рамка на карте приключений для бОльших разрешений. Необходимо было по миллиметру выверять, выбирать элементы оригинальной рамки и заполнять необходимое пространство. А еще выяснилось, что изначально в движке это было реализовано халтурно и местами изображение было криво обрезано. Человек не один день сидел и ковырялся в пиксельках, чтобы всё было красиво и правильно. И так касаемо всей игры.

sirDranik ()
Последнее исправление: sirDranik (всего исправлений: 2)
Ответ на: комментарий от bonta

Всем. Настоящая, красивая ручная графика, а не мыло 3ds max. Красивая, интересная кампания, а не высосанное из пальца копирайтерство. Музыка. Баланс лучше. Нет мега-героев, мега-замков.

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

IPX особенно важно, ага. Никак без него в 2021-м. Ты в курсе, что в венде его давно уже нет? Лет 15, с Висты. А TCP-IP во вторых героях никогда и не было. Оно в третьих-то калечное было, нерабочее по Интернету. По Интернету через враппер гоняли.

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

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

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

одно дело копаться в реверснутом коде, а другое - писать свое, с нуля.

да уж понятно.

У нас в планах есть даже режим 1000%

но-но! только без читов!

что вам захочется сдаться

мне регулярно хочется сдаться в HoM3 при защите замка, но там нет такой опции:(

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

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

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

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

но-но! только без читов!

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

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

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

Большое спасибо за проект! Очень нравится то, что играть легче, по сравнению с оригиналом. Все эти мелочи, что Ленин описал.

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

В некоторых аспектах, наш ИИ уже лучше оригинального. Но он готов едва ли на 30%.

значит, следующий релиз еще не 1.0.0. как долго еще!

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

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

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

Я тоже не особо возражаю. Просто это должно быть в меру.

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

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

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

Пока недоступна. Я думаю, доступ к подобной информации у ИИ будет меняться от выбранной сложности.

а почему пул реквестов активных относительно мало, если сравнивать с общим числом пул реквестов?

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

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

И как тогда будет работать игра, если там так будут код изменять? ))

Как вы думаете, почему так мало рабочих проектов в принципе?

Вы можете попробовать скачать старую версию проекта fheroes2 с sourceforge и посмотреть, как она работала после 10 лет разработки с таким подходом.

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

Это мы еще даже многопоточность не трогали.

Мастер проекта очень заморачивается с производительностью.

Нам ведь еще на мобильные устройства делать версию. И минимальная прожорливость движка в этом случае - несомненный плюс.

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

на слаке собралась, но после букв заставки черный экран

14:05:46: [ERROR]       setGameLanguage:  Translation file pl.mo is not found.
14:05:46: [ERROR]       Play:  Couldn't open /etc/timidity/freepats.cfg

Но главное не то, что она не работает, а то что после запуска из терминала на ввод Ctrl-C игра никак не реагирует, по идее ожидается закрытие по прерыванию. Крестиком тоже не закрывается окно.

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

по поводу первого сообщения, загляните сюда: fheroes2/files/lang. Возможно тамошний мейкфайл не выполнился, выполните вручную. На счёт второго сообщения не подскажу, УМВР

anonymous ()

играя за волшебников, по сути не реально получить заклинания Армагедон, зеркальная копия отряда и создание Элементалей. Хотя эти заклинания и есть в городе, но они вытесняются всегда другими. Я Даже пробовал вообще не собирать на карте заклинания и не заходить в другие города.Я точно помню, что 20+ лет назад - у меня была тактика играть за Волшебников и не посещать чужие города основным героем, чтобы не потерять возможность создавать элементалей, ну или Армагедон вызывать… Да, Ленин тут прав - что ИИ при потере замков себя ведёт не правильно. Он тупо проиграл, имея самую сильную армию, которую я не в состоянии был разбить. Он был между двумя городами, примерно по середине 2,5 хода до каждого. Я перемещал свою сильную армию из города в город. И он каждый ход разворачивался к пустому городу.

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

Ну, ИИ еще в процессе создания. Всё будет исправляться, не переживайте.

А по поводу заклинаний: выглядит как откровенное шаманство.) В оригинальной игре были определенные правила появления заклинаний в гильдиях. И мы их, насколько я помню, полностью повторили. У каждого заклинания есть свой шанс выпадения. Но вы легко можете получить резурект у некромантов.

Или, вот из недавнего... Я добрых 5 минут перезагрузками ловил заклинание «Видения» в оригинальной игре, на 6 отстроенных гильдий на кастомной карте. Рандом в игре - порой просто беспощадный.

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

Думаю, у каждого из нас была когда-нибудь мечта(в детстве например) «сделать классную игру». А пока мечтали кто-то мог играть в какие-либо игры, и сам для себя решать, что для него «классно», а что нет. Возможно ему в детстве запала в душу HOMM2. Человек вырос, погряз в рабочей рутине, возвращаясь домой долгие годы садился за HOMM2, получал удовольствие от игры, записывал найденные недочёты, и делился ими на малолюдных, тихих фанатских бордах. А однажды наткнулся на fheroes2, узнал, что это свободный проект и участвовать в нём может кто угодно! Тут же загорелся, принял самое активное участие, увидел отдачу от своего участия, в глазах разгорелся огонь и каждый день можно о чём-то грезить, ведь пока человек о чём-то мечтает он живёт.

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

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

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

sirDranik ()
Ответ на: комментарий от sirDranik
clock_gettime64(CLOCK_MONOTONIC_RAW, {tv_sec=22456, tv_nsec=125609061}) = 0
recvmsg(6, {msg_namelen=0}, 0)          = -1 EAGAIN (Ресурс временно недоступен)
recvmsg(6, {msg_namelen=0}, 0)          = -1 EAGAIN (Ресурс временно недоступен)
poll([{fd=6, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
clock_nanosleep_time64(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=1000000}, 0xbf82f180) = 0
clock_gettime64(CLOCK_MONOTONIC, {tv_sec=22456, tv_nsec=415369145}) = 0
clock_gettime64(CLOCK_MONOTONIC_RAW, {tv_sec=22456, tv_nsec=127288046}) = 0
recvmsg(6, {msg_namelen=0}, 0)          = -1 EAGAIN (Ресурс временно недоступен)
recvmsg(6, {msg_namelen=0}, 0)          = -1 EAGAIN (Ресурс временно недоступен)


Вообще непонятно что она хочет сделать после старта. Принять сообщение от кого?

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

Не знаю как там рандом, а на Void musl собирался проект без особых заморочек. Главное в игре это не баланс +-1% чтобы никто не был в приоритете, а возможность реализовать разные стратегии чтобы на практике проверить кто сильнее, так что не факт что комп имея крутые установки справится с пачкой героев на армагеддонах. Комп же не будет следовать неким правилам, запрещающим использование артефактов и т.д. Но концепция рождения сразу паладином она как бы не еженедельная. Это прям наследственная монархия и вот нифига не верится что с пращами можно одолеть латников или русских с шестоперами, которые гнали этих рыцарей только в путь, превращая их воображаемое могущество в позорное бегство. Игра все еще крайне далека от логики происходящего в реальности и потому ей будет крайне сложно привлечь новых людей. Я считаю нужна переработка как в моде Норвежской семги для Disciples 2 с альтернативным балансом и прочими исправлениями и дополнениями помимо восстановления оригинала. Вот это было бы повышение сложности. Убить ифрита магией фей это немножко сложновато, равно как и достать джиннов, которые должны бы быть сильнее так как они добро представляют, а тут они какие-то жалкие обкастеры. Есть мало связи с реальностью у этой игры в изначальном виде. Почему паладин не конный и не имеет арбалета? Почему кооник не наносит смертельный урон хотя бы одному с разбега, если тот без щита? Почему нет смысла окружать? У них у всех броня на заднице? Почему у крестьян жизней меньше чем у рыцаря? В ВОВ воевали как раз крестьяне те самые в подавляющем большинстве своем. То есть фишкой людей как раз должно быть здоровье, но физическая слабость ударов со слабым оружием. Архангелы 1 раз за бой колдуют? А где тогда языческий замок? Будет Перун с грозовыми титанами, которые кастят молнии, что им простые титаны ответить не могут ибо на бошку падает молния. Вариантов куча для проработки. Считать хомм2 или хомм3 вершиной развития ну никак не получается.

anonymous ()