Объявления
Поздравляем
Roman2211


Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru.
Я оторву свою задницу от всех дел и обязательно Вас активирую! :smile10:
Добро пожаловать на геройский форум! :smile25:

Как создать плагин для HD мода

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 19 окт 2021, 17:15

Нашёл причину, почему путаются картинки View Air и View Earth. Оказывается, это оригинальный баг, а HD mod исправляет его во время загрузки кадров:

Цитата:
Hmm, it's interesting... In the original spells.def the cadre for the View Air spell is #3 and for the View Earth spell is #5, while in the original SpellScr.def the cadre for the View Air spell is #5 and for the View Earth spell is #3. How is this possible? Shouldn't their numbers correspond to in-game spell numbers? I use the MMArchive tool for extracting spell cadres, if it's relevant.

Wowsers! It's the HD mod that restores the correct order, and does it on the fly, but it doesn't know about the New Spells plugin, so what we see is the original game bug.

.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 19 окт 2021, 17:33

Сделал актуальную сборку. Новый код, новые ресурсы, описания на английском.

NewSpells.zip
(390.02 КБ) Скачиваний: 783
Последний раз редактировалось AlexSpl 19 окт 2021, 19:19, всего редактировалось 1 раз.
Вернуться к началу

offlineАватара пользователя
Владимир  
Эксперт
Эксперт
 
Сообщения: 1057
Зарегистрирован: 30 окт 2012, 18:37
Пол: Не указан
Награды: 3
Высшая медаль (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (1)
Поблагодарили: 638 раз.

Re: Как создать плагин для HD мода

Сообщение Владимир » 19 окт 2021, 18:05

AlexSpl писал(а):

Нашёл причину, почему путаются картинки View Air и View Earth.

Может быть, стоит просто перепаковать оригинальные ресурсы, как я уже делал для минипортретов существ?
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 19 окт 2021, 18:07

Я так и сделал. Просто поменял картинки в spells.def местами.
Вернуться к началу

offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

Re: Как создать плагин для HD мода

Сообщение Rolex » 19 окт 2021, 21:56

Цитата:
Сделал актуальную сборку. Новый код, новые ресурсы, описания на английском.

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

ini вижу остался старый... :smile7: Нужно еще сделать так, что если вдруг пользователь случайно удалил имеющийся ini, то чтобы он создавался автоматически с настройками по умолчанию.

Кстати, а нельзя ли на основе Fly и DD научить AI использовать Mobility хотя бы самым примитивным образом в самые важные/нужные моменты (например, нехвататет 100-300 MP, чтобы осадить город)?
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 20 окт 2021, 00:22

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

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

Цитата:
ini вижу остался старый... :smile7: Нужно еще сделать так, что если вдруг пользователь случайно удалил имеющийся ini, то чтобы он создавался автоматически с настройками по умолчанию.

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

Цитата:
Кстати, а нельзя ли на основе Fly и DD научить AI использовать Mobility хотя бы самым примитивным образом в самые важные/нужные моменты (например, нехвататет 100-300 MP, чтобы осадить город)?

Всё можно. Просто нужно время (и желание). Я вот после тестов разочаровался в оригинальном боевом AI Героев 3. Раньше казалось, что он умнее :smile1: Так что текущий AI для новых заклинаний не сильно плохо смотрится на общем фоне. Если переделывать, то сразу весь боевой, что, как я уже писал, требует тьму времени, и выходит за рамки нашего плагина :smile1: Т.е. нужен отдельный, улучшающий боевой AI в целом. Может, кто рискнёт когда-нибудь этой темой заняться. Я пока лезть туда не хочу.

Кстати, нашёл причину небезызвестного краша HD мода 0x4078D5 (и с ним связанных), возникающего после N-го рестарта карты. Дело, похоже, в _Wav_* loop_sounds[70]; // +584. Надеюсь, скоро починят. Поначалу связывал с нашим плагином, но тесты на чистых инсталляциях подтвердили, что мы ни при чём :smile1:
Вернуться к началу

offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

Re: Как создать плагин для HD мода

Сообщение Rolex » 20 окт 2021, 09:02

AlexSpl писал(а):

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

Я вот только что удалил ini и ... сюрпрайз. Все наши заклы стали заклами 1-го уровня стоимостью 5 маны. Правда на самом деле просто наши новые заклы заменили своими картинками, картинки заклов первого уровня. Например, при касте Death Cloud получаю Bless.

AlexSpl писал(а):

Просто сейчас думать об упаковке рановато. Лучше бы помогли тестить. Вдруг новые баги найдутся.

Когда будут исправленны 7 пунктов, котоыре я описал на предыдущей странице и добавлены 5 заклов, которые мы запланировали (картинки и анимации я постараюсь сделать на этой неделе), вот тогда и можно будет тестить его вдоль и поперек.

AlexSpl писал(а):

Я вот после тестов разочаровался в оригинальном боевом AI Героев 3. Раньше казалось, что он умнее :smile1: Так что текущий AI для новых заклинаний не сильно плохо смотрится на общем фоне. Если переделывать, то сразу весь боевой, что, как я уже писал, требует тьму времени, и выходит за рамки нашего плагина :smile1: Т.е. нужен отдельный, улучшающий боевой AI в целом. Может, кто рискнёт когда-нибудь этой темой заняться. Я пока лезть туда не хочу.

Ясно. А вот действительно было бы круто, если бы были исходники Героев. И набрать быть команду олимпиадников программистов-алгоритмистов, вот которые занимают призовые места на Facebook Hacker Cup, Google Code Jam, Yandex Algorithm можно было бы такой AI написать (не только боевой, а весь), что даже самым крутым онлайнщикам пришлось бы тяжко и было бы крайне интересно играть оффлайн против AI. Ведь за 20 лет уровень игры в Героев 3 очень сильно вырос, в то время как AI остался на том же уровне.

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

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 20 окт 2021, 09:54

Цитата:
Я вот только что удалил ini и ... сюрпрайз. Все наши заклы стали заклами 1-го уровня стоимостью 5 маны. Правда на самом деле просто наши новые заклы заменили своими картинками, картинки заклов первого уровня. Например, при касте Death Cloud получаю Bless.

Если бы Вы посмотрели код, это не стало бы сюрпризом :smile2:

Цитата:
Когда будут исправленны 7 пунктов, котоыре я описал на предыдущей странице и добавлены 5 заклов, которые мы запланировали (картинки и анимации я постараюсь сделать на этой неделе), вот тогда и можно будет тестить его вдоль и поперек.

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

Цитата:
Ведь за 20 лет уровень игры в Героев 3 очень сильно вырос, в то время как AI остался на том же уровне.

А против AI теперь и не играют.

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

Можете поэкспериментировать с функциями взвешивания.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 20 окт 2021, 15:51

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

1. Новым заклинаниям рандомно, а точнее, в результате чтения "мусора", может выставляться флаг "MUST appear". Особенно это заметно для 5-го уровня гильдии магов: на картах SoD генерируются только новые заклинания, причём повторяющиеся (обычно это Age, Death Blow или Drain Life), на картах AB - разные, что говорит о том, что флаг читается из "мусорных" байтов.
2. При игре по сети во время призыва существ происходит вылет 0x46A09C, предположительно, из-за способа, которым я разрешил призывать несколько разных существ одновременно.
Вернуться к началу

offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

Re: Как создать плагин для HD мода

Сообщение Rolex » 20 окт 2021, 17:21

AlexSpl писал(а):

Новым заклинаниям рандомно, а точнее, в результате чтения "мусора", может выставляться флаг "MUST appear".

А с чем это связано, что флаг читается из "мусорных" байтов?

AlexSpl писал(а):

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

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

Пред.След.

Вернуться в Общий раздел

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2