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


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

Улучшение ИИ

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

Re: Улучшение ИИ

Сообщение Ben80 » 27 май 2020, 17:12

AlexSpl писал(а):

Я за документацию AI. Было бы интересно точно, а не приблизительно, понимать, что делает AI и где. Лучше всего, в первую очередь для того, чтобы самому разобраться, писать статьи. И тебе статья пригодится в дальнейшей работе, и интересующимся людям, далёким от реверсинга, почитать что будет.


Александр, ты это говоришь человеку, который ленится даже подправить что-то уже известное в homm3.h и использует указатели со смещением от основных структур. Пока что наиболее значимым источником знаний по ИИ является H3EraDbgmap.txt. Удивительно, насколько большую работу по ИИ провели в Хота, при том, что изменений ИИ в самой Хоте почти нет, есть в основном адаптации к новым механикам (например, новым возможностям магогов). Я иногда даже задумываюсь - если в Хоте так хорошо занимаются реверсингом, может не все там настолько ужасно, как мне кажется ? :smile12:

AlexSpl писал(а):

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


Не умаляя твоих заслуг - в принципе достаточно посмотреть на название из H3EraDbgmap.txt, чтобы многое стало ясно (AI_GetSkill_ToLearn_Value_sub_524B70).
Или по вопросам, которые Анатолий озвучивает - из названия AI_Hero_UseTownPossibilities_sub_5258B0 уже многое ясно.
Вернуться к началу

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: Улучшение ИИ

Сообщение AlexSpl » 27 май 2020, 17:32

Цитата:
Я иногда даже задумываюсь - если в Хоте так хорошо занимаются реверсингом, может не все там настолько ужасно, как мне кажется ?

У HotA Crew всё хорошо. Ребята подходят к работе профессионально. Я доверяю им и считаю HotA "самым классическим дополнением".

Цитата:
Не умаляя твоих заслуг - в принципе достаточно посмотреть на название из H3EraDbgmap.txt, чтобы многое стало ясно (AI_GetSkill_ToLearn_Value_sub_524B70).
Или по вопросам, которые Анатолий озвучивает - из названия AI_Hero_UseTownPossibilities_sub_5258B0 уже многое ясно.

Да, но дело в том, что когда-то я начинал, даже не имея базы WoG и декопмилятора. Читал чистый asm-код. It's not the rocket science, как пишут ребята из Hex-Rays :smile2: Ты почитай старые темы на DF2. Каких, казалось бы, примитивных вещей тогда не знали. Это сейчас раздолье. Сейчас не в почёте брейкпоинты даже.

А по Героям 1 вообще ничего нет...

 Challenge для Ben80
Сможешь получить указатель на порядок вторичных навыков в HotA? :smile2: Ладно, это слишком просто. Сможешь получить указатель на структуру, где хранятся фишки новой Дипломатии?
Вернуться к началу

offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

Re: Улучшение ИИ

Сообщение Ben80 » 27 май 2020, 18:14

Думаю, что смог бы, но Хота меня как бы вообще не притягивает.
И моддингом я сейчас чисто морально не могу заниматься так, как раньше. Раньше мог несколько месяцев плотно заниматься, а сейчас - максимум 2 месяца, после чего необходим солидный перерыв.
И характер моддинговой работы у меня как бы такой "оффлайновый", мне всегда необходима раскачка какая-то и тд. Даже удивляюсь, как я с вами в самом начале по сути онлайн что-то исследовал (когда Disguise делали и тд).
Вернуться к началу

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: Улучшение ИИ

Сообщение AlexSpl » 27 май 2020, 18:20

Как получает указатель LMOracle:

Код: Выделить всё
if SubVer = SV_HotA then
      begin
        TempAddr := RPM_DWORD(RPM_DWORD(RPM_DWORD(H3Addr[ADDR_GAMEMGR, SV_HotA]) + $4E7D0) + $1C) + Obj_N shl 5 - Obj_N;

        // MainForm.Caption := IntToHex(TempAddr, 8);

        NeuN := RPM_DWORD(TempAddr);
        XX := RPM_DWORD(TempAddr + 8);
        RMGDiploFlag := RPM_BYTE(TempAddr + $12) = 1;
        HotA_JoinPercentage := RPM_SBYTE(TempAddr + $13);
        HotA_StackUpg := RPM_SBYTE(TempAddr + $17);
        HotA_StackN := RPM_SBYTE(TempAddr + $1B);
      end else
      begin
        NeuN := Obj_N and $0FFF;
        XX := sar(Obj_N shl $0F, $1B);
      end;
Вернуться к началу

offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

Re: Улучшение ИИ

Сообщение Ben80 » 27 май 2020, 18:21

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

offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

Re: Улучшение ИИ

Сообщение Ben80 » 27 май 2020, 18:22

А почему на Delphi код приводите. Потому что Оракул ? ))
(надеюсь, юмор понятен)
Вернуться к началу

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: Улучшение ИИ

Сообщение AlexSpl » 27 май 2020, 18:27

Это понятно, что интересы разные. Я не знаю, как научить видеть героев "сквозь" монстров. Но я не об этом. А о том, что не всегда можно рассчитывать на работу других реверсеров.

Цитата:
А почему на Delphi код приводите. Потому что Оракул ? ))
(надеюсь, юмор понятен)

Ben80, этой программе уже 12 лет почти :smile5: И там около 20000 строк кода... Естественно, я бы не взялся за перенос её на C++.
Вернуться к началу

offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

Re: Улучшение ИИ

Сообщение Ben80 » 27 май 2020, 18:35

AlexSpl писал(а):

А о том, что не всегда можно рассчитывать на работу других реверсеров.


Согласен. Извините меня, если что :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: Улучшение ИИ

Сообщение AlexSpl » 27 май 2020, 18:53

Да, а наша версия Disguise после доработки, конечно, достойна быть в HotA. Только паровоз ушёл. И такого рода блеф слишком крут :smile2: По крайней мере, не за ту ману. Disguise при нашей реализации должен стоить от 20.
Вернуться к началу

offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

Re: Улучшение ИИ

Сообщение Ben80 » 27 май 2020, 19:03

Вот как раз в этом плане, я думаю, вы не совсем правы - вам ли с вашими талантами мечтать о том, чтобы какой-то ваш код был принят в другом моде ?
В себя надо верить, Александр, а не в Хоты всякие :smile1:
Вернуться к началу

Пред.След.

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

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

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