Объявления
Поздравляем
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 » 18 окт 2021, 20:34

Давайте попробуем. Хотя мне хочется нешаблонных парочку добавить, если честно. А то все какие-то на одно лицо. Ударные точно добавляем. Eye of the Magi (думаю, его стоит назвать по имени объекта) тоже. Behemoth's Claws и Rejuvenation я бы не спешил, хоть они и самые простые в реализации. Но если других вариантов не будет, то пускай будут.

Ударные однозначно идут в Огонь из-за анимации. Eye of the Magi - в Воздух. Нужно бы парочку водных добавить.
Вернуться к началу

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

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

Сообщение Rolex » 19 окт 2021, 07:30

AlexSpl писал(а):

Behemoth's Claws и Rejuvenation я бы не спешил, хоть они и самые простые в реализации. Но если других вариантов не будет, то пускай будут.

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

Изначально я сделаю (на днях) картинки к Eye of the Magi и двум ударным, которые пойдут в Огонь, а на выходных уже займусь анимациями для Behemoth's Claws и Rejuvenation.

1) Сейчас нужно ini привести в порядок, причесать, как я описал ЗДЕСЬ (угловые скобки, пробелы). Повыносить описания в отдельные ini (en и ru).

2) Поправить английское описание (добавить параметры заклинаний) и сделать описание на русском.

3) Разобраться с lod, чтобы все ресурсы, которые мы копируем сейчас в Common были в одном lod и подхвачивались из него, который будет в папке с плагином вместе с dll.

4) Сделать, чтобы у отрядов под Disease и Fear снижалась скорость анимации передвижения, как это сделано для Slow.

5) Поправить Death Blow (или Death Strike), проценты и порядок анимации для стрелков:
Rolex писал(а):

Все же для Death Blow лучше сделать следующие проценты по умолчанию: 40%/50%/60%. Как раз для 5-го уровня в самий раз.

Плюс поменять порядок проигрывания анимации для стрелков, потому как сейчас следующий порядок:

Для рукопашников: анимация Death Blow - анимация атакующего - анимация обороняющегося.
Для стрелков: анимация атакующего - анимация Death Blow - анимация обороняющегося.

Не помешало бы привести все к общему знаменателю. То есть для стрелков сделать порядок проигрывания анимации как у рукопашников.


6) Сделать фильтр сейвов, чтобы игроки вообще не смогли загрузить старые сейвы, которые приведут к вылету.

---

7) И самое главное - очень бы хотелось довести до ума AI. Ибо сейчас выбор закла AI среди новых оставляет желать лучшего. Просто абы как-нибудь кастовал не очень хорошо. Проект получился действительно крутым (вторым по крутости после SoD_SP среди плагинов к моду) и вот просто так забить на это не хотелось бы. Будет немало игроков, которые захотят поиграть с ним на одиночных картах и они будут явно недовольны тем, как AI использует новые заклы. AI итак не шибко умен, а тут еще и это.

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

То есть сейчас даже помимо новых заклов есть над чем работать. :smile1:
Вернуться к началу

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, 08:23

Цитата:
1) Сейчас нужно ini привести в порядок, причесать, как я описывал ЗДЕСЬ (угловые скобки, пробелы). Повыносить описания в отдельные ini (en и ru).

Если Вы погуглите формат ini-файла (на самом деле, нет официальной спецификации, однако), то увидите, что угловые скобки в названиях ключей не используются, как и не принято ставить пробелы до и после знака "=". А ещё ini-файл для машин, а не для людей. Его один раз настроил вручную и дальше он обновляется программно. У нас обновляться не будет, конечно, ибо незачем, но настраиваться будет тоже один раз: во время установки нужных моддеру параметров и описаний заклинаний. А "рядовой" игрок вообще туда лезть не должен.

Цитата:
3) Разобраться с lod, чтобы все ресурсы, которые мы копируем сейчас в Common были в одном lod и подхвачивались из него, который будет в папке с плагином вместе с dll.

Ещё б кто подсказал, как сделать так, чтобы у нашего LOD'а был приоритет над оригинальными LOD'ами, ведь мы не просто добавляем новые ресурсы, а заменяем некоторые своими.

Цитата:
4) Сделать, чтобы у отрядов под Disease и Fear снижалась скорость анимации передвижения, как это сделано для Slow.

Это было бы проще простого, если бы не взаимодействие с Haste. В оригинале Haste убирает Slow и всё просто. Нужно всё-таки глянуть Prayer (Молитву). Если скорость анимации отряда не увеличивается под Prayer, значит, и нам ничего менять не нужно. Если да, то нужно думать, как работать со скоростью анимации, когда у нас уже 5 заклинаний, влияющих на скорость отряда: Slow, Disease, Fear, Haste и Prayer. Лично я надеюсь, что Prayer не меняет скорость анимации. Потом проверю на связке Slow + Prayer.

Цитата:
Поправить Death Blow (или Death Strike), проценты и порядок анимации для стрелков:

Это можно, но я по-прежнему не очень за :smile1: У эффекта анимация холодного оружия, и поэтому Death Blow вообще не должен работать при стрелковой атаке.

Цитата:
6) Сделать фильтр сейвов, чтобы игроки вообще не смогли загрузить старые сейвы, которые приведут к вылету.

Фильтр добавлю.

Цитата:
7) И самое главное - очень бы хотелось довести до ума AI.

Это много работы, кроме написания самого кода AI (многое нужно реверсить). Самый очевидный косяк я поправил: запретил AI кастовать Drain Life на стрелков.

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

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

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

Сообщение Rolex » 19 окт 2021, 08:54

AlexSpl писал(а):

Если Вы погуглите формат ini-файла (на самом деле, нет официальной спецификации, однако), то увидите, что угловые скобки в названиях ключей не используются, как и не принято ставить пробелы до и после знака "=". А ещё ini-файл для машин, а не для людей. Его один раз настроил вручную и дальше он обновляется программно. У нас обновляться не будет, конечно, ибо незачем, но настраиваться будет тоже один раз: во время установки нужных моддеру параметров и описаний заклинаний. А "рядовой" игрок вообще туда лезть не должен.

В SoD_SP и HD mod пробелы есть и так лучше смотрится и легче воспринимается инфа. Угловые скобки есть в моде и в таком виде с ini очень приятно и комфортно работать. Если же мы выносим такое кол-во настроек в ini, то он должен выглядеть так, чтобы с ним было комфортно работать. А как там принято это неважно. Это же не сложно, да и недолго делать.

AlexSpl писал(а):

Ещё б кто подсказал, как сделать так, чтобы у нашего LOD'а был приоритет над оригинальными LOD'ами, ведь мы не просто добавляем новые ресурсы, а заменяем некоторые своими.

Может RoseKavalier подскажет в личке на HC. Ресурсы из SoD_SP.lod как-то же берутся. Хотя там, вроде, без замены.

AlexSpl писал(а):

Это можно, но я по-прежнему не очень за :smile1: У эффекта анимация холодного оружия, и поэтому Death Blow вообще не должен работать при стрелковой атаке.

Да, нужно привести анимацию в порядок. Ну раз Drain Life для лучников не работает, то хоть Death Blow должен, а то уж как-то сильно мы лучников обделяем.

Цитата:
Это много работы, кроме написания самого кода AI (многое нужно реверсить).

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

AlexSpl писал(а):

Самый очевидный косяк я поправил: запретил AI кастовать Drain Life на стрелков.

Значит и нам нужно запрещать кастовать на лучников (как нельзя наложить Забывчивость на рукопашников). Ибо сейчас мы можем наложить Drain Life на наших стрелков, только он все равно не срабатывает при стрельбе. Выходит мана в пустую расходуется.

AlexSpl писал(а):

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

Только вот если 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 » 19 окт 2021, 09:44

Цитата:
Только вот если AI будет бездарно использовать эти заклинания, толку от них будет мало.

Что значит бездарно? Вы встречали в сети подробное описание работы боевого AI Героев 3 хотя бы в части заклинаний? Никто не знает, как он работает, или не делятся, но факт в том, что инфы 0. Да, мы верим, конечно, что там не всё плохо. Так и у нас. Кастует? Да. Рандомно? Нет, взвешивает, как и остальные заклинания. А что ещё нужно для счастья? :smile2:

Цитата:
Значит и нам нужно запрещать кастовать на лучников (как нельзя наложить Забывчивость на рукопашников). Ибо сейчас мы можем наложить Drain Life на наших стрелков, только он все равно не срабатывает при стрельбе. Выходит мана в пустую расходуется.

Мы можем наложить на блокированных стрелков при желании.
Вернуться к началу

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

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

Сообщение Rolex » 19 окт 2021, 09:52

AlexSpl писал(а):

Что значит бездарно? Вы встречали в сети подробное описание работы боевого AI Героев 3 хотя бы в части заклинаний? Никто не знает, как он работает, или не делятся, но факт в том, что инфы 0.

Просто пару недель назад Вы писали, что после добавления заклов всерьез заметесь AI. Хотели его усилить в плане каста новых заклов. Как именно, только Вам известно. А вчера Вы написали, что передумали туда лезть.

AlexSpl писал(а):

Мы можем наложить на блокированных стрелков при желании.

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

***

Кстати, а как в MoP обстоят дела с кастом новых заклов 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 » 19 окт 2021, 10:14

Цитата:
Просто пару недель назад Вы писали, что после добавления заклов всерьез заметесь AI. Хотели его усилить в плане каста новых заклов. Как именно, только Вам известно. А вчера Вы написали, что передумали туда лезть.

Было бы меньше заклинаний, может быть, и попробовал усилить AI, а сейчас я просто от одного количества заклинаний устал :smile1: Можно попробовать усилить какое-то одно в качестве примера, но тогда же захочется второе, третье, а потом все :smile4: Это было бы ух как интересно лет 10 назад, но тогда ни инструментов нужных не было, ни опыта.

Цитата:
Ок. Отличная идея. Тогда на заблокированных наложить будет возможность, а на не заблокированных - нет.

Сейчас (я говорю о коде, который ещё не опубликован) AI проверяет просто, стрелок ли отряд, и если да, то исключает этот отряд из списка кандидатов на каст Drain Life. А теперь смотрите, сколько нужно всего ещё по Drain Life: если стрелок блокирован, нужно проверять, а есть ли у него штраф ближнего боя, и учитывать это в результирующем Value (по-хорошему, нужно оценивать вообще все модификаторы урона, т.к. от урона зависит профит от Drain Life); нужно проверять, а может ли он вообще дотянуться до отрядов, которыми можно восстанавливаться; не лучше ли кастануть Resurrection вместо Drain Life (но сколько примерно раундов осталось до конца боя? если уже почти победа, то лучше выбрать Resurrection, чтобы восстановить потери); и т.д. и т.п. Разве хочется во всё это лезть человеку, который почти не играет в Героев 3, да и вообще в Героев? :smile2:

Цитата:
Кстати, а как в MoP обстоят дела с кастом новых заклов AI. Что там в исходниках? Разрабы научили AI грамотно использовать добавленные заклы?

Это Вам задачка: определить эмпирическим путём, умеет ли AI в MoP кастовать новые заклинания, и если да, то кастует их так же хорошо, как оригинальные, хуже или лучше? :smile1:
Вернуться к началу

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

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

Сообщение Rolex » 19 окт 2021, 10:32

AlexSpl писал(а):

Было бы меньше заклинаний, может быть, и попробовал усилить AI, а сейчас я просто от одного количества заклинаний устал :smile1: Можно попробовать усилить какое-то одно в качестве примера, но тогда же захочется второе, третье, а потом все :smile4: Это было бы ух как интересно лет 10 назад, но тогда ни инструментов нужных не было, ни опыта.

Ну мы 5-ку добавим, а если с анимациями ничего не получится, то и вовсе 3-ку и будет у нас либо 14, либо 16 заклов и все. Больше ничего не добавляем, а потихоньку усиливаем уже добавленные. Сроки же никто не ставит. Да, с некоторыми заклами будет сложнее, а вот с ударными проще.

AlexSpl писал(а):

Разве хочется во всё это лезть человеку, который почти не играет в Героев 3, да и вообще в Героев?

Но при этом активно занимается моддингом Героев и много времени уделяет handbook. Да и когда-то играл очень активно, даже в турнирах участвовал. Кто его его знает, может через время опять начнет играть.

AlexSpl писал(а):

Это Вам задачка: определить эмпирическим путём, умеет ли AI в MoP кастовать новые заклинания, и если да, то кастует их так же хорошо, как оригинальные, хуже или лучше?

Проверить это непросто, но попробую как-нибудь. Просто хотелось от Вас услышать ответ исходя из исходного кода MoP. Чтобы хотя бы понимать лучше ли там AI кастует новые заклы, чем это происходит у нас. И делали ли разрабы с AI по добавленным заклам вообще хоть что-то.

Кстати, а Mobility 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 » 19 окт 2021, 10:53

Цитата:
Проверить это непросто, но попробую как-нибудь. Просто хотелось от Вас услышать ответ исходя из исходного кода MoP. Чтобы хотя бы понимать лучше ли там AI кастует новые заклы, чем это происходит у нас. И делали ли разрабы с AI по добавленным заклам вообще хоть что-то.

Кстати, а Mobility AI у нас кастует?

В том коде, который я успел посмотреть, упоминаний не видел. Я думал, Вы знакомы с MoP и можете оценить, какой там уровень AI при касте новых боевых заклинаний. Не думаю, что там всё хорошо: Вы только прикиньте, сколько это работы - выдать приемлемый AI на ассемблере.

Mobility не кастует (флаг 2 у нас для этого заклинания, если смотрели ini). А нужно ли? Если да, то когда? Каждый день максимальное кол-во раз при избытке маны, допустим. А когда маны мало? Как решить, нужно ли тратить её на 300 MP или оставить на бой? AI и так читер. Мне кажется, игроку будет до лампочки, прибавляет ли AI себе по 300 MP или нет. Это не так заметно, как каст боевых.

Кстати, лодки топить AI тоже не умеет, и никто пока не жаловался. Да и в бою он не все заклинания применяет. Если это исправленный вариант, то вот эти не может:

Цитата:
AI doesn't use the following spells: Scuttle Boat, Visions, View Earth, Disguise, View Air, Quicksand, Land Mine, Force Field, Fire Wall, Remove Obstacle.

Даже те заклы, которые AI умеет кастовать, он кастует, мягко говоря, не так, как хотелось бы. Вот из FizMiG'а:

Цитата:
У отрядов, уже сделавших ход, бит 0x544 все равно ненулевой, если в следующий ход они смогли бы нанести удар, хотя бы гипотетически. Зато отряд, который в данный момент должен ходить имеет данный бит равным нулю. Только перед началом битвы данный отряд иногда имеет бит равный 1. Именно поэтому ИИ не может наложить Жажду крови, Палача и др. на существо и сразу же пойти и ударить им.


* * *
Кстати, я пока не видел, чтобы AI кастовал из новых заклов Poison. Все остальные он кастует (я тестировал в автобое: AI vs AI с очень большими армиями; обоим героям доступна вся магия). Для Poison я взял оригинальную функцию взвешивания. Может быть, она возвращает слишком маленький вес? :smile5: А больше всего AI сейчас любит кастовать массовый Disease. Прямо бой с него начинает. Неплохо я ему Value подкрутил :smile1:
Вернуться к началу

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

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

Сообщение Rolex » 19 окт 2021, 12:17

AlexSpl писал(а):

А нужно ли? Если да, то когда? Каждый день максимальное кол-во раз при избытке маны, допустим. А когда маны мало? Как решить, нужно ли тратить её на 300 MP или оставить на бой?

Я думаю, что нужно. Когда, например, не хватает немного, чтобы захватить важный объект. Fly же и DD использует. Вот на их примере можно и Mobility сделать.
Вернуться к началу

Пред.След.

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

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

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

cron