Объявления

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

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

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

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

Сообщение Rolex » 24 апр 2021, 20:05

AlexSpl писал(а):

Минус в том, что если AI не хватает ресурсов для покупки хотя бы одного грейженого существа, он ничего не купит.

Это на самом деле такой не хилый минус, особенно в паре с плагином для накопления. А можно сделать сравнение по Fight_Value, кол-ва, которых AI может нанять по грейженным и не грейженным? Например, накопилось в жилище 5 Древних чудищ и 5 обычных Чудищ. В наличии 1 Кристалл и 30к Золота. То есть мы можем нанять 1 Древнее чудище и 5 обычных Чудищ. И в данном случае нам выгодно взять 5 обычных, особенно если рядом враг, который все это может взять себе.

Или если, например, накопилось приличное количество существ и AI не хвататет золота, чтобы купить последнего грейженного. Почему нельзя взять на 1 меньше, что ему мешает? Почему бы в этом случае не сравнивать по Fight_Value. Допустим, с накоплением, AI может нанять 19 Боевых Единорогов из 20 или просто 20 обычных Единорогов. В данном случае ему выгодней купить 19 Боевых (они сильнее 20 обычных).
Последний раз редактировалось Rolex 24 апр 2021, 20:09, всего редактировалось 2 раз(а).
Вернуться к началу

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 » 24 апр 2021, 20:08

Не умеет AI выбирать между грейдом и не грейдом во внешних жилищах (не научили). А в городе он умеет? Т.е. скупает негрейженые существа при наличии ул. здания?
Вернуться к началу

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

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

Сообщение Rolex » 24 апр 2021, 20:11

AlexSpl писал(а):

Не умеет AI выбирать между грейдом и не грейдом во внешних жилищах (не научили).

Вы бы могли научить его это делать? :smile1:

AlexSpl писал(а):

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

Это хороший вопрос, но точно не ко мне.
Вернуться к началу

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 » 24 апр 2021, 20:13

Цитата:
Вы бы могли научить его это делать?

Если он вообще не умеет, то нет (слишком много работы по реверсу алгоритмов AI). Если умеет в городе, то почему бы и нет.

Цитата:
Это хороший вопрос, но точно не ко мне.

Вы бы могли помочь протестировать. Например, дать компу город только с ул. жилищем 7-го уровня и не дать ему редкие ресурсы (и забрать рынок, естественно). Что он будет делать при приближении мощной армии игрока, когда у него хватает денег на покупку 100 Чудищ, но он не может купить ни одного Древнего Чудища? Купит ли он 100 Чудищ или сольётся?
Последний раз редактировалось AlexSpl 24 апр 2021, 20:19, всего редактировалось 2 раз(а).
Вернуться к началу

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

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

Сообщение Rolex » 24 апр 2021, 20:16

AlexSpl писал(а):

Если умеет в городе, то почему бы и нет.

Тогда остается проверить это. Если он умеет это делать в городе, то можно просто перенести этот алгоритм и в жилища. А если нет - то и фиг с ним, и так сойдет.
Вернуться к началу

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 » 24 апр 2021, 20:41

Короче, не удержался и проверил сам. Не умеет он скупать негрейженые существа, если есть альтернатива в виде грейженых. Дал компу Капитолий и Замок. Пришёл через несколько месяцев. Подождал ещё один для приличия перед замком. В итоге у него только 4 Древних Чудища, которых он сумел купить на стартовые ресурсы. Победил. В городе 22 невыкупленных :smile8:

Так что, плагин можно считать завершённым до тех пор, пока кто-нибудь не научит AI выбирать между улучшенными существами и неулучшенными. Чтобы не было обидно за AI, можно добавить неулучшенным существам 7-го уровня, которые стоят только золото, 1-ку ценного ресурса, если её нет.

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

offlineАватара пользователя
leiz  
Подмастерье
Подмастерье
 
Сообщения: 187
Зарегистрирован: 15 сен 2018, 07:58
Пол: Не указан
Поблагодарили: 95 раз.

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

Сообщение leiz » 25 апр 2021, 04:33

AlexSpl писал(а):

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


В RoE 1.3 (March 2000) в т.ч. и это "пофиксили":
Цитата:
Non-upgraded creatures can be recruited from an upgraded creature dwelling inside the town.

Поэтому "оригинальная игра" в карты под специфику RoE - это игра в RoE 1.1/1.2, а дальше она уже почти SOD.
Вернуться к началу

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

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

Сообщение Владимир » 25 апр 2021, 09:45

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

offlineАватара пользователя
leiz  
Подмастерье
Подмастерье
 
Сообщения: 187
Зарегистрирован: 15 сен 2018, 07:58
Пол: Не указан
Поблагодарили: 95 раз.

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

Сообщение leiz » 25 апр 2021, 14:52

Системам свойственно переусложняться и в конце-концов распадаться. Перефразирую А.О. Большакова: у разработчиков вполне может произойти разрушение целостности игровой системы как неожиданный результат поисков того, что может ее обновить. Тройка явно уже не вершина геройской серии, а немного ниже и уже с другой стороны склона. А где именно была вершина непонятно: лично мне сейчас кажется, что где-то между HoMM2 TSW и HoMM2 PoL, но точно также можно, в зависимости от личных вкусов, сдвигать ее ближе к Первым или к SoD.

PS: Если когда-нибудь захочется почитать на досуге чего-нибудь "экзотического", то рекомендую: https://www.academia.edu/891330/%D0%98%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D1%82%D0%B5%D0%BA%D1%81%D1%82_%D0%B8_%D1%81%D1%82%D0%B0%D1%80%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D1%8B_%D0%B2%D0%B7%D0%B3%D0%BB%D1%8F%D0%B4_%D0%B5%D0%B3%D0%B8%D0%BF%D1%82%D0%BE%D0%BB%D0%BE%D0%B3%D0%B0 Там всего 8 страничек, и на самом деле, как и другие хорошие работы по востоковедению, совсем не только про Египет, а еще и про джаз, импрессионизм, упадок культуры и даже про Тройку, хотя явным образом она там не упоминается.
Вернуться к началу

offlineАватара пользователя
void_17  
имя: имя
Ветеран
Ветеран
 
Сообщения: 548
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 132 раз.

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

Сообщение void_17 » 25 апр 2021, 15:36

AlexSpl писал(а):

Код: Выделить всё
    int BonusDamage = *(int*)(c->ebp - 0x10);
    int BasicDamage = *(int*)(c->ebp + 8);
    int LuckFlag = *(int*)(c->ebx + 0x70);


Поясните новичку, для чего делаются такие трюки? Почему нельзя было просто написать
Код: Выделить всё
    int BonusDamage = *(int*)(c->ebp);
    int BasicDamage = *(int*)(c->ebp);
    int LuckFlag = *(int*)(c->ebx);

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

Пред.След.

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

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

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

cron